38 typedef QByteArray PropertyName;
39 typedef QList<PropertyName> PropertyNameList;
40 typedef QByteArray TypeName;
43 TransformOrigin = 0x00000001,
44 Transform = 0x00000002,
45 BasicTransform = 0x00000004,
46 Position = 0x00000008,
52 OpacityValue = 0x00000100,
53 ChildrenChanged = 0x00000200,
54 ChildrenStackingChanged = 0x00000400,
55 ParentChanged = 0x00000800,
60 EffectReference = 0x00008000,
62 HideReference = 0x00020000,
64 TransformUpdateMask = TransformOrigin | Transform | BasicTransform | Position | Size | Window,
65 ComplexTransformUpdateMask = Transform | Window,
66 ContentUpdateMask = Size | Content | Smooth | Window,
67 ChildrenUpdateMask = ChildrenChanged | ChildrenStackingChanged | EffectReference | Window,
68 AllMask = TransformUpdateMask | ContentUpdateMask | ChildrenUpdateMask
72 QQuickDesignerSupport();
73 ~QQuickDesignerSupport();
75 void refFromEffectItem(QQuickItem *referencedItem,
bool hide =
true);
76 void derefFromEffectItem(QQuickItem *referencedItem,
bool unhide =
true);
78 QImage renderImageForItem(QQuickItem *referencedItem,
const QRectF &boundingRect,
const QSize &imageSize);
80 static bool isDirty(QQuickItem *referencedItem, DirtyType dirtyType);
81 static void addDirty(QQuickItem *referencedItem, DirtyType dirtyType);
82 static void resetDirty(QQuickItem *referencedItem);
84 static QTransform windowTransform(QQuickItem *referencedItem);
85 static QTransform parentTransform(QQuickItem *referencedItem);
87 static bool isAnchoredTo(QQuickItem *fromItem, QQuickItem *toItem);
88 static bool areChildrenAnchoredTo(QQuickItem *fromItem, QQuickItem *toItem);
89 static bool hasAnchor(QQuickItem *item,
const QString &name);
90 static QQuickItem *anchorFillTargetItem(QQuickItem *item);
91 static QQuickItem *anchorCenterInTargetItem(QQuickItem *item);
92 static std::pair<QString, QObject*> anchorLineTarget(QQuickItem *item,
const QString &name, QQmlContext *context);
93 static void resetAnchor(QQuickItem *item,
const QString &name);
94 static void emitComponentCompleteSignalForAttachedProperty(QObject *item);
96 static QList<QObject*> statesForItem(QQuickItem *item);
98 static bool isComponentComplete(QQuickItem *item);
100 static int borderWidth(QQuickItem *item);
102 static void refreshExpressions(QQmlContext *context);
104 static void setRootItem(QQuickView *view, QQuickItem *item);
106 static bool isValidWidth(QQuickItem *item);
107 static bool isValidHeight(QQuickItem *item);
109 static void updateDirtyNode(QQuickItem *item);
111 static void activateDesignerMode();
113 static void disableComponentComplete();
114 static void enableComponentComplete();
116 static void polishItems(QQuickWindow *window);
119 QHash<QQuickItem*, QSGLayer*> m_itemTextureHash;