QtBase
v6.3.1
src
gui
text
qglyphrun.h
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** Copyright (C) 2016 The Qt Company Ltd.
4
** Contact: https://www.qt.io/licensing/
5
**
6
** This file is part of the QtGui module of the Qt Toolkit.
7
**
8
** $QT_BEGIN_LICENSE:LGPL$
9
** Commercial License Usage
10
** Licensees holding valid commercial Qt licenses may use this file in
11
** accordance with the commercial license agreement provided with the
12
** Software or, alternatively, in accordance with the terms contained in
13
** a written agreement between you and The Qt Company. For licensing terms
14
** and conditions see https://www.qt.io/terms-conditions. For further
15
** information use the contact form at https://www.qt.io/contact-us.
16
**
17
** GNU Lesser General Public License Usage
18
** Alternatively, this file may be used under the terms of the GNU Lesser
19
** General Public License version 3 as published by the Free Software
20
** Foundation and appearing in the file LICENSE.LGPL3 included in the
21
** packaging of this file. Please review the following information to
22
** ensure the GNU Lesser General Public License version 3 requirements
23
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24
**
25
** GNU General Public License Usage
26
** Alternatively, this file may be used under the terms of the GNU
27
** General Public License version 2.0 or (at your option) the GNU General
28
** Public license version 3 or any later version approved by the KDE Free
29
** Qt Foundation. The licenses are as published by the Free Software
30
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31
** included in the packaging of this file. Please review the following
32
** information to ensure the GNU General Public License requirements will
33
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34
** https://www.gnu.org/licenses/gpl-3.0.html.
35
**
36
** $QT_END_LICENSE$
37
**
38
****************************************************************************/
39
40
#ifndef QGLYPHRUN_H
41
#define QGLYPHRUN_H
42
43
#include <QtGui/qtguiglobal.h>
44
#include <QtCore/qlist.h>
45
#include <QtCore/qpoint.h>
46
#include <QtCore/qsharedpointer.h>
47
#include <QtGui/qrawfont.h>
48
49
#if !defined(QT_NO_RAWFONT)
50
51
QT_BEGIN_NAMESPACE
52
53
54
class
QGlyphRunPrivate
;
55
class
Q_GUI_EXPORT
QGlyphRun
56
{
57
public
:
58
enum
GlyphRunFlag
{
59
Overline = 0x01,
60
Underline = 0x02,
61
StrikeOut = 0x04,
62
RightToLeft
= 0x08,
63
SplitLigature = 0x10
64
};
65
Q_DECLARE_FLAGS
(GlyphRunFlags, GlyphRunFlag)
66
67
QGlyphRun
();
68
QGlyphRun
(
const
QGlyphRun
&
other
);
69
QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP
(
QGlyphRun
)
70
QGlyphRun
&operator=(
const
QGlyphRun
&
other
);
71
~
QGlyphRun
();
72
73
void
swap
(
QGlyphRun
&
other
) noexcept {
d
.swap(
other
.d); }
74
75
QRawFont
rawFont()
const
;
76
void
setRawFont(
const
QRawFont
&rawFont);
77
78
void
setRawData(
const
quint32
*glyphIndexArray,
79
const
QPointF
*glyphPositionArray,
80
int
size
);
81
82
QList<quint32>
glyphIndexes()
const
;
83
void
setGlyphIndexes(
const
QList<quint32>
&glyphIndexes);
84
85
QList<QPointF>
positions()
const
;
86
void
setPositions(
const
QList<QPointF>
&positions);
87
88
void
clear
();
89
90
bool
operator==
(
const
QGlyphRun
&
other
)
const
;
91
inline
bool
operator!=
(
const
QGlyphRun
&
other
)
const
92
{
return
!
operator==
(
other
); }
93
94
void
setOverline(
bool
overline);
95
bool
overline()
const
;
96
97
void
setUnderline(
bool
underline);
98
bool
underline()
const
;
99
100
void
setStrikeOut(
bool
strikeOut);
101
bool
strikeOut()
const
;
102
103
void
setRightToLeft(
bool
on);
104
bool
isRightToLeft
()
const
;
105
106
void
setFlag(GlyphRunFlag flag,
bool
enabled
=
true
);
107
void
setFlags(GlyphRunFlags
flags
);
108
GlyphRunFlags
flags
()
const
;
109
110
void
setBoundingRect(
const
QRectF
&boundingRect);
111
QRectF
boundingRect()
const
;
112
113
bool
isEmpty()
const
;
114
115
private
:
116
friend
class
QGlyphRunPrivate
;
117
friend
class
QTextLine
;
118
119
QGlyphRun
operator+
(
const
QGlyphRun
&
other
)
const
;
120
QGlyphRun
&
operator+=
(
const
QGlyphRun
&
other
);
121
122
void
detach();
123
QExplicitlySharedDataPointer<QGlyphRunPrivate>
d
;
124
};
125
126
Q_DECLARE_SHARED
(
QGlyphRun
)
127
128
QT_END_NAMESPACE
129
130
#endif
// QT_NO_RAWFONT
131
132
#endif
// QGLYPHRUN_H
QExplicitlySharedDataPointer< QGlyphRunPrivate >
QGlyphRun
The QGlyphRun class provides direct access to the internal glyphs in a font.
Definition:
qglyphrun.h:56
QGlyphRun::GlyphRunFlag
GlyphRunFlag
Definition:
qglyphrun.h:58
QGlyphRun::swap
void swap(QGlyphRun &other) noexcept
Definition:
qglyphrun.h:73
QGlyphRun::operator!=
bool operator!=(const QGlyphRun &other) const
Definition:
qglyphrun.h:91
QGlyphRunPrivate
Definition:
qglyphrun_p.h:65
QList< quint32 >
QPointF
The QPointF class defines a point in the plane using floating point precision.
Definition:
qpoint.h:242
QRawFont
The QRawFont class provides access to a single physical instance of a font.
Definition:
qrawfont.h:60
QRectF
The QRectF class defines a finite rectangle in the plane using floating point precision.
Definition:
qrect.h:511
QTextLine
The QTextLine class represents a line of text inside a QTextLayout. \inmodule QtGui.
Definition:
qtextlayout.h:208
clear
b clear()
QT_BEGIN_NAMESPACE
Definition:
server.cpp:57
QT_END_NAMESPACE
Definition:
qsharedpointer.cpp:1532
Qt::RightToLeft
@ RightToLeft
Definition:
qnamespace.h:1464
QtPrivate::isRightToLeft
Q_CORE_EXPORT Q_DECL_PURE_FUNCTION bool isRightToLeft(QStringView string) noexcept
Definition:
qstring.cpp:10187
operator+
QString operator+(const ProString &one, const ProString &two)
Definition:
proitems.cpp:281
operator+=
QString & operator+=(QString &that, const ProString &other)
Definition:
proitems.h:262
Q_DECLARE_FLAGS
#define Q_DECLARE_FLAGS(Flags, Enum)
Definition:
qflags.h:210
quint32
unsigned int quint32
Definition:
qglobal.h:288
QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP
#define QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(Class)
Definition:
qglobal.h:563
operator==
bool operator==(const QMakeBaseKey &one, const QMakeBaseKey &two)
Definition:
qmakeevaluator.cpp:115
size
GLenum GLuint GLintptr GLsizeiptr size
[1]
Definition:
qopengles2ext.h:660
enabled
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition:
qopengles2ext.h:150
flags
GLbitfield flags
Definition:
qopengles2ext.h:1026
Q_DECLARE_SHARED
#define Q_DECLARE_SHARED(TYPE)
Definition:
qtypeinfo.h:197
d
double d
Definition:
src_corelib_text_qlocale.cpp:56
other
QSharedPointer< T > other(t)
[5]
Generated by
1.9.1