39 typedef QByteArray PropertyName;
40 typedef QList<PropertyName> PropertyNameList;
41 typedef QByteArray TypeName;
44 TransformOrigin = 0x00000001,
45 Transform = 0x00000002,
46 BasicTransform = 0x00000004,
47 Position = 0x00000008,
53 OpacityValue = 0x00000100,
54 ChildrenChanged = 0x00000200,
55 ChildrenStackingChanged = 0x00000400,
56 ParentChanged = 0x00000800,
61 EffectReference = 0x00008000,
63 HideReference = 0x00020000,
65 TransformUpdateMask = TransformOrigin | Transform | BasicTransform | Position | Size | Window,
66 ComplexTransformUpdateMask = Transform | Window,
67 ContentUpdateMask = Size | Content | Smooth | Window,
68 ChildrenUpdateMask = ChildrenChanged | ChildrenStackingChanged | EffectReference | Window,
69 AllMask = TransformUpdateMask | ContentUpdateMask | ChildrenUpdateMask
73 QQuickDesignerSupport();
74 ~QQuickDesignerSupport();
76 void refFromEffectItem(QQuickItem *referencedItem,
bool hide =
true);
77 void derefFromEffectItem(QQuickItem *referencedItem,
bool unhide =
true);
79 QImage renderImageForItem(QQuickItem *referencedItem,
const QRectF &boundingRect,
const QSize &imageSize);
81 static bool isDirty(QQuickItem *referencedItem, DirtyType dirtyType);
82 static void addDirty(QQuickItem *referencedItem, DirtyType dirtyType);
83 static void resetDirty(QQuickItem *referencedItem);
85 static QTransform windowTransform(QQuickItem *referencedItem);
86 static QTransform parentTransform(QQuickItem *referencedItem);
88 static bool isAnchoredTo(QQuickItem *fromItem, QQuickItem *toItem);
89 static bool areChildrenAnchoredTo(QQuickItem *fromItem, QQuickItem *toItem);
90 static bool hasAnchor(QQuickItem *item,
const QString &name);
91 static QQuickItem *anchorFillTargetItem(QQuickItem *item);
92 static QQuickItem *anchorCenterInTargetItem(QQuickItem *item);
93 static std::pair<QString, QObject*> anchorLineTarget(QQuickItem *item,
const QString &name, QQmlContext *context);
94 static void resetAnchor(QQuickItem *item,
const QString &name);
95 static void emitComponentCompleteSignalForAttachedProperty(QObject *item);
97 static QList<QObject*> statesForItem(QQuickItem *item);
99 static bool isComponentComplete(QQuickItem *item);
101 static int borderWidth(QQuickItem *item);
103 static void refreshExpressions(QQmlContext *context);
105 static void setRootItem(QQuickView *view, QQuickItem *item);
107 static bool isValidWidth(QQuickItem *item);
108 static bool isValidHeight(QQuickItem *item);
110 static void updateDirtyNode(QQuickItem *item);
112 static void activateDesignerMode();
114 static void disableComponentComplete();
115 static void enableComponentComplete();
117 static void polishItems(QQuickWindow *window);
120 QHash<QQuickItem*, QSGLayer*> m_itemTextureHash;