18#include <QtQuick/private/qquickanchors_p.h>
19#include <QtQuick/private/qquickanchors_p_p.h>
20#include <QtQuick/private/qquickitemchangelistener_p.h>
21#include <QtQuick/private/qquickevents_p_p.h>
22#include <QtQuick/private/qquickclipnode_p.h>
23#include <QtQuick/private/qquickstate_p.h>
24#include <QtQuick/private/qquickpaletteproviderprivatebase_p.h>
25#include <QtQuick/private/qquickwindow_p.h>
26#include <QtCore/private/qproperty_p.h>
28#if QT_CONFIG(quick_shadereffect)
29#include <QtQuick/private/qquickshadereffectsource_p.h>
32#include <QtQuick/qquickitem.h>
33#include <QtQuick/qsgnode.h>
35#include <QtQml/private/qqmlnullablevalue_p.h>
36#include <QtQml/private/qqmlnotifier_p.h>
37#include <QtQml/private/qqmlglobal_p.h>
38#include <QtQml/private/qlazilyallocated_p.h>
39#include <QtQml/qqml.h>
40#include <QtQml/qqmlcontext.h>
42#include <QtCore/qlist.h>
43#include <QtCore/qdebug.h>
44#include <QtCore/qelapsedtimer.h>
74 bool calcHeight(
QQuickItem *changed =
nullptr);
84 bool wChanged = calcWidth(changed);
85 bool hChanged = calcHeight(changed);
86 if (wChanged || hChanged)
101#if QT_CONFIG(quick_shadereffect)
108 Q_PROPERTY(
QRectF sourceRect READ sourceRect WRITE setSourceRect NOTIFY sourceRectChanged FINAL)
109 Q_PROPERTY(
bool mipmap READ mipmap WRITE setMipmap NOTIFY mipmapChanged FINAL)
110 Q_PROPERTY(
bool smooth READ smooth WRITE setSmooth NOTIFY smoothChanged FINAL)
111 Q_PROPERTY(
bool live READ live WRITE setLive NOTIFY liveChanged REVISION(6, 5) FINAL)
123 ~QQuickItemLayer()
override;
126 void componentComplete();
128 bool enabled()
const {
return m_enabled; }
131 bool mipmap()
const {
return m_mipmap; }
132 void setMipmap(
bool mipmap);
134 bool smooth()
const {
return m_smooth; }
135 void setSmooth(
bool s);
137 bool live()
const {
return m_live; }
138 void setLive(
bool live);
146 QRectF sourceRect()
const {
return m_sourceRect; }
147 void setSourceRect(
const QRectF &sourceRect);
161 int samples()
const {
return m_samples; }
162 void setSamples(
int count);
173 void updateGeometry();
174 void updateOpacity();
178 void enabledChanged(
bool enabled);
180 void mipmapChanged(
bool mipmap);
184 void smoothChanged(
bool smooth);
185 void liveChanged(
bool live);
187 void sourceRectChanged(
const QRectF &sourceRect);
189 void samplesChanged(
int count);
197 void activateEffect();
198 void deactivateEffect();
205 bool m_componentComplete;
243 void setState(
const QString &);
253#if QT_CONFIG(quick_shadereffect)
254 QQuickItemLayer *
layer()
const;
258 bool hasPointerHandlers()
const;
259 bool hasEnabledHoverHandlers()
const;
295 void _q_resourceObjectDeleted(
QObject *);
307 ImplicitWidth = 0x100,
308 ImplicitHeight = 0x200,
311 AllChanges = 0xFFFFFFFF
338#ifndef QT_NO_DEBUG_STREAM
345 template <
typename Fn,
typename ...Args>
348 if (changeListeners.isEmpty())
351 const auto listeners = changeListeners;
354 if constexpr (std::is_member_function_pointer_v<Fn>)
376#if QT_CONFIG(quick_shadereffect)
377 mutable QQuickItemLayer *
layer;
418 LeftMouseButtonAccepted = 0x2
424 virtual
void registerAsContainmentMask(
QQuickItem * ,
bool ) { }
429 inline Qt::MouseButtons acceptedMouseButtons()
const;
496 TransformOrigin = 0x00000001,
497 Transform = 0x00000002,
498 BasicTransform = 0x00000004,
499 Position = 0x00000008,
503 Content = 0x00000040,
505 OpacityValue = 0x00000100,
506 ChildrenChanged = 0x00000200,
507 ChildrenStackingChanged = 0x00000400,
508 ParentChanged = 0x00000800,
513 EffectReference = 0x00008000,
514 Visible = 0x00010000,
515 HideReference = 0x00020000,
516 Antialiasing = 0x00040000,
520 TransformUpdateMask = TransformOrigin | Transform | BasicTransform | Position |
522 ComplexTransformUpdateMask = Transform |
Window,
523 ContentUpdateMask =
Size | Content | Smooth |
Window | Antialiasing,
524 ChildrenUpdateMask = ChildrenChanged | ChildrenStackingChanged | EffectReference |
Window
530 void addToDirtyList();
531 void removeFromDirtyList();
535 void setCulled(
bool);
549 void siblingOrderChanged();
561 void itemToParentTransform(
QTransform *)
const;
587 bool widthValid()
const {
return widthValidFlag || (
width.hasBinding() && !QQmlPropertyBinding::isUndefined(
width.binding()) ); }
588 bool heightValid()
const {
return heightValidFlag || (
height.hasBinding() && !QQmlPropertyBinding::isUndefined(
height.binding()) ); }
594 inline qreal z()
const {
return extra.isAllocated()?extra->z:0; }
595 inline qreal scale()
const {
return extra.isAllocated()?extra->scale:1; }
596 inline qreal rotation()
const {
return extra.isAllocated()?extra->rotation:0; }
597 inline qreal opacity()
const {
return extra.isAllocated()?extra->opacity:1; }
599 void setAccessible();
601 virtual qreal getImplicitWidth()
const;
602 virtual qreal getImplicitHeight()
const;
603 virtual void implicitWidthChanged();
604 virtual void implicitHeightChanged();
606#if QT_CONFIG(accessibility)
607 QAccessible::Role effectiveAccessibleRole()
const;
609 virtual QAccessible::Role accessibleRole()
const;
613 void setImplicitAntialiasing(
bool antialiasing);
615 void resolveLayoutMirror();
616 void setImplicitLayoutMirror(
bool mirror,
bool inherit);
617 void setLayoutMirror(
bool mirror);
619 return effectiveLayoutMirror;
627 QPointF computeTransformOrigin()
const;
628 virtual bool transformChanged(
QQuickItem *transformedItem);
640 bool filterKeyEvent(
QKeyEvent *,
bool post);
644 void deliverShortcutOverrideEvent(
QKeyEvent *);
647 virtual bool handlePointerEvent(
QPointerEvent *,
bool avoidGrabbers =
false);
649 virtual void setVisible(
bool visible);
651 bool isTransparentForPositioner()
const;
652 void setTransparentForPositioner(
bool trans);
654 bool calcEffectiveVisible()
const;
655 bool setEffectiveVisibleRecur(
bool);
656 bool calcEffectiveEnable()
const;
657 void setEffectiveEnableRecur(
QQuickItem *scope,
bool);
661 inline QSGNode *childContainerNode();
682 void refFromEffectItem(
bool hide);
683 void recursiveRefFromEffectItem(
int refs);
684 void derefFromEffectItem(
bool unhide);
690 void setHasCursorInChild(
bool hasCursor);
691 void setHasHoverInChild(
bool hasHover);
698 virtual void dumpItemTree(
int indent)
const;
722 virtual void componentComplete();
766 QML_UNCREATABLE(
"KeyNavigation is only available via attached properties.")
787 Priority priority()
const;
816 QML_UNCREATABLE(
"LayoutMirroring is only available via attached properties.")
913 Priority priority()
const;
921 void componentComplete()
override;
982 bool isConnected(
const char *signalName)
const;
988 (
extra.isAllocated() ?
extra->acceptedMouseButtons : Qt::MouseButtons{}));
1025#ifdef QSG_RUNTIME_DESCRIPTION
1050#if QT_CONFIG(quick_shadereffect)
The QCursor class provides a mouse cursor with an arbitrary shape.
The QEventPoint class provides information about a point in a QPointerEvent.
The QKeyEvent class describes a key event.
The QNetworkReply class contains the data and headers for a request sent with QNetworkAccessManager.
static QObjectPrivate * get(QObject *o)
const QObjectList & children() const
Returns a list of child objects.
QObject * parent() const
Returns a pointer to the parent object.
\inmodule QtCore\reentrant
A base class for pointer events.
The QQmlComponent class encapsulates a QML component definition.
The QQmlListProperty class allows applications to expose list-like properties of QObject-derived clas...
~QQuickContents() override
void calcGeometry(QQuickItem *changed=nullptr)
void itemChildRemoved(QQuickItem *, QQuickItem *) override
void itemChildAdded(QQuickItem *, QQuickItem *) override
void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &) override
void itemDestroyed(QQuickItem *item) override
void setType(Qt::EnterKeyType type)
static QQuickEnterKeyAttached * qmlAttachedProperties(QObject *)
virtual void itemParentChanged(QQuickItem *, QQuickItem *)
virtual void itemSiblingOrderChanged(QQuickItem *)
virtual void itemOpacityChanged(QQuickItem *)
virtual void itemGeometryChanged(QQuickItem *, QQuickGeometryChange, const QRectF &)
virtual void itemVisibilityChanged(QQuickItem *)
QQuickItem ** prevDirtyItem
quint32 replayingPressEvent
Q_OBJECT_COMPAT_PROPERTY(QQuickItemPrivate, qreal, y, &QQuickItemPrivate::setY, &QQuickItemPrivate::yChanged)
QLazilyAllocated< ExtraData, ExtraDataTags > extra
virtual void updatePolish()
void notifyChangeListeners(QQuickItemPrivate::ChangeTypes changeTypes, Fn &&function, Args &&...args)
Q_OBJECT_COMPAT_PROPERTY(QQuickItemPrivate, qreal, width, &QQuickItemPrivate::setWidth, &QQuickItemPrivate::widthChanged)
QSGOpacityNode * opacityNode() const
quint32 subtreeCursorEnabled
QQuickDefaultClipNode * clipNode() const
quint32 maybeHasSubsceneDeliveryAgent
QSGRenderContext * sceneGraphRenderContext() const
void setHeight(qreal height)
quint32 effectiveLayoutMirror
QSGTransformNode * itemNodeInstance
quint32 subtreeHoverEnabled
QPointer< QQuickItem > subFocusItem
QSGContext * sceneGraphContext() const
quint32 inheritMirrorFromItem
Q_OBJECT_COMPAT_PROPERTY(QQuickItemPrivate, qreal, x, &QQuickItemPrivate::setX, &QQuickItemPrivate::xChanged)
quint32 antialiasingValid
QList< QQuickItem * > * sortedChildItems
virtual void mirrorChange()
QQuickStateGroup * _stateGroup
QVector< QQuickItemPrivate::ChangeListener > changeListeners
quint32 notifiedActiveFocus
@ LeftMouseButtonAccepted
QSGNode * childContainerNode()
QQuickItem * nextDirtyItem
quint32 filtersChildMouseEvents
quint32 inheritMirrorFromParent
quint32 subtreeTransformChangedEnabled
QList< QQuickTransform * > transforms
Qt::MouseButtons acceptedMouseButtons() const
static const QQuickItemPrivate * get(const QQuickItem *item)
static void visibleChildren_append(QQmlListProperty< QQuickItem > *prop, QQuickItem *o)
QQuickItem::TransformOrigin origin() const
quint32 componentComplete
void markSortedChildrenDirty(QQuickItem *child)
quint32 inheritedLayoutMirror
QSGTransformNode * itemNode()
QSGRootNode * rootNode() const
void setWidth(qreal width)
quint32 implicitAntialiasing
Q_OBJECT_COMPAT_PROPERTY(QQuickItemPrivate, qreal, height, &QQuickItemPrivate::setHeight, &QQuickItemPrivate::heightChanged)
virtual QSGTransformNode * createTransformNode()
static QQuickItemPrivate * get(QQuickItem *item)
QList< QQuickItem * > childItems
void emitChildrenRectChanged(const QRectF &rect)
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
TransformOrigin
\variable QQuickItem::ItemChangeData::realValue The numeric value that has changed: \l {QQuickItem::o...
ItemChange
Used in conjunction with QQuickItem::itemChange() to notify the item about certain types of changes.
QQuickKeyNavigationAttachedPrivate()
QPointer< QQuickItem > down
QPointer< QQuickItem > up
QPointer< QQuickItem > backtab
QPointer< QQuickItem > left
QPointer< QQuickItem > tab
QPointer< QQuickItem > right
QList< QQuickItem * > targets
QQuickKeyEvent theKeyEvent
QQuickKeysAttachedPrivate()
void digit0Pressed(QQuickKeyEvent *event)
void digit1Pressed(QQuickKeyEvent *event)
void digit5Pressed(QQuickKeyEvent *event)
void digit9Pressed(QQuickKeyEvent *event)
void digit6Pressed(QQuickKeyEvent *event)
void volumeDownPressed(QQuickKeyEvent *event)
void tabPressed(QQuickKeyEvent *event)
void cancelPressed(QQuickKeyEvent *event)
void deletePressed(QQuickKeyEvent *event)
void hangupPressed(QQuickKeyEvent *event)
void enterPressed(QQuickKeyEvent *event)
void escapePressed(QQuickKeyEvent *event)
void callPressed(QQuickKeyEvent *event)
void upPressed(QQuickKeyEvent *event)
QQmlListProperty< QQuickItem > forwardTo()
void yesPressed(QQuickKeyEvent *event)
void context2Pressed(QQuickKeyEvent *event)
void backPressed(QQuickKeyEvent *event)
void menuPressed(QQuickKeyEvent *event)
void setEnabled(bool enabled)
void flipPressed(QQuickKeyEvent *event)
void rightPressed(QQuickKeyEvent *event)
void asteriskPressed(QQuickKeyEvent *event)
void digit2Pressed(QQuickKeyEvent *event)
void numberSignPressed(QQuickKeyEvent *event)
void leftPressed(QQuickKeyEvent *event)
void noPressed(QQuickKeyEvent *event)
void volumeUpPressed(QQuickKeyEvent *event)
void context3Pressed(QQuickKeyEvent *event)
void returnPressed(QQuickKeyEvent *event)
void released(QQuickKeyEvent *event)
void pressed(QQuickKeyEvent *event)
void spacePressed(QQuickKeyEvent *event)
void shortcutOverride(QQuickKeyEvent *event)
void selectPressed(QQuickKeyEvent *event)
void digit3Pressed(QQuickKeyEvent *event)
void backtabPressed(QQuickKeyEvent *event)
void digit4Pressed(QQuickKeyEvent *event)
void context1Pressed(QQuickKeyEvent *event)
void digit7Pressed(QQuickKeyEvent *event)
void downPressed(QQuickKeyEvent *event)
void context4Pressed(QQuickKeyEvent *event)
void digit8Pressed(QQuickKeyEvent *event)
void setChildrenInherit(bool)
void childrenInheritChanged()
static QQuickLayoutMirroringAttached * qmlAttachedProperties(QObject *)
\qmltype Window \instantiates QQuickWindow \inqmlmodule QtQuick
\inmodule QtCore\reentrant
The QSGContext holds the scene graph entry points for one QML engine.
\group qtquick-scenegraph-nodes \title Qt Quick Scene Graph Node classes
void setFlag(Flag, bool=true)
Sets the flag f on this node if enabled is true; otherwise clears the flag.
The QSGOpacityNode class is used to change opacity of nodes.
The QSGRootNode is the toplevel root of any scene graph.
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
The QTouchEvent class contains parameters that describe a touch event.
The QVector2D class represents a vector or vertex in 2D space.
[Window class with invokable method]
myinstance setPriority(MyClass::VeryHigh)
employee setName("Richard Schmit")
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction function
#define Q_DECLARE_FLAGS(Flags, Enum)
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
Q_CORE_EXPORT QDebug operator<<(QDebug, const QObject *)
GLint GLint GLint GLint GLint x
[0]
GLint GLsizei GLsizei height
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLsizei GLenum GLenum * types
GLdouble GLdouble GLdouble GLdouble top
GLenum GLenum GLsizei count
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLint GLsizei GLsizei GLenum format
GLfloat GLfloat GLfloat GLfloat h
GLuint GLenum GLenum transform
GLdouble GLdouble GLdouble GLdouble q
static qreal component(const QPointF &point, unsigned int i)
#define QML_DECLARE_TYPE(TYPE)
#define QML_UNCREATABLE(REASON)
#define QML_NAMED_ELEMENT(NAME)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
#define QML_ATTACHED(ATTACHED_TYPE)
QQuickAnchors * anchors(QQuickItem *item)
static QQuickItemPrivate::ChangeTypes changeTypes
void qsgnode_set_description(QSGNode *node, const QString &description)
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)
#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)
unsigned long long quint64
QGraphicsOpacityEffect * effect
the effect attached to this item
QQuickItemPrivate::ChangeTypes ChangeTypes
ChangeListener(QQuickItemChangeListener *l=nullptr, ChangeTypes t={ })
QQuickItemChangeListener * listener
bool operator==(const ChangeListener &other) const
ChangeListener(QQuickItemChangeListener *l, QQuickGeometryChange gt)
QQuickGeometryChange gTypes
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent