diff options
Diffstat (limited to 'src/quick/items/qquickitem_p.h')
-rw-r--r-- | src/quick/items/qquickitem_p.h | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/src/quick/items/qquickitem_p.h b/src/quick/items/qquickitem_p.h index 8cda5f89c6..4bff293657 100644 --- a/src/quick/items/qquickitem_p.h +++ b/src/quick/items/qquickitem_p.h @@ -56,6 +56,7 @@ #include "qquickanchors_p.h" #include "qquickanchors_p_p.h" #include "qquickitemchangelistener_p.h" +#include "qquickevents_p_p.h" #include "qquickwindow_p.h" @@ -75,8 +76,9 @@ #include <QtCore/qdebug.h> #include <QtCore/qelapsedtimer.h> +#if QT_CONFIG(quick_shadereffect) #include <QtQuick/private/qquickshadereffectsource_p.h> -#include <QtQuick/private/qquickshadereffect_p.h> +#endif QT_BEGIN_NAMESPACE @@ -98,7 +100,7 @@ public: void complete(); protected: - void itemGeometryChanged(QQuickItem *item, const QRectF &newGeometry, const QRectF &oldGeometry) Q_DECL_OVERRIDE; + void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &) Q_DECL_OVERRIDE; void itemDestroyed(QQuickItem *item) Q_DECL_OVERRIDE; void itemChildAdded(QQuickItem *, QQuickItem *) Q_DECL_OVERRIDE; void itemChildRemoved(QQuickItem *, QQuickItem *) Q_DECL_OVERRIDE; @@ -135,6 +137,7 @@ public: QList<QQuickItem *> items; }; +#if QT_CONFIG(quick_shadereffect) class QQuickItemLayer : public QObject, public QQuickItemChangeListener { @@ -188,7 +191,7 @@ public: QQuickShaderEffectSource *effectSource() const { return m_effectSource; } - void itemGeometryChanged(QQuickItem *, const QRectF &, const QRectF &) Q_DECL_OVERRIDE; + void itemGeometryChanged(QQuickItem *, QQuickGeometryChange, const QRectF &) Q_DECL_OVERRIDE; void itemOpacityChanged(QQuickItem *) Q_DECL_OVERRIDE; void itemParentChanged(QQuickItem *, QQuickItem *) Q_DECL_OVERRIDE; void itemSiblingOrderChanged(QQuickItem *) Q_DECL_OVERRIDE; @@ -236,6 +239,8 @@ private: QQuickShaderEffectSource::TextureMirroring m_textureMirroring; }; +#endif + class Q_QUICK_PRIVATE_EXPORT QQuickItemPrivate : public QObjectPrivate { Q_DECLARE_PUBLIC(QQuickItem) @@ -244,8 +249,6 @@ public: static QQuickItemPrivate* get(QQuickItem *item) { return item->d_func(); } static const QQuickItemPrivate* get(const QQuickItem *item) { return item->d_func(); } - static void registerAccessorProperties(); - QQuickItemPrivate(); ~QQuickItemPrivate(); void init(QQuickItem *parent); @@ -319,24 +322,12 @@ public: Q_DECLARE_FLAGS(ChangeTypes, ChangeType) - enum GeometryChangeType { - NoChange = 0, - XChange = 0x01, - YChange = 0x02, - WidthChange = 0x04, - HeightChange = 0x08, - SizeChange = WidthChange | HeightChange, - GeometryChange = XChange | YChange | SizeChange - }; - - Q_DECLARE_FLAGS(GeometryChangeTypes, GeometryChangeType) - struct ChangeListener { - ChangeListener(QQuickItemChangeListener *l = Q_NULLPTR, QQuickItemPrivate::ChangeTypes t = 0) : listener(l), types(t), gTypes(GeometryChange) {} - ChangeListener(QQuickItemChangeListener *l, QQuickItemPrivate::GeometryChangeTypes gt) : listener(l), types(Geometry), gTypes(gt) {} + ChangeListener(QQuickItemChangeListener *l = nullptr, QQuickItemPrivate::ChangeTypes t = 0) : listener(l), types(t), gTypes(QQuickGeometryChange::All) {} + ChangeListener(QQuickItemChangeListener *l, QQuickGeometryChange gt) : listener(l), types(Geometry), gTypes(gt) {} QQuickItemChangeListener *listener; QQuickItemPrivate::ChangeTypes types; - QQuickItemPrivate::GeometryChangeTypes gTypes; //NOTE: not used for == + QQuickGeometryChange gTypes; //NOTE: not used for == bool operator==(const ChangeListener &other) const { return listener == other.listener && types == other.types; } }; @@ -353,7 +344,9 @@ public: QQuickLayoutMirroringAttached* layoutDirectionAttached; QQuickEnterKeyAttached *enterKeyAttached; QQuickItemKeyFilter *keyHandler; +#if QT_CONFIG(quick_shadereffect) mutable QQuickItemLayer *layer; +#endif #ifndef QT_NO_CURSOR QCursor cursor; #endif @@ -390,8 +383,8 @@ public: void addItemChangeListener(QQuickItemChangeListener *listener, ChangeTypes types); void removeItemChangeListener(QQuickItemChangeListener *, ChangeTypes types); - void updateOrAddGeometryChangeListener(QQuickItemChangeListener *listener, GeometryChangeTypes types); - void updateOrRemoveGeometryChangeListener(QQuickItemChangeListener *listener, GeometryChangeTypes types); + void updateOrAddGeometryChangeListener(QQuickItemChangeListener *listener, QQuickGeometryChange types); + void updateOrRemoveGeometryChangeListener(QQuickItemChangeListener *listener, QQuickGeometryChange types); QQuickStateGroup *_states(); QQuickStateGroup *_stateGroup; @@ -427,8 +420,9 @@ public: bool isAccessible:1; bool culled:1; bool hasCursor:1; - bool hasCursorInChild:1; + bool subtreeCursorEnabled:1; // Bit 32 + bool subtreeHoverEnabled:1; bool activeFocusOnTab:1; bool implicitAntialiasing:1; bool antialiasingValid:1; @@ -488,7 +482,6 @@ public: inline QSGRenderContext *sceneGraphRenderContext() const; QQuickItem *parentItem; - QQmlNotifier parentNotifier; QList<QQuickItem *> childItems; mutable QList<QQuickItem *> *sortedChildItems; @@ -606,6 +599,9 @@ public: virtual void mirrorChange() {} void setHasCursorInChild(bool hasCursor); + void setHasHoverInChild(bool hasHover); + + virtual void updatePolish() { } }; /* @@ -773,6 +769,7 @@ public: QQuickItem *imeItem; QList<QQuickItem *> targets; QQuickItem *item; + QQuickKeyEvent theKeyEvent; }; class QQuickKeysAttached : public QObject, public QQuickItemKeyFilter @@ -933,7 +930,9 @@ Q_DECLARE_TYPEINFO(QQuickItemPrivate::ChangeListener, Q_PRIMITIVE_TYPE); QT_END_NAMESPACE +#if QT_CONFIG(quick_shadereffect) QML_DECLARE_TYPE(QQuickItemLayer) +#endif QML_DECLARE_TYPE(QQuickKeysAttached) QML_DECLARE_TYPEINFO(QQuickKeysAttached, QML_HAS_ATTACHED_PROPERTIES) QML_DECLARE_TYPE(QQuickKeyNavigationAttached) |