7#include <QtGui/qtguiglobal.h>
8#include <QtGui/qfont.h>
10#ifndef QT_INCLUDE_COMPAT
11#include <QtCore/qrect.h>
13#include <QtCore/qshareddata.h>
23 explicit QFontMetrics(
const QFont &);
24 QFontMetrics(
const QFont &font,
const QPaintDevice *pd);
25 QFontMetrics(
const QFontMetrics &);
28 QFontMetrics &operator=(
const QFontMetrics &);
29 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QFontMetrics)
31 void swap(QFontMetrics &other)
noexcept
35 int capHeight()
const;
39 int lineSpacing()
const;
40 int minLeftBearing()
const;
41 int minRightBearing()
const;
45 int averageCharWidth()
const;
47 bool inFont(QChar)
const;
48 bool inFontUcs4(uint ucs4)
const;
50 int leftBearing(QChar)
const;
51 int rightBearing(QChar)
const;
53 int horizontalAdvance(
const QString &,
int len = -1)
const;
54 int horizontalAdvance(
const QString &,
const QTextOption &textOption)
const;
55 int horizontalAdvance(QChar)
const;
57 QRect boundingRect(QChar)
const;
59 QRect boundingRect(
const QString &text)
const;
60 QRect boundingRect(
const QString &text,
const QTextOption &textOption)
const;
61 QRect boundingRect(
const QRect &r,
int flags,
const QString &text,
int tabstops = 0,
int *tabarray =
nullptr)
const;
62 inline QRect boundingRect(
int x,
int y,
int w,
int h,
int flags,
const QString &text,
63 int tabstops = 0,
int *tabarray =
nullptr)
const
64 {
return boundingRect(QRect(x, y, w, h), flags, text, tabstops, tabarray); }
65 QSize size(
int flags,
const QString& str,
int tabstops = 0,
int *tabarray =
nullptr)
const;
67 QRect tightBoundingRect(
const QString &text)
const;
68 QRect tightBoundingRect(
const QString &text,
const QTextOption &textOption)
const;
70 QString elidedText(
const QString &text, Qt::TextElideMode mode,
int width,
int flags = 0)
const;
72 int underlinePos()
const;
73 int overlinePos()
const;
74 int strikeOutPos()
const;
75 int lineWidth()
const;
77 qreal fontDpi()
const;
79 bool operator==(
const QFontMetrics &other)
const;
80 inline bool operator !=(
const QFontMetrics &other)
const {
return !operator==(other); }
83 friend class QFontMetricsF;
84 friend class QStackTextEngine;
86 QExplicitlySharedDataPointer<QFontPrivate> d;
94 explicit QFontMetricsF(
const QFont &font);
95 QFontMetricsF(
const QFont &font,
const QPaintDevice *pd);
96 QFontMetricsF(
const QFontMetrics &);
97 QFontMetricsF(
const QFontMetricsF &);
100 QFontMetricsF &operator=(
const QFontMetricsF &);
101 QFontMetricsF &operator=(
const QFontMetrics &);
102 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QFontMetricsF)
104 void swap(QFontMetricsF &other)
noexcept { d.swap(other.d); }
106 qreal ascent()
const;
107 qreal capHeight()
const;
108 qreal descent()
const;
109 qreal height()
const;
110 qreal leading()
const;
111 qreal lineSpacing()
const;
112 qreal minLeftBearing()
const;
113 qreal minRightBearing()
const;
114 qreal maxWidth()
const;
116 qreal xHeight()
const;
117 qreal averageCharWidth()
const;
119 bool inFont(QChar)
const;
120 bool inFontUcs4(uint ucs4)
const;
122 qreal leftBearing(QChar)
const;
123 qreal rightBearing(QChar)
const;
125 qreal horizontalAdvance(
const QString &string,
int length = -1)
const;
126 qreal horizontalAdvance(QChar)
const;
127 qreal horizontalAdvance(
const QString &string,
const QTextOption &textOption)
const;
129 QRectF boundingRect(
const QString &string)
const;
130 QRectF boundingRect(
const QString &text,
const QTextOption &textOption)
const;
131 QRectF boundingRect(QChar)
const;
132 QRectF boundingRect(
const QRectF &r,
int flags,
const QString& string,
int tabstops = 0,
int *tabarray =
nullptr)
const;
133 QSizeF size(
int flags,
const QString& str,
int tabstops = 0,
int *tabarray =
nullptr)
const;
135 QRectF tightBoundingRect(
const QString &text)
const;
136 QRectF tightBoundingRect(
const QString &text,
const QTextOption &textOption)
const;
138 QString elidedText(
const QString &text, Qt::TextElideMode mode, qreal width,
int flags = 0)
const;
140 qreal underlinePos()
const;
141 qreal overlinePos()
const;
142 qreal strikeOutPos()
const;
143 qreal lineWidth()
const;
145 qreal fontDpi()
const;
147 bool operator==(
const QFontMetricsF &other)
const;
148 inline bool operator !=(
const QFontMetricsF &other)
const {
return !operator==(other); }
151 QExplicitlySharedDataPointer<QFontPrivate> d;
\reentrant \inmodule QtGui
\reentrant \inmodule QtGui
const quint64 PseudoClass_Unknown
const quint64 PseudoClass_Floatable
const quint64 PseudoClass_Movable
const quint64 PseudoClass_Children
const quint64 PseudoClass_Disabled
const quint64 PseudoClass_Sibling
const quint64 PseudoClass_ReadOnly
const quint64 PseudoClass_Closed
const quint64 PseudoClass_Maximized
const quint64 PseudoClass_Default
const quint64 PseudoClass_Bottom
const quint64 PseudoClass_EditFocus
const quint64 PseudoClass_Focus
const quint64 PseudoClass_Enabled
const quint64 PseudoClass_Editable
const quint64 PseudoClass_Vertical
const quint64 PseudoClass_Flat
const quint64 PseudoClass_NonExclusive
const quint64 PseudoClass_Pressed
const quint64 PseudoClass_Item
const quint64 PseudoClass_Alternate
const quint64 PseudoClass_PreviousSelected
const quint64 PseudoClass_Closable
const quint64 PseudoClass_Horizontal
const quint64 PseudoClass_Off
const quint64 PseudoClass_Active
const quint64 PseudoClass_NextSelected
@ StyleFeature_BackgroundGradient
@ StyleFeature_BackgroundColor
const quint64 PseudoClass_Open
const quint64 PseudoClass_Frameless
const quint64 PseudoClass_Checked
const quint64 PseudoClass_Any
const quint64 PseudoClass_Selected
const quint64 PseudoClass_Right
@ OutlineBottomRightRadius
@ BorderBottomRightRadius
@ OutlineBottomLeftRadius
@ QtForegroundTextureCacheKey
const quint64 PseudoClass_Window
const quint64 PseudoClass_Minimized
@ StyleSheetOrigin_UserAgent
@ StyleSheetOrigin_Author
@ StyleSheetOrigin_Unspecified
@ StyleSheetOrigin_Inline
const quint64 PseudoClass_On
const quint64 PseudoClass_Unspecified
const quint64 PseudoClass_Unchecked
const quint64 PseudoClass_First
const quint64 PseudoClass_Indeterminate
const quint64 PseudoClass_Middle
const quint64 PseudoClass_Top
const quint64 PseudoClass_Hover
const quint64 PseudoClass_Left
const quint64 PseudoClass_Last
const quint64 PseudoClass_OnlyOne
const quint64 PseudoClass_Exclusive
static void setTextDecorationFromValues(const QList< QCss::Value > &values, QFont *font)
static bool operator<(const QString &name, const QCssKnownValue &prop)
static constexpr QCssKnownValue positions[]
static void removeOptionalQuotes(QString *str)
static constexpr QCssKnownValue repeats[]
static bool setFontFamilyFromValues(const QList< QCss::Value > &values, QFont *font, int start=0)
static bool setFontWeightFromValue(const QCss::Value &value, QFont *font)
static int lengthValueFromData(const LengthData &data, const QFont &f)
static bool operator<(const QCssKnownValue &prop, const QString &name)
static void setTextTransformFromValue(const QCss::Value &value, QFont *font)
static bool setFontSizeFromValue(QCss::Value value, QFont *font, int *fontSizeAdjustment)
static constexpr QCssKnownValue tileModes[]
static bool setFontStyleFromValue(const QCss::Value &value, QFont *font)
static ColorData parseColorValue(QCss::Value v)
static BorderStyle parseStyleValue(const QCss::Value &v)
static void setFontVariantFromValue(const QCss::Value &value, QFont *font)
static bool intValueHelper(const QCss::Value &v, int *i, const char *unit)
static quint64 findKnownValue(const QString &name, const QCssKnownValue *start, int numValues)
static Qt::Alignment parseAlignment(const QCss::Value *values, int count)
static constexpr QCssKnownValue styleFeatures[]
static constexpr QCssKnownValue properties[]
static void setLetterSpacingFromValue(const QCss::Value &value, QFont *font)
static BrushData parseBrushValue(const QCss::Value &v, const QPalette &pal)
static bool isHexDigit(const char c)
static bool isInheritable(Property propertyId)
static constexpr uchar indexOfId[]
static constexpr QCssKnownValue pseudos[]
static bool setFontKerningFromValue(const QCss::Value &value, QFont *font)
static void parseShorthandBackgroundProperty(const QList< QCss::Value > &values, BrushData *brush, QString *image, Repeat *repeat, Qt::Alignment *alignment, const QPalette &pal)
static constexpr QCssKnownValue attachments[]
#define CHECK_ARRAY_IS_SORTED(array, Num)
static void parseShorthandFontProperty(const QList< QCss::Value > &values, QFont *font, int *fontSizeAdjustment)
static QBrush brushFromData(const BrushData &c, const QPalette &pal)
static void setWordSpacingFromValue(const QCss::Value &value, QFont *font)
static constexpr QCssKnownValue values[]
static constexpr QCssKnownValue origins[]
static QColor colorFromData(const ColorData &c, const QPalette &pal)
#define QT_CSS_DECLARE_TYPEINFO(Class, Type)
constexpr bool operator()(const QCssKnownValue &lhs, const QCssKnownValue &rhs) const noexcept
QList< Declaration > declarations
QList< AnimationRuleSet > ruleSets
ValueMatchType valueMatchCriterium
@ MatchNextSelectorIfDirectAdjecent
@ MatchNextSelectorIfIndirectAdjecent
@ MatchNextSelectorIfParent
@ MatchNextSelectorIfAncestor
QList< AttributeSelector > attributeSelectors
BrushData(QPalette::ColorRole r)
BrushData(const QBrush &br)
ColorData(const QColor &col)
ColorData(QPalette::ColorRole r)
QList< Selector > selectors
QList< Declaration > declarations
QList< StyleRule > styleRules
QList< MediaRule > mediaRules
QList< AnimationRule > animationRules
Q_GUI_EXPORT void buildIndexes(Qt::CaseSensitivity nameCaseSensitivity=Qt::CaseSensitive)
QMultiHash< QString, StyleRule > idIndex
QMultiHash< QString, StyleRule > nameIndex
QList< ImportRule > importRules
QList< PageRule > pageRules