Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qabstracttextdocumentlayout_p.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 QABSTRACTTEXTDOCUMENTLAYOUT_P_H
5#define QABSTRACTTEXTDOCUMENTLAYOUT_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtGui/private/qtguiglobal_p.h>
19#include "private/qobject_p.h"
22
23#include "QtCore/qhash.h"
24#include <QtCore/qpointer.h>
25
27
29{
30 QTextObjectHandler() : iface(nullptr) {}
31 QTextObjectInterface *iface;
33};
35
36class Q_GUI_EXPORT QAbstractTextDocumentLayoutPrivate : public QObjectPrivate
37{
38public:
39 Q_DECLARE_PUBLIC(QAbstractTextDocumentLayout)
40
41 inline QAbstractTextDocumentLayoutPrivate()
42 : paintDevice(nullptr) {}
43 ~QAbstractTextDocumentLayoutPrivate();
44
45 inline void setDocument(QTextDocument *doc) {
46 document = doc;
47 docPrivate = nullptr;
48 if (doc)
49 docPrivate = QTextDocumentPrivate::get(doc);
50 }
51
52 static QAbstractTextDocumentLayoutPrivate *get(QAbstractTextDocumentLayout *layout)
53 {
54 return layout->d_func();
55 }
56
57 bool hasHandlers() const
58 {
59 return !handlers.isEmpty();
60 }
61
62 inline int _q_dynamicPageCountSlot() const
63 { return q_func()->pageCount(); }
64 inline QSizeF _q_dynamicDocumentSizeSlot() const
65 { return q_func()->documentSize(); }
66
67 HandlerHash handlers;
68
69 void _q_handlerDestroyed(QObject *obj);
70 QPaintDevice *paintDevice;
71
72 QTextDocument *document;
73 QTextDocumentPrivate *docPrivate;
74};
75
76QT_END_NAMESPACE
77
78#endif // QABSTRACTTEXTDOCUMENTLAYOUT_P_H
friend class QPainter
friend class QFontEngine
Definition qpainter.h:432
QTextBlockUserData * userData
QTextLayout * layout
void invalidate() const
signed int revision
void invalidate() const
QString toHtml(ExportMode mode=ExportEntireDocument)
Returns the document in HTML format.
QTextHtmlExporter(const QTextDocument *_doc)
Internal QTextItem.
void initWithScriptItem(const QScriptItem &si)
RenderFlags flags
const QTextCharFormat charFormat
QTextItemInt midItem(QFontEngine *fontEngine, int firstGlyphIndex, int numGlyphs) const
const QChar * chars
QGlyphLayout glyphs
const QFont * f
const unsigned short * logClusters
QTextCharFormat::UnderlineStyle underlineStyle
QTextItemInt(const QGlyphLayout &g, QFont *font, const QChar *chars, int numChars, QFontEngine *fe, const QTextCharFormat &format=QTextCharFormat())
QTextItemInt()=default
QFontEngine * fontEngine
QTextItemInt(const QScriptItem &si, QFont *font, const QTextCharFormat &format=QTextCharFormat())
\reentrant
Definition qtextlist.h:18
The QTextObjectInterface class allows drawing of custom text objects in \l{QTextDocument}...
QAbstractUndoItem * custom
bool tryMerge(const QTextUndoCommand &other)
QVarLengthGlyphLayoutArray(int totalGlyphs)
void resize(int totalGlyphs)
QHash< int, QTextObjectHandler > HandlerHash
Q_DECLARE_TYPEINFO(QByteArrayView, Q_PRIMITIVE_TYPE)
Q_DECLARE_TYPEINFO(QTextUndoCommand, Q_PRIMITIVE_TYPE)
Q_DECLARE_TYPEINFO(QGlyphAttributes, Q_PRIMITIVE_TYPE)
Q_DECLARE_TYPEINFO(QScriptItem, Q_PRIMITIVE_TYPE)
QList< QScriptItem > QScriptItemArray
QList< QScriptLine > QScriptLineArray
Q_DECLARE_TYPEINFO(QGlyphJustification, Q_PRIMITIVE_TYPE)
QGlyphJustification * justifications
void grow(char *address, int totalGlyphs)
QFixed effectiveAdvance(int item) const
void copy(QGlyphLayout *other)
QGlyphLayout(char *address, int totalGlyphs)
void clear(int first=0, int last=-1)
static constexpr qsizetype SpaceNeeded
QGlyphAttributes * attributes
glyph_t * glyphs
QGlyphLayout mid(int position, int n=-1) const
QFixedPoint * offsets
QFixed * advances
int width
Definition qimage_p.h:45
constexpr QScriptItem(int p, QScriptAnalysis a) noexcept
QScriptAnalysis analysis
constexpr QFixed height() const noexcept
unsigned short num_glyphs
void setDefaultHeight(QTextEngine *eng)
QFixed base() const
void operator+=(const QScriptLine &other)
QFixed height() const
signed int length
QFixed textAdvance
unsigned short trailingSpaces
uint hasTrailingSpaces
bool getSelectionBounds(QFixed *selectionX, QFixed *selectionWidth) const
QTextLineItemIterator(QTextEngine *eng, int lineNum, const QPointF &pos=QPointF(), const QTextLayout::FormatRange *_selection=nullptr)
const QTextLayout::FormatRange * selection
const QScriptLine & line
QVarLengthArray< int > visualOrder
bool isOutsideSelection() const