****************************************************************************/
#include "qquicktextnode_p.h"
+
#include <QtQuick/qsgsimplerectnode.h>
#include <private/qsgadaptationlayer_p.h>
#include <private/qsgdistancefieldglyphnode_p.h>
-
+#include <private/qquickclipnode_p.h>
#include <QtQuick/private/qsgcontext_p.h>
#include <QtCore/qpoint.h>
QGlyphRun glyphRun;
QRectF boundingRect;
SelectionState selectionState;
- QSGClipNode *clipNode;
+ QQuickDefaultClipNode *clipNode;
QQuickTextNode::Decorations decorations;
QColor color;
QColor backgroundColor;
QVarLengthArray<TextDecoration> pendingOverlines;
QVarLengthArray<TextDecoration> pendingStrikeOuts;
if (!sortedIndexes.isEmpty()) {
- QSGClipNode *currentClipNode = m_hasSelection ? new QSGClipNode : 0;
+ QQuickDefaultClipNode *currentClipNode = m_hasSelection ? new QQuickDefaultClipNode(QRectF()) : 0;
bool currentClipNodeUsed = false;
for (int i=0; i<=sortedIndexes.size(); ++i) {
BinaryTreeNode *node = 0;
delete currentClipNode;
} else {
currentClipNode->setIsRectangular(true);
- currentClipNode->setClipRect(currentRect);
+ currentClipNode->setRect(currentRect);
+ currentClipNode->update();
}
}
if (node != 0 && m_hasSelection)
- currentClipNode = new QSGClipNode;
+ currentClipNode = new QQuickDefaultClipNode(QRectF());
else
currentClipNode = 0;
currentClipNodeUsed = false;
// Then, go through all the nodes for all lines and combine all QGlyphRuns with a common
// font, selection state and clip node.
- typedef QPair<QFontEngine *, QPair<QSGClipNode *, QPair<QRgb, int> > > KeyType;
+ typedef QPair<QFontEngine *, QPair<QQuickDefaultClipNode *, QPair<QRgb, int> > > KeyType;
QHash<KeyType, BinaryTreeNode *> map;
QList<BinaryTreeNode *> nodes;
for (int i=0; i<m_processedNodes.size(); ++i) {
// ...and add clip nodes and glyphs to tree.
foreach (const BinaryTreeNode *node, nodes) {
- QSGClipNode *clipNode = node->clipNode;
+ QQuickDefaultClipNode *clipNode = node->clipNode;
if (clipNode != 0 && clipNode->parent() == 0 )
parentNode->appendChildNode(clipNode);