From 8e7572ac63b4eb7ced5148fdca11702108fa511d Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 24 Aug 2023 09:57:39 +0200 Subject: Make text node scenegraph API public A lot of functionality is hidden underneath this, so exposing this API will make it possible to build custom text-based components for Qt Quick. [ChangeLog][Text] Added QSGTextNode and QQuickWindow::createTextNode() for creating scene graph nodes containing text. This can be useful when building custom Qt Quick items with text. Fixes: QTBUG-72773 Change-Id: I4810589cc28eb1cdfe91c9d8b66f4c6fe52a0c6a Reviewed-by: Andy Nichols --- src/quick/items/qquicktextedit_p_p.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/quick/items/qquicktextedit_p_p.h') diff --git a/src/quick/items/qquicktextedit_p_p.h b/src/quick/items/qquicktextedit_p_p.h index 087a18734a..820067426b 100644 --- a/src/quick/items/qquicktextedit_p_p.h +++ b/src/quick/items/qquicktextedit_p_p.h @@ -29,7 +29,7 @@ QT_BEGIN_NAMESPACE class QTextLayout; class QQuickTextDocumentWithImageResources; class QQuickTextControl; -class QQuickTextNode; +class QSGInternalTextNode; class QQuickTextNodeEngine; class Q_QUICK_PRIVATE_EXPORT QQuickTextEditPrivate : public QQuickImplicitSizeItemPrivate @@ -41,9 +41,9 @@ public: struct Node { explicit Node(int startPos = std::numeric_limits::max(), - QQuickTextNode *node = nullptr) + QSGInternalTextNode *node = nullptr) : m_startPos(startPos), m_node(node), m_dirty(false) { } - QQuickTextNode* textNode() const { return m_node; } + QSGInternalTextNode *textNode() const { return m_node; } void moveStartPos(int delta) { Q_ASSERT(m_startPos + delta > 0); m_startPos += delta; } int startPos() const { return m_startPos; } void setDirty() { m_dirty = true; } @@ -51,7 +51,7 @@ public: private: int m_startPos; - QQuickTextNode* m_node; + QSGInternalTextNode *m_node; bool m_dirty; #ifndef QT_NO_DEBUG_STREAM @@ -121,8 +121,8 @@ public: void setNativeCursorEnabled(bool) {} void handleFocusEvent(QFocusEvent *event); - void addCurrentTextNodeToRoot(QQuickTextNodeEngine *, QSGTransformNode *, QQuickTextNode*, TextNodeIterator&, int startPos); - QQuickTextNode* createTextNode(); + void addCurrentTextNodeToRoot(QQuickTextNodeEngine *, QSGTransformNode *, QSGInternalTextNode *, TextNodeIterator&, int startPos); + QSGInternalTextNode* createTextNode(); #if QT_CONFIG(im) Qt::InputMethodHints effectiveInputMethodHints() const; -- cgit v1.2.3