Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qfontmetrics.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QFONTMETRICS_H
5#define QFONTMETRICS_H
6
7#include <QtGui/qtguiglobal.h>
8#include <QtGui/qfont.h>
9#ifndef QT_INCLUDE_COMPAT
10#include <QtCore/qrect.h>
11#endif
12
14
15class QRect;
16class QTextOption;
17
18class Q_GUI_EXPORT QFontMetrics
19{
20public:
21 explicit QFontMetrics(const QFont &);
22 QFontMetrics(const QFont &font, const QPaintDevice *pd);
25
26 QFontMetrics &operator=(const QFontMetrics &);
27 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QFontMetrics)
28
29 void swap(QFontMetrics &other) noexcept
30 { d.swap(other.d); }
31
32 int ascent() const;
33 int capHeight() const;
34 int descent() const;
35 int height() const;
36 int leading() const;
37 int lineSpacing() const;
38 int minLeftBearing() const;
39 int minRightBearing() const;
40 int maxWidth() const;
41
42 int xHeight() const;
43 int averageCharWidth() const;
44
45 bool inFont(QChar) const;
46 bool inFontUcs4(uint ucs4) const;
47
48 int leftBearing(QChar) const;
49 int rightBearing(QChar) const;
50
51 int horizontalAdvance(const QString &, int len = -1) const;
52 int horizontalAdvance(const QString &, const QTextOption &textOption) const;
53 int horizontalAdvance(QChar) const;
54
56
57 QRect boundingRect(const QString &text) const;
58 QRect boundingRect(const QString &text, const QTextOption &textOption) const;
59 QRect boundingRect(const QRect &r, int flags, const QString &text, int tabstops = 0, int *tabarray = nullptr) const;
60 inline QRect boundingRect(int x, int y, int w, int h, int flags, const QString &text,
61 int tabstops = 0, int *tabarray = nullptr) const
62 { return boundingRect(QRect(x, y, w, h), flags, text, tabstops, tabarray); }
63 QSize size(int flags, const QString& str, int tabstops = 0, int *tabarray = nullptr) const;
64
65 QRect tightBoundingRect(const QString &text) const;
66 QRect tightBoundingRect(const QString &text, const QTextOption &textOption) const;
67
68 QString elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0) const;
69
70 int underlinePos() const;
71 int overlinePos() const;
72 int strikeOutPos() const;
73 int lineWidth() const;
74
75 qreal fontDpi() const;
76
77 bool operator==(const QFontMetrics &other) const;
78 inline bool operator !=(const QFontMetrics &other) const { return !operator==(other); }
79
80private:
81 friend class QFontMetricsF;
82 friend class QStackTextEngine;
83
85};
86
87Q_DECLARE_SHARED(QFontMetrics)
88
89class Q_GUI_EXPORT QFontMetricsF
90{
91public:
92 explicit QFontMetricsF(const QFont &font);
93 QFontMetricsF(const QFont &font, const QPaintDevice *pd);
97
98 QFontMetricsF &operator=(const QFontMetricsF &);
99 QFontMetricsF &operator=(const QFontMetrics &);
100 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QFontMetricsF)
101
102 void swap(QFontMetricsF &other) noexcept { d.swap(other.d); }
103
104 qreal ascent() const;
105 qreal capHeight() const;
106 qreal descent() const;
107 qreal height() const;
108 qreal leading() const;
109 qreal lineSpacing() const;
110 qreal minLeftBearing() const;
111 qreal minRightBearing() const;
112 qreal maxWidth() const;
113
114 qreal xHeight() const;
115 qreal averageCharWidth() const;
116
117 bool inFont(QChar) const;
118 bool inFontUcs4(uint ucs4) const;
119
120 qreal leftBearing(QChar) const;
121 qreal rightBearing(QChar) const;
122
123 qreal horizontalAdvance(const QString &string, int length = -1) const;
124 qreal horizontalAdvance(QChar) const;
125 qreal horizontalAdvance(const QString &string, const QTextOption &textOption) const;
126
127 QRectF boundingRect(const QString &string) const;
128 QRectF boundingRect(const QString &text, const QTextOption &textOption) const;
130 QRectF boundingRect(const QRectF &r, int flags, const QString& string, int tabstops = 0, int *tabarray = nullptr) const;
131 QSizeF size(int flags, const QString& str, int tabstops = 0, int *tabarray = nullptr) const;
132
133 QRectF tightBoundingRect(const QString &text) const;
134 QRectF tightBoundingRect(const QString &text, const QTextOption &textOption) const;
135
137
138 qreal underlinePos() const;
139 qreal overlinePos() const;
140 qreal strikeOutPos() const;
141 qreal lineWidth() const;
142
143 qreal fontDpi() const;
144
145 bool operator==(const QFontMetricsF &other) const;
146 inline bool operator !=(const QFontMetricsF &other) const { return !operator==(other); }
147
148private:
150};
151
152Q_DECLARE_SHARED(QFontMetricsF)
153
155
156#endif // QFONTMETRICS_H
\inmodule QtCore
Definition qchar.h:48
\reentrant \inmodule QtGui
\reentrant \inmodule QtGui
QRect boundingRect(int x, int y, int w, int h, int flags, const QString &text, int tabstops=0, int *tabarray=nullptr) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
\reentrant
Definition qfont.h:20
\inmodule QtCore\reentrant
Definition qrect.h:483
\inmodule QtCore\reentrant
Definition qrect.h:30
\inmodule QtCore
Definition qsize.h:207
\inmodule QtCore
Definition qsize.h:25
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
QString elidedText(Qt::TextElideMode mode, QFixed width, int flags=0, int from=0, int count=-1) const
\reentrant
Definition qtextoption.h:18
QString str
[2]
QString text
Combined button and popup list for selecting options.
TextElideMode
Definition qnamespace.h:187
constexpr bool operator!=(const timespec &t1, const timespec &t2)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
GLint GLint GLint GLint GLint x
[0]
GLenum mode
GLfloat GLfloat GLfloat w
[0]
GLint GLsizei GLsizei height
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLboolean r
[2]
GLenum GLuint GLenum GLsizei length
GLint GLsizei width
GLbitfield flags
GLint y
GLfloat GLfloat GLfloat GLfloat h
GLenum GLsizei len
static const QRectF boundingRect(const QPointF *points, int pointCount)
bool operator==(const QRandomGenerator &rng1, const QRandomGenerator &rng2)
Definition qrandom.cpp:1219
unsigned int uint
Definition qtypes.h:29
double qreal
Definition qtypes.h:92
QSharedPointer< T > other(t)
[5]