diff options
author | David Faure <david.faure@kdab.com> | 2022-05-25 22:07:36 +0200 |
---|---|---|
committer | David Faure <david.faure@kdab.com> | 2022-05-26 16:58:42 +0200 |
commit | 09c7457f4ab8021e7637e60e6c3d1f644639aec1 (patch) | |
tree | a616cc26d117d741d593542d7dc41a67a79de96f /src/gui/text/qtextdocument_p.h | |
parent | 2996ca031efcd97ef9866186ae53e96ed75c9fbf (diff) |
QTextDocument: add setLayoutEnabled()
This allows to set up everything first - without paying for the layout
calculation at every step - and only then trigger the layout once.
Results:
0.065 msecs to create a QGraphicsTextItem with some text (layouted)
0.036 msecs to set everything up in a QGraphicsTextItem with 0 width
Change-Id: I138bd1d58941d029bc0a36d2730216778f1fbd97
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/gui/text/qtextdocument_p.h')
-rw-r--r-- | src/gui/text/qtextdocument_p.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/text/qtextdocument_p.h b/src/gui/text/qtextdocument_p.h index 195006b130..effcfcabed 100644 --- a/src/gui/text/qtextdocument_p.h +++ b/src/gui/text/qtextdocument_p.h @@ -291,6 +291,8 @@ public: return get(object->document()); } + bool canLayout() const { return layoutEnabled && !pageSize.isNull(); } + private: QTextDocumentPrivate(const QTextDocumentPrivate& m); QTextDocumentPrivate& operator= (const QTextDocumentPrivate& m); @@ -337,6 +339,7 @@ private: public: bool inContentsChange; + bool layoutEnabled = true; QTextOption defaultTextOption; Qt::CursorMoveStyle defaultCursorMoveStyle; #ifndef QT_NO_CSSPARSER |