This file is indexed.

/usr/include/qwt-qt4/qwt_text_engine.h is in libqwt5-qt4-dev 5.2.2-1ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
 * Qwt Widget Library
 * Copyright (C) 1997   Josef Wilgen
 * Copyright (C) 2003   Uwe Rathmann
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the Qwt License, Version 1.0
 *****************************************************************************/

// vim: expandtab

#ifndef QWT_TEXT_ENGINE_H
#define QWT_TEXT_ENGINE_H 1

#include <qsize.h>
#include "qwt_global.h"

class QFont;
class QRect;
class QString;
class QPainter;

/*! 
  \brief Abstract base class for rendering text strings

  A text engine is responsible for rendering texts for a
  specific text format. They are used by QwtText to render a text. 

  QwtPlainTextEngine and QwtRichTextEngine are part of the Qwt library. 

  QwtMathMLTextEngine can be found in Qwt MathML extension, that
  needs the MathML renderer of the Qt solutions package. Unfortunately
  it is only available with a commercial Qt license.

  \sa QwtText::setTextEngine()
*/

class QWT_EXPORT QwtTextEngine
{
public:
    virtual ~QwtTextEngine();

    /*!
      Find the height for a given width

      \param font Font of the text
      \param flags Bitwise OR of the flags used like in QPainter::drawText
      \param text Text to be rendered
      \param width Width 

      \return Calculated height
     */
    virtual int heightForWidth(const QFont &font, int flags, 
        const QString &text, int width) const = 0;

    /*!
      Returns the size, that is needed to render text

      \param font Font of the text
      \param flags Bitwise OR of the flags like in for QPainter::drawText
      \param text Text to be rendered

      \return Caluclated size
     */
    virtual QSize textSize(const QFont &font, int flags,
        const QString &text) const = 0;

    /*! 
      Test if a string can be rendered by this text engine

      \param text Text to be tested
      \return true, if it can be rendered
     */
    virtual bool mightRender(const QString &text) const = 0;

    /*!
      Return margins around the texts

      The textSize might include margins around the 
      text, like QFontMetrics::descent. In situations
      where texts need to be aligend in detail, knowing
      these margins might improve the layout calculations.

      \param font Font of the text
      \param text Text to be rendered
      \param left Return value for the left margin
      \param right Return value for the right margin
      \param top Return value for the top margin
      \param bottom Return value for the bottom margin
     */
    virtual void textMargins(const QFont &font, const QString &text,
        int &left, int &right, int &top, int &bottom) const = 0;

    /*!
      Draw the text in a clipping rectangle

      \param painter Painter
      \param rect Clipping rectangle
      \param flags Bitwise OR of the flags like in for QPainter::drawText
      \param text Text to be rendered
     */ 
    virtual void draw(QPainter *painter, const QRect &rect,
        int flags, const QString &text) const = 0;

protected:
    QwtTextEngine();
};


/*!
  \brief A text engine for plain texts

  QwtPlainTextEngine renders texts using the basic Qt classes
  QPainter and QFontMetrics. 
*/
class QWT_EXPORT QwtPlainTextEngine: public QwtTextEngine
{
public:
    QwtPlainTextEngine();
    virtual ~QwtPlainTextEngine();

    virtual int heightForWidth(const QFont &font, int flags, 
        const QString &text, int width) const;

    virtual QSize textSize(const QFont &font, int flags,
        const QString &text) const;

    virtual void draw(QPainter *painter, const QRect &rect,
        int flags, const QString &text) const;

    virtual bool mightRender(const QString &) const;

    virtual void textMargins(const QFont &, const QString &,
        int &left, int &right, int &top, int &bottom) const;

private:
    class PrivateData; 
    PrivateData *d_data;
};


#ifndef QT_NO_RICHTEXT

/*!
  \brief A text engine for Qt rich texts

  QwtRichTextEngine renders Qt rich texts using the classes
  of the Scribe framework of Qt.
*/
class QWT_EXPORT QwtRichTextEngine: public QwtTextEngine
{
public:
    QwtRichTextEngine();

    virtual int heightForWidth(const QFont &font, int flags, 
        const QString &text, int width) const;

    virtual QSize textSize(const QFont &font, int flags,
        const QString &text) const;

    virtual void draw(QPainter *painter, const QRect &rect,
        int flags, const QString &text) const;

    virtual bool mightRender(const QString &) const;

    virtual void textMargins(const QFont &, const QString &,
        int &left, int &right, int &top, int &bottom) const;
private:
    QString taggedText(const QString &, int flags) const;
};

#endif // !QT_NO_RICHTEXT

#endif