diff options
Diffstat (limited to 'src/quick/items/qquicktextnodeengine_p.h')
-rw-r--r-- | src/quick/items/qquicktextnodeengine_p.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/quick/items/qquicktextnodeengine_p.h b/src/quick/items/qquicktextnodeengine_p.h index 9a64853dd3..142375b5a3 100644 --- a/src/quick/items/qquicktextnodeengine_p.h +++ b/src/quick/items/qquicktextnodeengine_p.h @@ -75,10 +75,11 @@ public: BinaryTreeNode(const QGlyphRun &g, SelectionState selState, const QRectF &brect, const QQuickTextNode::Decorations &decs, const QColor &c, const QColor &bc, - const QPointF &pos, qreal a) + const QPointF &pos, qreal a, int rangeStart, int rangeEnd) : glyphRun(g), boundingRect(brect), selectionState(selState), clipNode(0), decorations(decs) , color(c), backgroundColor(bc), position(pos), ascent(a), leftChildIndex(-1), rightChildIndex(-1) { + ranges.append(qMakePair(rangeStart, rangeEnd)); } QGlyphRun glyphRun; @@ -95,11 +96,14 @@ public: int leftChildIndex; int rightChildIndex; + QList<QPair<int, int> > ranges; + static void insert(QVarLengthArray<BinaryTreeNode, 16> *binaryTree, const QRectF &rect, const QImage &image, qreal ascent, SelectionState selectionState) { insert(binaryTree, BinaryTreeNode(rect, image, selectionState, ascent)); } static void insert(QVarLengthArray<BinaryTreeNode, 16> *binaryTree, const QGlyphRun &glyphRun, SelectionState selectionState, - QQuickTextNode::Decorations decorations, const QColor &textColor, const QColor &backgroundColor, const QPointF &position); + QQuickTextNode::Decorations decorations, const QColor &textColor, const QColor &backgroundColor, const QPointF &position, + int rangeStart, int rangeEnd); static void insert(QVarLengthArray<BinaryTreeNode, 16> *binaryTree, const BinaryTreeNode &binaryTreeNode); static void inOrder(const QVarLengthArray<BinaryTreeNode, 16> &binaryTree, QVarLengthArray<int> *sortedIndexes, int currentIndex = 0); }; @@ -134,8 +138,8 @@ public: SelectionState selectionState, QTextDocument *textDocument, int pos, QTextFrameFormat::Position layoutPosition = QTextFrameFormat::InFlow); - void addSelectedGlyphs(const QGlyphRun &glyphRun); - void addUnselectedGlyphs(const QGlyphRun &glyphRun); + void addSelectedGlyphs(const QGlyphRun &glyphRun, int rangeStart, int rangeEnd); + void addUnselectedGlyphs(const QGlyphRun &glyphRun, int rangeStart, int rangeEnd); void addGlyphsInRange(int rangeStart, int rangeEnd, const QColor &color, const QColor &backgroundColor, int selectionStart, int selectionEnd); |