diff options
Diffstat (limited to 'src/gui/text/qrawfont.h')
-rw-r--r-- | src/gui/text/qrawfont.h | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/gui/text/qrawfont.h b/src/gui/text/qrawfont.h index 9a8af41437..eb84a8fee7 100644 --- a/src/gui/text/qrawfont.h +++ b/src/gui/text/qrawfont.h @@ -53,8 +53,6 @@ #if !defined(QT_NO_RAWFONT) -QT_BEGIN_HEADER - QT_BEGIN_NAMESPACE @@ -67,6 +65,13 @@ public: SubPixelAntialiasing }; + enum LayoutFlag { + SeparateAdvances = 0, + KernedAdvances = 1, + UseDesignMetrics = 2 + }; + Q_DECLARE_FLAGS(LayoutFlags, LayoutFlag) + QRawFont(); QRawFont(const QString &fileName, qreal pixelSize, @@ -95,8 +100,10 @@ public: QVector<quint32> glyphIndexesForString(const QString &text) const; inline QVector<QPointF> advancesForGlyphIndexes(const QVector<quint32> &glyphIndexes) const; + inline QVector<QPointF> advancesForGlyphIndexes(const QVector<quint32> &glyphIndexes, LayoutFlags layoutFlags) const; bool glyphIndexesForChars(const QChar *chars, int numChars, quint32 *glyphIndexes, int *numGlyphs) const; bool advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *advances, int numGlyphs) const; + bool advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *advances, int numGlyphs, LayoutFlags layoutFlags) const; QImage alphaMapForGlyph(quint32 glyphIndex, AntialiasingType antialiasingType = SubPixelAntialiasing, @@ -147,17 +154,22 @@ private: Q_DECLARE_SHARED(QRawFont) -inline QVector<QPointF> QRawFont::advancesForGlyphIndexes(const QVector<quint32> &glyphIndexes) const +Q_DECLARE_OPERATORS_FOR_FLAGS(QRawFont::LayoutFlags) + +inline QVector<QPointF> QRawFont::advancesForGlyphIndexes(const QVector<quint32> &glyphIndexes, QRawFont::LayoutFlags layoutFlags) const { QVector<QPointF> advances(glyphIndexes.size()); - if (advancesForGlyphIndexes(glyphIndexes.constData(), advances.data(), glyphIndexes.size())) + if (advancesForGlyphIndexes(glyphIndexes.constData(), advances.data(), glyphIndexes.size(), layoutFlags)) return advances; return QVector<QPointF>(); } -QT_END_NAMESPACE +inline QVector<QPointF> QRawFont::advancesForGlyphIndexes(const QVector<quint32> &glyphIndexes) const +{ + return advancesForGlyphIndexes(glyphIndexes, QRawFont::SeparateAdvances); +} -QT_END_HEADER +QT_END_NAMESPACE #endif // QT_NO_RAWFONT |