Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QQuickShape Class Reference

#include <qquickshape_p.h>

+ Inheritance diagram for QQuickShape:
+ Collaboration diagram for QQuickShape:

Public Types

enum  RendererType {
  UnknownRenderer , GeometryRenderer , NvprRenderer , SoftwareRenderer ,
  CurveRenderer
}
 
enum  Status { Null , Ready , Processing }
 
enum  ContainsMode { BoundingRectContains , FillContains }
 
enum  FillMode { NoResize , PreserveAspectFit , PreserveAspectCrop , Stretch }
 
enum  HAlignment { AlignLeft = Qt::AlignLeft , AlignRight = Qt::AlignRight , AlignHCenter = Qt::AlignHCenter }
 
enum  VAlignment { AlignTop = Qt::AlignTop , AlignBottom = Qt::AlignBottom , AlignVCenter = Qt::AlignVCenter }
 
- Public Types inherited from QQuickItem
enum  Flag {
  ItemClipsChildrenToShape = 0x01 , ItemIsFocusScope = 0x04 , ItemHasContents = 0x08 , ItemAcceptsDrops = 0x10 ,
  ItemIsViewport = 0x20 , ItemObservesViewport = 0x40
}
 \qmltype Item \instantiates QQuickItem \inherits QtObject \inqmlmodule QtQuick More...
 
enum  ItemChange {
  ItemChildAddedChange , ItemChildRemovedChange , ItemSceneChange , ItemVisibleHasChanged ,
  ItemParentHasChanged , ItemOpacityHasChanged , ItemActiveFocusHasChanged , ItemRotationHasChanged ,
  ItemAntialiasingHasChanged , ItemDevicePixelRatioHasChanged , ItemEnabledHasChanged
}
 Used in conjunction with QQuickItem::itemChange() to notify the item about certain types of changes. More...
 
enum  TransformOrigin {
  TopLeft , Top , TopRight , Left ,
  Center , Right , BottomLeft , Bottom ,
  BottomRight
}
 \variable QQuickItem::ItemChangeData::realValue The numeric value that has changed: \l {QQuickItem::opacity()}{opacity}, \l {QQuickItem::rotation()}{rotation}, or \l {QScreen::devicePixelRatio}{device pixel ratio}. More...
 

Signals

void rendererChanged ()
 
void asynchronousChanged ()
 
void vendorExtensionsEnabledChanged ()
 
void statusChanged ()
 
 Q_REVISION (6, 6) void preferredRendererTypeChanged()
 
 Q_REVISION (6, 6) void boundingRectChanged()
 
 Q_REVISION (1, 11) void containsModeChanged()
 
 Q_REVISION (6, 7) void fillModeChanged()
 
 Q_REVISION (6, 7) void horizontalAlignmentChanged()
 
 Q_REVISION (6, 7) void verticalAlignmentChanged()
 
- Signals inherited from QQuickItem
void childrenRectChanged (const QRectF &)
 
void baselineOffsetChanged (qreal)
 
void stateChanged (const QString &)
 
void focusChanged (bool)
 
void activeFocusChanged (bool)
 
Q_REVISION(6, 7) void focusPolicyChanged(Qt Q_REVISION (2, 1) void activeFocusOnTabChanged(bool)
 
void parentChanged (QQuickItem *)
 
void transformOriginChanged (TransformOrigin)
 
void smoothChanged (bool)
 
void antialiasingChanged (bool)
 
void clipChanged (bool)
 
 Q_REVISION (2, 1) void windowChanged(QQuickWindow *window)
 
void childrenChanged ()
 
void opacityChanged ()
 
void enabledChanged ()
 
void visibleChanged ()
 
void visibleChildrenChanged ()
 
void rotationChanged ()
 
void scaleChanged ()
 
void xChanged ()
 
void yChanged ()
 
void widthChanged ()
 
void heightChanged ()
 
void zChanged ()
 
void implicitWidthChanged ()
 
void implicitHeightChanged ()
 
 Q_REVISION (2, 11) void containmentMaskChanged()
 
 Q_REVISION (6, 0) void paletteChanged()
 
 Q_REVISION (6, 0) void paletteCreated()
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QQuickShape (QQuickItem *parent=nullptr)
 
 ~QQuickShape ()
 
RendererType rendererType () const
 \qmlproperty enumeration QtQuick.Shapes::Shape::rendererType \readonly
 
bool asynchronous () const
 \qmlproperty bool QtQuick.Shapes::Shape::asynchronous
 
void setAsynchronous (bool async)
 
 Q_REVISION (6, 6) RendererType preferredRendererType() const
 
 Q_REVISION (6, 6) void setPreferredRendererType(RendererType preferredType)
 
 Q_REVISION (6, 6) QRectF boundingRect() const override
 
bool vendorExtensionsEnabled () const
 \qmlproperty bool QtQuick.Shapes::Shape::vendorExtensionsEnabled
 
void setVendorExtensionsEnabled (bool enable)
 
Status status () const
 \qmlproperty enumeration QtQuick.Shapes::Shape::status \readonly
 
ContainsMode containsMode () const
 \qmlproperty enumeration QtQuick.Shapes::Shape::containsMode
 
void setContainsMode (ContainsMode containsMode)
 
bool contains (const QPointF &point) const override
 \qmlmethod bool QtQuick::Item::contains(point point)
 
QQmlListProperty< QObjectdata ()
 
 Q_REVISION (6, 7) FillMode fillMode() const
 
 Q_REVISION (6, 7) void setFillMode(FillMode new FillMode)
 
 Q_REVISION (6, 7) HAlignment horizontalAlignment() const
 
 Q_REVISION (6, 7) void setHorizontalAlignment(HAlignment new HorizontalAlignment)
 
 Q_REVISION (6, 7) VAlignment verticalAlignment() const
 
 Q_REVISION (6, 7) void setVerticalAlignment(VAlignment new VerticalAlignment)
 
- Public Member Functions inherited from QQuickItem
 QQuickItem (QQuickItem *parent=nullptr)
 Constructs a QQuickItem with the given parent.
 
 ~QQuickItem () override
 Destroys the QQuickItem.
 
QQuickWindowwindow () const
 Returns the window in which this item is rendered.
 
QQuickItemparentItem () const
 
void setParentItem (QQuickItem *parent)
 
void stackBefore (const QQuickItem *)
 Moves the specified sibling item to the index before this item within the list of children.
 
void stackAfter (const QQuickItem *)
 Moves the specified sibling item to the index after this item within the list of children.
 
QRectF childrenRect ()
 \qmlpropertygroup QtQuick::Item::childrenRect \qmlproperty real QtQuick::Item::childrenRect.x \qmlproperty real QtQuick::Item::childrenRect.y \qmlproperty real QtQuick::Item::childrenRect.width \qmlproperty real QtQuick::Item::childrenRect.height \readonly
 
QList< QQuickItem * > childItems () const
 Returns the children of this item.
 
bool clip () const
 \qmlproperty bool QtQuick::Item::clip This property holds whether clipping is enabled.
 
void setClip (bool)
 
QString state () const
 \qmlproperty string QtQuick::Item::state
 
void setState (const QString &)
 
qreal baselineOffset () const
 \qmlproperty int QtQuick::Item::baselineOffset
 
void setBaselineOffset (qreal)
 
QQmlListProperty< QQuickTransformtransform ()
 
qreal x () const
 
qreal y () const
 
QPointF position () const
 
void setX (qreal)
 
void setY (qreal)
 
void setPosition (const QPointF &)
 
QBindable< qrealbindableX ()
 
QBindable< qrealbindableY ()
 
qreal width () const
 
void setWidth (qreal)
 
void resetWidth ()
 
void setImplicitWidth (qreal)
 
qreal implicitWidth () const
 Returns the width of the item that is implied by other properties that determine the content.
 
QBindable< qrealbindableWidth ()
 
qreal height () const
 
void setHeight (qreal)
 
void resetHeight ()
 
void setImplicitHeight (qreal)
 
qreal implicitHeight () const
 
QBindable< qrealbindableHeight ()
 
QSizeF size () const
 
void setSize (const QSizeF &size)
 
TransformOrigin transformOrigin () const
 
void setTransformOrigin (TransformOrigin)
 
QPointF transformOriginPoint () const
 
void setTransformOriginPoint (const QPointF &)
 
qreal z () const
 
void setZ (qreal)
 
qreal rotation () const
 
void setRotation (qreal)
 
qreal scale () const
 
void setScale (qreal)
 
qreal opacity () const
 
void setOpacity (qreal)
 
bool isVisible () const
 
void setVisible (bool)
 
bool isEnabled () const
 
void setEnabled (bool)
 
bool smooth () const
 
void setSmooth (bool)
 
bool activeFocusOnTab () const
 \qmlproperty bool QtQuick::Item::activeFocusOnTab
 
void setActiveFocusOnTab (bool)
 
bool antialiasing () const
 
void setAntialiasing (bool)
 
void resetAntialiasing ()
 
Flags flags () const
 Returns the item flags for this item.
 
void setFlag (Flag flag, bool enabled=true)
 Enables the specified flag for this item if enabled is true; if enabled is false, the flag is disabled.
 
void setFlags (Flags flags)
 Enables the specified flags for this item.
 
virtual QRectF boundingRect () const
 Returns the extents of the item in its own coordinate system: a rectangle from {0, 0} to \l width() and \l height().
 
virtual QRectF clipRect () const
 Returns the rectangular area within this item that is currently visible in \l viewportItem(), if there is a viewport and the \l ItemObservesViewport flag is set; otherwise, the extents of this item in its own coordinate system: a rectangle from {0, 0} to \l width() and \l height().
 
QQuickItemviewportItem () const
 If the \l ItemObservesViewport flag is set, returns the nearest parent with the \l ItemIsViewport flag.
 
bool hasActiveFocus () const
 
bool hasFocus () const
 
void setFocus (bool)
 
void setFocus (bool focus, Qt::FocusReason reason)
 
bool isFocusScope () const
 Returns true if this item is a focus scope, and false otherwise.
 
QQuickItemscopedFocusItem () const
 If this item is a focus scope, this returns the item in its focus chain that currently has focus.
 
Qt::FocusPolicy focusPolicy () const
 
void setFocusPolicy (Qt::FocusPolicy policy)
 Sets the focus policy of this item to policy.
 
bool isAncestorOf (const QQuickItem *child) const
 Returns true if this item is an ancestor of child (i.e., if this item is child's parent, or one of child's parent's ancestors).
 
Qt::MouseButtons acceptedMouseButtons () const
 Returns the mouse buttons accepted by this item.
 
void setAcceptedMouseButtons (Qt::MouseButtons buttons)
 Sets the mouse buttons accepted by this item to buttons.
 
bool acceptHoverEvents () const
 Returns whether hover events are accepted by this item.
 
void setAcceptHoverEvents (bool enabled)
 If enabled is true, this sets the item to accept hover events; otherwise, hover events are not accepted by this item.
 
bool acceptTouchEvents () const
 Returns whether touch events are accepted by this item.
 
void setAcceptTouchEvents (bool accept)
 If enabled is true, this sets the item to accept touch events; otherwise, touch events are not accepted by this item.
 
bool isUnderMouse () const
 
void grabMouse ()
 
void ungrabMouse ()
 
bool keepMouseGrab () const
 Returns whether mouse input should exclusively remain with this item.
 
void setKeepMouseGrab (bool)
 Sets whether the mouse input should remain exclusively with this item.
 
bool filtersChildMouseEvents () const
 Returns whether pointer events intended for this item's children should be filtered through this item.
 
void setFiltersChildMouseEvents (bool filter)
 Sets whether pointer events intended for this item's children should be filtered through this item.
 
void grabTouchPoints (const QList< int > &ids)
 
void ungrabTouchPoints ()
 
bool keepTouchGrab () const
 Returns whether the touch points grabbed by this item should exclusively remain with this item.
 
void setKeepTouchGrab (bool)
 Sets whether the touch points grabbed by this item should remain exclusively with this item.
 
 Q_REVISION (2, 4) Q_INVOKABLE bool grabToImage(const QJSValue &callback
 
QSharedPointer< QQuickItemGrabResultgrabToImage (const QSize &targetSize=QSize())
 Grabs the item into an in-memory image.
 
QObjectcontainmentMask () const
 
void setContainmentMask (QObject *mask)
 
QTransform itemTransform (QQuickItem *, bool *) const
 \qmlmethod point QtQuick::Item::mapFromItem(Item item, real x, real y) \qmlmethod point QtQuick::Item::mapFromItem(Item item, point p) \qmlmethod rect QtQuick::Item::mapFromItem(Item item, real x, real y, real width, real height) \qmlmethod rect QtQuick::Item::mapFromItem(Item item, rect r)
 
QPointF mapToScene (const QPointF &point) const
 Maps the given point in this item's coordinate system to the equivalent point within the scene's coordinate system, and returns the mapped coordinate.
 
QRectF mapRectToItem (const QQuickItem *item, const QRectF &rect) const
 Maps the given rect in this item's coordinate system to the equivalent rectangular area within item's coordinate system, and returns the mapped rectangle value.
 
QRectF mapRectToScene (const QRectF &rect) const
 Maps the given rect in this item's coordinate system to the equivalent rectangular area within the scene's coordinate system, and returns the mapped rectangle value.
 
QPointF mapFromScene (const QPointF &point) const
 Maps the given point in the scene's coordinate system to the equivalent point within this item's coordinate system, and returns the mapped coordinate.
 
QRectF mapRectFromItem (const QQuickItem *item, const QRectF &rect) const
 Maps the given rect in item's coordinate system to the equivalent rectangular area within this item's coordinate system, and returns the mapped rectangle value.
 
QRectF mapRectFromScene (const QRectF &rect) const
 Maps the given rect in the scene's coordinate system to the equivalent rectangular area within this item's coordinate system, and returns the mapped rectangle value.
 
void polish ()
 Schedules a polish event for this item.
 
Q_INVOKABLE QPointF mapFromItem (const QQuickItem *item, const QPointF &point) const
 Maps the given point in item's coordinate system to the equivalent point within this item's coordinate system, and returns the mapped coordinate.
 
Q_INVOKABLE QPointF mapFromItem (const QQuickItem *item, qreal x, qreal y)
 
Q_INVOKABLE QRectF mapFromItem (const QQuickItem *item, const QRectF &rect) const
 
Q_INVOKABLE QRectF mapFromItem (const QQuickItem *item, qreal x, qreal y, qreal width, qreal height) const
 
Q_INVOKABLE QPointF mapToItem (const QQuickItem *item, const QPointF &point) const
 Maps the given point in this item's coordinate system to the equivalent point within item's coordinate system, and returns the mapped coordinate.
 
Q_INVOKABLE QPointF mapToItem (const QQuickItem *item, qreal x, qreal y)
 
Q_INVOKABLE QRectF mapToItem (const QQuickItem *item, const QRectF &rect) const
 
Q_INVOKABLE QRectF mapToItem (const QQuickItem *item, qreal x, qreal y, qreal width, qreal height) const
 
 Q_REVISION (2, 7) Q_INVOKABLE QPointF mapFromGlobal(qreal x
 
 Q_REVISION (2, 7) Q_INVOKABLE QPointF mapFromGlobal(const QPointF &point) const
 
 Q_REVISION (2, 7) Q_INVOKABLE QPointF mapToGlobal(qreal x
 
 Q_REVISION (2, 7) Q_INVOKABLE QPointF mapToGlobal(const QPointF &point) const
 
Q_INVOKABLE void forceActiveFocus ()
 \qmlmethod point QtQuick::Item::mapToItem(Item item, real x, real y) \qmlmethod point QtQuick::Item::mapToItem(Item item, point p) \qmlmethod rect QtQuick::Item::mapToItem(Item item, real x, real y, real width, real height) \qmlmethod rect QtQuick::Item::mapToItem(Item item, rect r)
 
Q_INVOKABLE void forceActiveFocus (Qt::FocusReason reason)
 \qmlmethod QtQuick::Item::forceActiveFocus(Qt::FocusReason reason) This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Forces active focus on the item with the given reason.
 
 Q_REVISION (2, 1) Q_INVOKABLE QQuickItem *nextItemInFocusChain(bool forward
 
Q_INVOKABLE QQuickItemchildAt (qreal x, qreal y) const
 \qmlmethod QtQuick::Item::childAt(real x, real y)
 
 Q_REVISION (6, 3) Q_INVOKABLE void ensurePolished()
 
 Q_REVISION (6, 3) Q_INVOKABLE void dumpItemTree() const
 
virtual bool isTextureProvider () const
 Returns true if this item is a texture provider.
 
virtual QSGTextureProvidertextureProvider () const
 Returns the texture provider for an item.
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 
- Public Member Functions inherited from QQmlParserStatus
 QQmlParserStatus ()
 
virtual ~QQmlParserStatus ()
 

Protected Member Functions

QSGNodeupdatePaintNode (QSGNode *node, UpdatePaintNodeData *) override
 Called on the render thread when it is time to sync the state of the item with the scene graph.
 
void updatePolish () override
 This function should perform any layout as required for this item.
 
void itemChange (ItemChange change, const ItemChangeData &data) override
 Called when change occurs for this item.
 
void componentComplete () override
 \reimp Derived classes should call the base class method before adding their own actions to perform at componentComplete.
 
void classBegin () override
 \reimp Derived classes should call the base class method before adding their own action to perform at classBegin.
 
- Protected Member Functions inherited from QQuickItem
bool event (QEvent *) override
 \reimp
 
bool isComponentComplete () const
 Returns true if construction of the QML component is complete; otherwise returns false.
 
virtual void geometryChange (const QRectF &newGeometry, const QRectF &oldGeometry)
 
bool widthValid () const
 Returns whether the width property has been set explicitly.
 
bool heightValid () const
 Returns whether the height property has been set explicitly.
 
void setImplicitSize (qreal, qreal)
 
virtual void keyPressEvent (QKeyEvent *event)
 This event handler can be reimplemented in a subclass to receive key press events for an item.
 
virtual void keyReleaseEvent (QKeyEvent *event)
 This event handler can be reimplemented in a subclass to receive key release events for an item.
 
virtual void focusInEvent (QFocusEvent *)
 This event handler can be reimplemented in a subclass to receive focus-in events for an item.
 
virtual void focusOutEvent (QFocusEvent *)
 This event handler can be reimplemented in a subclass to receive focus-out events for an item.
 
virtual void mousePressEvent (QMouseEvent *event)
 This event handler can be reimplemented in a subclass to receive mouse press events for an item.
 
virtual void mouseMoveEvent (QMouseEvent *event)
 This event handler can be reimplemented in a subclass to receive mouse move events for an item.
 
virtual void mouseReleaseEvent (QMouseEvent *event)
 This event handler can be reimplemented in a subclass to receive mouse release events for an item.
 
virtual void mouseDoubleClickEvent (QMouseEvent *event)
 This event handler can be reimplemented in a subclass to receive mouse double-click events for an item.
 
virtual void mouseUngrabEvent ()
 This event handler can be reimplemented in a subclass to be notified when a mouse ungrab event has occurred on this item.
 
virtual void touchUngrabEvent ()
 This event handler can be reimplemented in a subclass to be notified when a touch ungrab event has occurred on this item.
 
virtual void touchEvent (QTouchEvent *event)
 This event handler can be reimplemented in a subclass to receive touch events for an item.
 
virtual void hoverEnterEvent (QHoverEvent *event)
 This event handler can be reimplemented in a subclass to receive hover-enter events for an item.
 
virtual void hoverMoveEvent (QHoverEvent *event)
 This event handler can be reimplemented in a subclass to receive hover-move events for an item.
 
virtual void hoverLeaveEvent (QHoverEvent *event)
 This event handler can be reimplemented in a subclass to receive hover-leave events for an item.
 
virtual bool childMouseEventFilter (QQuickItem *, QEvent *)
 Reimplement this method to filter the pointer events that are received by this item's children.
 
virtual void releaseResources ()
 This function is called when an item should release graphics resources which are not already managed by the nodes returned from QQuickItem::updatePaintNode().
 
 QQuickItem (QQuickItemPrivate &dd, QQuickItem *parent=nullptr)
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 

Properties

RendererType rendererType
 
bool asynchronous
 
bool vendorExtensionsEnabled
 
RendererType preferredRendererType
 \qmlproperty enumeration QtQuick.Shapes::Shape::preferredRendererType
 
FINALStatus status
 
ContainsMode containsMode
 
QRectF boundingRect
 \qmlproperty rect QtQuick.Shapes::Shape::boundingRect \readonly
 
FINALFillMode fillMode
 \qmlproperty enumeration QtQuick.Shapes::Shape::fillMode
 
FINALHAlignment horizontalAlignment
 \qmlproperty enumeration QtQuick.Shapes::Shape::horizontalAlignment \qmlproperty enumeration QtQuick.Shapes::Shape::verticalAlignment
 
FINALVAlignment verticalAlignment
 
FINALQQmlListProperty< QObjectdata
 \qmlproperty list<Object> QtQuick.Shapes::Shape::data
 
- Properties inherited from QQuickItem
QQuickItemparent
 \qmlproperty Item QtQuick::Item::parent This property holds the visual parent of the item.
 
qreal x
 \qmlproperty real QtQuick::Item::x \qmlproperty real QtQuick::Item::y \qmlproperty real QtQuick::Item::width \qmlproperty real QtQuick::Item::height
 
qreal y
 Defines the item's y position relative to its parent.
 
qreal z
 \qmlproperty real QtQuick::Item::z
 
qreal width
 This property holds the width of this item.
 
qreal height
 This property holds the height of this item.
 
qreal opacity
 \qmlproperty real QtQuick::Item::opacity
 
bool enabled
 \qmlproperty bool QtQuick::Item::enabled
 
bool visible
 \qmlproperty bool QtQuick::Item::visible
 
Qt::FocusPolicy focusPolicy
 \qmlproperty enumeration QtQuick::Item::focusPolicy
 
qreal rotation
 \qmlproperty real QtQuick::Item::rotation This property holds the rotation of the item in degrees clockwise around its transformOrigin.
 
qreal scale
 \qmlproperty real QtQuick::Item::scale This property holds the scale factor for this item.
 
TransformOrigin transformOrigin
 \qmlproperty enumeration QtQuick::Item::transformOrigin This property holds the origin point around which scale and rotation transform.
 
QPointF transformOriginPoint
 
QQmlListProperty< QQuickTransformtransform
 \qmlproperty list<Transform> QtQuick::Item::transform This property holds the list of transformations to apply.
 
bool smooth
 \qmlproperty bool QtQuick::Item::smooth
 
bool antialiasing
 \qmlproperty bool QtQuick::Item::antialiasing
 
qreal implicitWidth
 
qreal implicitHeight
 
QObjectcontainmentMask
 \qmlproperty QObject* QtQuick::Item::containmentMask
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Additional Inherited Members

- Public Slots inherited from QQuickItem
void update ()
 Schedules a call to updatePaintNode() for this item.
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Public Attributes inherited from QQuickItem
const QSizetargetSize = QSize())
 
qreal y const
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 

Detailed Description

Definition at line 303 of file qquickshape_p.h.

Member Enumeration Documentation

◆ ContainsMode

Enumerator
BoundingRectContains 
FillContains 

Definition at line 340 of file qquickshape_p.h.

◆ FillMode

Enumerator
NoResize 
PreserveAspectFit 
PreserveAspectCrop 
Stretch 

Definition at line 346 of file qquickshape_p.h.

◆ HAlignment

Enumerator
AlignLeft 
AlignRight 
AlignHCenter 

Definition at line 354 of file qquickshape_p.h.

◆ RendererType

Enumerator
UnknownRenderer 
GeometryRenderer 
NvprRenderer 
SoftwareRenderer 
CurveRenderer 

Definition at line 324 of file qquickshape_p.h.

◆ Status

Enumerator
Null 
Ready 
Processing 

Definition at line 333 of file qquickshape_p.h.

◆ VAlignment

Enumerator
AlignTop 
AlignBottom 
AlignVCenter 

Definition at line 358 of file qquickshape_p.h.

Constructor & Destructor Documentation

◆ QQuickShape()

QQuickShape::QQuickShape ( QQuickItem * parent = nullptr)

Definition at line 724 of file qquickshape.cpp.

References QQuickItem::ItemHasContents, and QQuickItem::setFlag().

+ Here is the call graph for this function:

◆ ~QQuickShape()

QQuickShape::~QQuickShape ( )

Definition at line 730 of file qquickshape.cpp.

Member Function Documentation

◆ asynchronous()

bool QQuickShape::asynchronous ( ) const

\qmlproperty bool QtQuick.Shapes::Shape::asynchronous

When rendererType is Shape.GeometryRenderer or Shape.CurveRenderer, a certain amount of preprocessing of the input path is performed on the CPU during the polishing phase of the Shape. This is potentially expensive. To offload this work to separate worker threads, set this property to true.

When enabled, making a Shape visible will not wait for the content to become available. Instead, the GUI/main thread is not blocked and the results of the path rendering are shown only when all the asynchronous work has been finished.

The default value is false.

Definition at line 841 of file qquickshape.cpp.

References d.

◆ asynchronousChanged

void QQuickShape::asynchronousChanged ( )
signal

Referenced by setAsynchronous().

+ Here is the caller graph for this function:

◆ classBegin()

void QQuickShape::classBegin ( )
overrideprotectedvirtual

\reimp Derived classes should call the base class method before adding their own action to perform at classBegin.

Reimplemented from QQuickItem.

Definition at line 1108 of file qquickshape.cpp.

References QQuickItem::classBegin().

+ Here is the call graph for this function:

◆ componentComplete()

void QQuickShape::componentComplete ( )
overrideprotectedvirtual

\reimp Derived classes should call the base class method before adding their own actions to perform at componentComplete.

Reimplemented from QQuickItem.

Definition at line 1113 of file qquickshape.cpp.

References QQuickItem::componentComplete(), QObject::connect(), d, SIGNAL, and SLOT.

+ Here is the call graph for this function:

◆ contains()

bool QQuickShape::contains ( const QPointF & point) const
overridevirtual

\qmlmethod bool QtQuick::Item::contains(point point)

Returns true if this item contains point, which is in local coordinates; returns false otherwise. This is the same check that is used for hit-testing a QEventPoint during event delivery, and is affected by \l containmentMask if it is set.

Returns true if this item contains point, which is in local coordinates; returns false otherwise.

This function can be overridden in order to handle point collisions in items with custom shapes. The default implementation checks whether the point is inside \l containmentMask() if it is set, or inside the bounding box otherwise.

Note
This method is used for hit-testing each QEventPoint during event delivery, so the implementation should be kept as lightweight as possible.

Reimplemented from QQuickItem.

Definition at line 967 of file qquickshape.cpp.

References BoundingRectContains, QQuickItem::contains(), d, and FillContains.

Referenced by QDeclarativeCircleMapItemPrivateCPU::contains(), QDeclarativePolygonMapItemPrivateCPU::contains(), and QDeclarativeRectangleMapItemPrivateCPU::contains().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ containsMode()

QQuickShape::ContainsMode QQuickShape::containsMode ( ) const

\qmlproperty enumeration QtQuick.Shapes::Shape::containsMode

Since
QtQuick.Shapes 1.11

This property determines the definition of \l {QQuickItem::contains()}{contains()} for the Shape. It is useful in case you add \l {Qt Quick Input Handlers} and you want to react only when the mouse or touchpoint is fully inside the Shape.

\value Shape.BoundingRectContains The default implementation of \l QQuickItem::contains() checks only whether the given point is inside the rectangular bounding box. This is the most efficient implementation, which is why it's the default.

\value Shape.FillContains Check whether the interior (the part that would be filled if you are rendering it with fill) of any \l ShapePath that makes up this Shape contains the given point. The more complex and numerous ShapePaths you add, the less efficient this is to check, which can potentially slow down event delivery in your application. So it should be used with care.

One way to speed up the FillContains check is to generate an approximate outline with as few points as possible, place that in a transparent Shape on top, and add your Pointer Handlers to that, so that the containment check is cheaper during event delivery.

Definition at line 951 of file qquickshape.cpp.

References d.

◆ data()

QQmlListProperty< QObject > QQuickShape::data ( )

◆ itemChange()

void QQuickShape::itemChange ( ItemChange change,
const ItemChangeData & value )
overrideprotectedvirtual

Called when change occurs for this item.

value contains extra information relating to the change, when applicable.

If you re-implement this method in a subclass, be sure to call

virtual void itemChange(ItemChange, const ItemChangeData &)
Called when change occurs for this item.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]

typically at the end of your implementation, to ensure the \l windowChanged() signal will be emitted.

Reimplemented from QQuickItem.

Definition at line 1156 of file qquickshape.cpp.

References d, QQuickShapePathPrivate::DirtyAll, QQuickShapePathPrivate::get(), i, QQuickItem::itemChange(), QQuickItem::ItemSceneChange, and QQuickItem::ItemVisibleHasChanged.

+ Here is the call graph for this function:

◆ Q_REVISION [1/15]

QQuickShape::Q_REVISION ( 1 ,
11  )
signal

◆ Q_REVISION() [2/15]

QQuickShape::Q_REVISION ( 6 ,
6  ) const
override

◆ Q_REVISION() [3/15]

QQuickShape::Q_REVISION ( 6 ,
6  ) const

◆ Q_REVISION [4/15]

QQuickShape::Q_REVISION ( 6 ,
6  )
signal

◆ Q_REVISION [5/15]

QQuickShape::Q_REVISION ( 6 ,
6  )
signal

◆ Q_REVISION() [6/15]

QQuickShape::Q_REVISION ( 6 ,
6  )

◆ Q_REVISION() [7/15]

QQuickShape::Q_REVISION ( 6 ,
7  ) const

◆ Q_REVISION() [8/15]

QQuickShape::Q_REVISION ( 6 ,
7  ) const

◆ Q_REVISION() [9/15]

QQuickShape::Q_REVISION ( 6 ,
7  ) const

◆ Q_REVISION [10/15]

QQuickShape::Q_REVISION ( 6 ,
7  )
signal

◆ Q_REVISION [11/15]

QQuickShape::Q_REVISION ( 6 ,
7  )
signal

◆ Q_REVISION() [12/15]

QQuickShape::Q_REVISION ( 6 ,
7  )
new

◆ Q_REVISION() [13/15]

QQuickShape::Q_REVISION ( 6 ,
7  )
new

◆ Q_REVISION() [14/15]

QQuickShape::Q_REVISION ( 6 ,
7  )
new

◆ Q_REVISION [15/15]

QQuickShape::Q_REVISION ( 6 ,
7  )
signal

◆ rendererChanged

void QQuickShape::rendererChanged ( )
signal

Referenced by updatePolish().

+ Here is the caller graph for this function:

◆ rendererType()

QQuickShape::RendererType QQuickShape::rendererType ( ) const

\qmlproperty enumeration QtQuick.Shapes::Shape::rendererType \readonly

This property determines which path rendering backend is active.

\value Shape.UnknownRenderer The renderer is unknown.

\value Shape.GeometryRenderer The generic, driver independent solution for GPU rendering. Uses the same CPU-based triangulation approach as QPainter's OpenGL 2 paint engine. This is the default when the RHI-based Qt Quick scenegraph backend is in use.

\value Shape.SoftwareRenderer Pure QPainter drawing using the raster paint engine. This is the default, and only, option when the Qt Quick scenegraph is running with the software backend.

\value Shape.CurveRenderer GPU-based renderer that aims to preserve curvature at any scale. In contrast to Shape.GeometryRenderer, curves are not approximated by short straight lines. Instead, curves are rendered using a specialized fragment shader. This improves visual quality and avoids re-tesselation performance hit when zooming. Also, Shape.CurveRenderer provides native, high-quality anti-aliasing, without the performance cost of multi- or supersampling.

By default, Shape.GeometryRenderer will be selected unless the Qt Quick scenegraph is running with the software backend. In that case, Shape.SoftwareRenderer will be used. Shape.CurveRenderer may be requested using the \l preferredRendererType property.

Note
The Shape.CurveRenderer will approximate cubic curves with quadratic ones and may therefore diverge slightly from the mathematically correct visualization of the shape. In addition, if the shape is being rendered into a Qt Quick 3D scene and the OpenGL backend for RHI is active, the GL_OES_standard_derivatives extension to OpenGL is required (this is available by default on OpenGL ES 3 and later, but optional in OpenGL ES 2.)

Definition at line 773 of file qquickshape.cpp.

References d.

◆ setAsynchronous()

void QQuickShape::setAsynchronous ( bool async)

Definition at line 847 of file qquickshape.cpp.

References asynchronousChanged(), d, and emit.

+ Here is the call graph for this function:

◆ setContainsMode()

◆ setVendorExtensionsEnabled()

void QQuickShape::setVendorExtensionsEnabled ( bool enable)

Definition at line 894 of file qquickshape.cpp.

References d, emit, and vendorExtensionsEnabledChanged().

+ Here is the call graph for this function:

◆ status()

QQuickShape::Status QQuickShape::status ( ) const

\qmlproperty enumeration QtQuick.Shapes::Shape::status \readonly

This property determines the status of the Shape and is relevant when Shape.asynchronous is set to true.

\value Shape.Null Not yet initialized.

\value Shape.Ready The Shape has finished processing.

\value Shape.Processing The path is being processed.

Definition at line 920 of file qquickshape.cpp.

References d.

◆ statusChanged

void QQuickShape::statusChanged ( )
signal

◆ updatePaintNode()

QSGNode * QQuickShape::updatePaintNode ( QSGNode * oldNode,
UpdatePaintNodeData * updatePaintNodeData )
overrideprotectedvirtual

Called on the render thread when it is time to sync the state of the item with the scene graph.

The function is called as a result of QQuickItem::update(), if the user has set the QQuickItem::ItemHasContents flag on the item.

The function should return the root of the scene graph subtree for this item. Most implementations will return a single QSGGeometryNode containing the visual representation of this item. oldNode is the node that was returned the last time the function was called. updatePaintNodeData provides a pointer to the QSGTransformNode associated with this QQuickItem.

QSGNode *MyItem::updatePaintNode(QSGNode *node, UpdatePaintNodeData *)
{
QSGSimpleRectNode *n = static_cast<QSGSimpleRectNode *>(node);
if (!n) {
n->setColor(Qt::red);
}
n->setRect(boundingRect());
return n;
}
QRectF boundingRect
\qmlproperty rect QtQuick.Shapes::Shape::boundingRect \readonly
\group qtquick-scenegraph-nodes \title Qt Quick Scene Graph Node classes
Definition qsgnode.h:37
The QSGSimpleRectNode class is a convenience class for drawing solid filled rectangles using scenegra...
@ red
Definition qnamespace.h:35
GLfloat n

The main thread is blocked while this function is executed so it is safe to read values from the QQuickItem instance and other objects in the main thread.

If no call to QQuickItem::updatePaintNode() result in actual scene graph changes, like QSGNode::markDirty() or adding and removing nodes, then the underlying implementation may decide to not render the scene again as the visual outcome is identical.

Warning
It is crucial that graphics operations and interaction with the scene graph happens exclusively on the render thread, primarily during the QQuickItem::updatePaintNode() call. The best rule of thumb is to only use classes with the "QSG" prefix inside the QQuickItem::updatePaintNode() function.
This function is called on the render thread. This means any QObjects or thread local storage that is created will have affinity to the render thread, so apply caution when doing anything other than rendering in this function. Similarly for signals, these will be emitted on the render thread and will thus often be delivered via queued connections.
Note
All classes with QSG prefix should be used solely on the scene graph's rendering thread. See \l {Scene Graph and Rendering} for more information.
See also
QSGMaterial, QSGGeometryNode, QSGGeometry, QSGFlatColorMaterial, QSGTextureMaterial, QSGNode::markDirty(), {Graphics Resource Handling}

Reimplemented from QQuickItem.

Definition at line 1172 of file qquickshape.cpp.

References AlignBottom, AlignHCenter, AlignLeft, AlignRight, AlignTop, AlignVCenter, d, QQuickItem::height, QQuickItem::implicitHeight, QQuickItem::implicitWidth, NoResize, PreserveAspectCrop, PreserveAspectFit, qMax(), qMin(), setMatrix(), and QQuickItem::width.

+ Here is the call graph for this function:

◆ updatePolish()

void QQuickShape::updatePolish ( )
overrideprotectedvirtual

This function should perform any layout as required for this item.

When polish() is called, the scene graph schedules a polish event for this item. When the scene graph is ready to render this item, it calls updatePolish() to do any item layout as required before it renders the next frame.

See also
ensurePolished()

Reimplemented from QQuickItem.

Definition at line 1125 of file qquickshape.cpp.

References d, emit, QQuickItem::isVisible(), and rendererChanged().

+ Here is the call graph for this function:

◆ vendorExtensionsEnabled()

bool QQuickShape::vendorExtensionsEnabled ( ) const

\qmlproperty bool QtQuick.Shapes::Shape::vendorExtensionsEnabled

This property controls the usage of non-standard OpenGL extensions.

The default value is false.

As of Qt 6.0 there are no vendor-specific rendering paths implemented.

Definition at line 888 of file qquickshape.cpp.

References d.

◆ vendorExtensionsEnabledChanged

void QQuickShape::vendorExtensionsEnabledChanged ( )
signal

Referenced by setVendorExtensionsEnabled().

+ Here is the caller graph for this function:

Property Documentation

◆ asynchronous

bool QQuickShape::asynchronous
readwrite

Definition at line 307 of file qquickshape_p.h.

◆ boundingRect

QRectF QQuickShape::boundingRect
read

\qmlproperty rect QtQuick.Shapes::Shape::boundingRect \readonly

Since
6.6

Contains the united bounding rect of all sub paths in the shape.

Definition at line 313 of file qquickshape_p.h.

◆ containsMode

ContainsMode QQuickShape::containsMode
readwrite

Definition at line 312 of file qquickshape_p.h.

Referenced by setContainsMode().

◆ data

QQmlListProperty< QObject > QQuickShape::data
read

\qmlproperty list<Object> QtQuick.Shapes::Shape::data

This property holds the ShapePath objects that define the contents of the Shape. It can also contain any other type of objects, since Shape, like Item, allows adding any visual or non-visual objects as children.

\qmldefault

Definition at line 318 of file qquickshape_p.h.

Referenced by QDeclarativeCircleMapItemPrivateCPU::QDeclarativeCircleMapItemPrivateCPU(), QDeclarativePolygonMapItemPrivateCPU::QDeclarativePolygonMapItemPrivateCPU(), QDeclarativePolylineMapItemPrivateCPU::QDeclarativePolylineMapItemPrivateCPU(), QDeclarativeRectangleMapItemPrivateCPU::QDeclarativeRectangleMapItemPrivateCPU(), and QQuickItemGenerator::outputShapePath().

◆ fillMode

QQuickShape::FillMode QQuickShape::fillMode
readwrite

\qmlproperty enumeration QtQuick.Shapes::Shape::fillMode

Since
QtQuick.Shapes 6.7

Set this property to define what happens when the path has a different size than the item.

\value Shape.NoResize the shape is rendered at its native size, independent of the size of the item. This is the default \value Shape.Stretch the shape is scaled to fit the item, changing the aspect ratio if necessary. Note that non-uniform scaling may cause reduced quality of anti-aliasing when using the curve renderer \value Shape.PreserveAspectFit the shape is scaled uniformly to fit inside the item \value Shape.PreserveAspectCrop the shape is scaled uniformly to fill the item fully, extending outside the item if necessary. Note that this only actually crops the content if \l clip is true

Definition at line 314 of file qquickshape_p.h.

◆ horizontalAlignment

QQuickShape::HAlignment QQuickShape::horizontalAlignment
readwrite

\qmlproperty enumeration QtQuick.Shapes::Shape::horizontalAlignment \qmlproperty enumeration QtQuick.Shapes::Shape::verticalAlignment

Since
6.7

Sets the horizontal and vertical alignment of the shape within the item. By default, the shape is aligned with {(0,0)} on the top left corner.

The valid values for horizontalAlignment are Shape.AlignLeft, Shape.AlignRight and Shape.AlignHCenter. The valid values for verticalAlignment are Shape.AlignTop, Shape.AlignBottom and Shape.AlignVCenter.

Definition at line 315 of file qquickshape_p.h.

◆ preferredRendererType

QQuickShape::RendererType QQuickShape::preferredRendererType
readwrite

\qmlproperty enumeration QtQuick.Shapes::Shape::preferredRendererType

Since
6.6

Requests a specific backend to use for rendering the shape. The possible values are the same as for \l rendererType. The default is Shape.UnknownRenderer, indicating no particular preference.

If the requested renderer type is not supported for the current Qt Quick backend, the default renderer for that backend will be used instead. This will be reflected in the \l rendererType when the backend is initialized.

Shape.SoftwareRenderer can currently not be selected without running the scenegraph with the software backend, in which case it will be selected regardless of the preferredRendererType.

See \l rendererType for more information on the implications.

Definition at line 309 of file qquickshape_p.h.

◆ rendererType

RendererType QQuickShape::rendererType
read

Definition at line 306 of file qquickshape_p.h.

◆ status

FINALStatus QQuickShape::status
read

Definition at line 311 of file qquickshape_p.h.

◆ vendorExtensionsEnabled

bool QQuickShape::vendorExtensionsEnabled
readwrite

Definition at line 308 of file qquickshape_p.h.

◆ verticalAlignment

QQuickShape::VAlignment QQuickShape::verticalAlignment
readwrite

Definition at line 316 of file qquickshape_p.h.


The documentation for this class was generated from the following files: