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
QQuickShapePrivate Class Reference

#include <qquickshape_p_p.h>

+ Inheritance diagram for QQuickShapePrivate:
+ Collaboration diagram for QQuickShapePrivate:

Public Member Functions

 QQuickShapePrivate ()
 Renders a path.
 
 ~QQuickShapePrivate ()
 
QQuickShape::RendererType selectRendererType ()
 
void createRenderer ()
 
QSGNodecreateNode ()
 
void sync ()
 
void _q_shapePathChanged ()
 
void setStatus (QQuickShape::Status newStatus)
 
qreal getImplicitWidth () const override
 
qreal getImplicitHeight () const override
 
- Public Member Functions inherited from QQuickItemPrivate
 QQuickItemPrivate ()
 
 ~QQuickItemPrivate () override
 
void init (QQuickItem *parent)
 
QQmlListProperty< QObjectdata ()
 
QQmlListProperty< QObjectresources ()
 
QQmlListProperty< QQuickItemchildren ()
 
QQmlListProperty< QQuickItemvisibleChildren ()
 
QQmlListProperty< QQuickStatestates ()
 
QQmlListProperty< QQuickTransitiontransitions ()
 
QString state () const
 
void setState (const QString &)
 
QQuickAnchorLine left () const
 
QQuickAnchorLine right () const
 
QQuickAnchorLine horizontalCenter () const
 
QQuickAnchorLine top () const
 
QQuickAnchorLine bottom () const
 
QQuickAnchorLine verticalCenter () const
 
QQuickAnchorLine baseline () const
 
void localizedTouchEvent (const QTouchEvent *event, bool isFiltering, QMutableTouchEvent *localized)
 
bool hasPointerHandlers () const
 
bool hasEnabledHoverHandlers () const
 
virtual void addPointerHandler (QQuickPointerHandler *h)
 
virtual void removePointerHandler (QQuickPointerHandler *h)
 
void _q_resourceObjectDeleted (QObject *)
 
quint64 _q_createJSWrapper (QQmlV4ExecutionEnginePtr engine)
 
template<typename Fn , typename ... Args>
void notifyChangeListeners (QQuickItemPrivate::ChangeTypes changeTypes, Fn &&function, Args &&...args)
 
virtual void registerAsContainmentMask (QQuickItem *, bool)
 
QQuickAnchorsanchors () const
 \qmlpropertygroup QtQuick::Item::anchors \qmlproperty AnchorLine QtQuick::Item::anchors.top \qmlproperty AnchorLine QtQuick::Item::anchors.bottom \qmlproperty AnchorLine QtQuick::Item::anchors.left \qmlproperty AnchorLine QtQuick::Item::anchors.right \qmlproperty AnchorLine QtQuick::Item::anchors.horizontalCenter \qmlproperty AnchorLine QtQuick::Item::anchors.verticalCenter \qmlproperty AnchorLine QtQuick::Item::anchors.baseline
 
Qt::MouseButtons acceptedMouseButtons () const
 
void addItemChangeListener (QQuickItemChangeListener *listener, ChangeTypes types)
 
void updateOrAddItemChangeListener (QQuickItemChangeListener *listener, ChangeTypes types)
 
void removeItemChangeListener (QQuickItemChangeListener *, ChangeTypes types)
 
void updateOrAddGeometryChangeListener (QQuickItemChangeListener *listener, QQuickGeometryChange types)
 
void updateOrRemoveGeometryChangeListener (QQuickItemChangeListener *listener, QQuickGeometryChange types)
 
QQuickStateGroup_states ()
 
QQuickItem::TransformOrigin origin () const
 
QString dirtyToString () const
 
void dirty (DirtyType)
 
void addToDirtyList ()
 
void removeFromDirtyList ()
 
void setCulled (bool)
 
QSGContextsceneGraphContext () const
 
QSGRenderContextsceneGraphRenderContext () const
 
QList< QQuickItem * > paintOrderChildItems () const
 
void addChild (QQuickItem *)
 
void removeChild (QQuickItem *)
 
void siblingOrderChanged ()
 
void markSortedChildrenDirty (QQuickItem *child)
 
void refWindow (QQuickWindow *)
 
void derefWindow ()
 
void updateSubFocusItem (QQuickItem *scope, bool focus)
 Clears all sub focus items from scope.
 
bool setFocusIfNeeded (QEvent::Type)
 
Qt::FocusReason lastFocusChangeReason () const
 
void setLastFocusChangeReason (Qt::FocusReason reason)
 
QTransform windowToItemTransform () const
 Returns a transform that maps points from window space into item space.
 
QTransform itemToWindowTransform () const
 Returns a transform that maps points from item space into window space.
 
void itemToParentTransform (QTransform *) const
 Modifies t with this item's local transform relative to its parent.
 
QTransform globalToWindowTransform () const
 Returns a transform that maps points from global space into window space.
 
QTransform windowToGlobalTransform () const
 Returns a transform that maps points from window space into global space.
 
void setX (qreal x)
 
void xChanged ()
 
 Q_OBJECT_COMPAT_PROPERTY (QQuickItemPrivate, qreal, x, &QQuickItemPrivate::setX, &QQuickItemPrivate::xChanged)
 
void setY (qreal y)
 
void yChanged ()
 
 Q_OBJECT_COMPAT_PROPERTY (QQuickItemPrivate, qreal, y, &QQuickItemPrivate::setY, &QQuickItemPrivate::yChanged)
 
void setWidth (qreal width)
 
void widthChanged ()
 
 Q_OBJECT_COMPAT_PROPERTY (QQuickItemPrivate, qreal, width, &QQuickItemPrivate::setWidth, &QQuickItemPrivate::widthChanged)
 
void setHeight (qreal height)
 
void heightChanged ()
 
 Q_OBJECT_COMPAT_PROPERTY (QQuickItemPrivate, qreal, height, &QQuickItemPrivate::setHeight, &QQuickItemPrivate::heightChanged)
 
bool widthValid () const
 
bool heightValid () const
 
qreal z () const
 
qreal scale () const
 
qreal rotation () const
 
qreal opacity () const
 
void setAccessible ()
 
virtual void implicitWidthChanged ()
 
virtual void implicitHeightChanged ()
 
void setImplicitAntialiasing (bool antialiasing)
 
void resolveLayoutMirror ()
 
void setImplicitLayoutMirror (bool mirror, bool inherit)
 
void setLayoutMirror (bool mirror)
 
bool isMirrored () const
 
void emitChildrenRectChanged (const QRectF &rect)
 
QPointF computeTransformOrigin () const
 
virtual bool transformChanged (QQuickItem *transformedItem)
 
QPointF adjustedPosForTransform (const QPointF &centroid, const QPointF &startPos, const QVector2D &activeTranslatation, qreal startScale, qreal activeScale, qreal startRotation, qreal activeRotation)
 
QQuickDeliveryAgentdeliveryAgent ()
 
QQuickDeliveryAgentPrivatedeliveryAgentPrivate ()
 
QQuickDeliveryAgentensureSubsceneDeliveryAgent ()
 
void deliverKeyEvent (QKeyEvent *)
 
bool filterKeyEvent (QKeyEvent *, bool post)
 
void deliverShortcutOverrideEvent (QKeyEvent *)
 
void deliverPointerEvent (QEvent *)
 
bool anyPointerHandlerWants (const QPointerEvent *event, const QEventPoint &point) const
 
virtual bool handlePointerEvent (QPointerEvent *, bool avoidGrabbers=false)
 
virtual void setVisible (bool visible)
 
bool isTransparentForPositioner () const
 
void setTransparentForPositioner (bool trans)
 
bool calcEffectiveVisible () const
 
bool setEffectiveVisibleRecur (bool)
 
bool calcEffectiveEnable () const
 
void setEffectiveEnableRecur (QQuickItem *scope, bool)
 
QSGTransformNodeitemNode ()
 
QSGNodechildContainerNode ()
 
QSGOpacityNodeopacityNode () const
 
QQuickDefaultClipNodeclipNode () const
 
QSGRootNoderootNode () const
 
virtual QSGTransformNodecreateTransformNode ()
 
void refFromEffectItem (bool hide)
 
void recursiveRefFromEffectItem (int refs)
 
void derefFromEffectItem (bool unhide)
 
void itemChange (QQuickItem::ItemChange, const QQuickItem::ItemChangeData &)
 
void enableSubtreeChangeNotificationsForParentHierachy ()
 
virtual void mirrorChange ()
 
void setHasCursorInChild (bool hasCursor)
 
void setHasHoverInChild (bool hasHover)
 
virtual void updatePolish ()
 
virtual void dumpItemTree (int indent) const
 
QLayoutPolicy sizePolicy () const
 
void setSizePolicy (const QLayoutPolicy::Policy &horizontalPolicy, const QLayoutPolicy::Policy &verticalPolicy)
 
- Public Member Functions inherited from QObjectPrivate
void ensureExtraData ()
 
 QObjectPrivate (int version=QObjectPrivateVersion)
 
virtual ~QObjectPrivate ()
 
void deleteChildren ()
 
void clearBindingStorage ()
 
void checkForIncompatibleLibraryVersion (int version) const
 
void setParent_helper (QObject *)
 
void moveToThread_helper ()
 
void setThreadData_helper (QThreadData *currentData, QThreadData *targetData, QBindingStatus *status)
 
QObjectList receiverList (const char *signal) const
 
void ensureConnectionData ()
 
void addConnection (int signal, Connection *c)
 
int signalIndex (const char *signalName, const QMetaObject **meta=nullptr) const
 
bool isSignalConnected (uint signalIdx, bool checkDeclarative=true) const
 
bool maybeSignalConnected (uint signalIndex) const
 
bool isDeclarativeSignalConnected (uint signalIdx) const
 
void connectNotify (const QMetaMethod &signal)
 
void disconnectNotify (const QMetaMethod &signal)
 
void reinitBindingStorageAfterThreadMove ()
 
virtual std::string flagsForDumping () const
 
virtual void writeToDebugStream (QDebug &) const
 
QtPrivate::QPropertyAdaptorSlotObjectgetPropertyAdaptorSlotObject (const QMetaProperty &property)
 
- Public Member Functions inherited from QObjectData
 QObjectData ()=default
 
virtual ~QObjectData ()=0
 
QMetaObjectdynamicMetaObject () const
 
- Public Member Functions inherited from QQuickPaletteProviderPrivateBase< QQuickItem, QQuickItemPrivate >
virtual ~QQuickPaletteProviderPrivateBase ()=default
 
virtual QQuickPalettepalette () const
 
virtual void setPalette (QQuickPalette *p)
 
virtual void resetPalette ()
 
virtual bool providesPalette () const
 
QPalette defaultPalette () const override
 
QPalette parentPalette (const QPalette &fallbackPalette) const override
 
void inheritPalette (const QPalette &parentPalette)
 
virtual void updateChildrenPalettes (const QPalette &parentPalette)
 
- Public Member Functions inherited from QQuickAbstractPaletteProvider
virtual ~QQuickAbstractPaletteProvider ()=default
 

Static Public Member Functions

static QQuickShapePrivateget (QQuickShape *item)
 
static void asyncShapeReady (void *data)
 
- Static Public Member Functions inherited from QQuickItemPrivate
static QQuickItemPrivateget (QQuickItem *item)
 
static const QQuickItemPrivateget (const QQuickItem *item)
 
static void data_append (QQmlListProperty< QObject > *, QObject *)
 
static qsizetype data_count (QQmlListProperty< QObject > *)
 \qmlproperty list<QtObject> QtQuick::Item::data \qmldefault
 
static QObjectdata_at (QQmlListProperty< QObject > *, qsizetype)
 
static void data_clear (QQmlListProperty< QObject > *)
 
static void data_removeLast (QQmlListProperty< QObject > *)
 
static QObjectresources_at (QQmlListProperty< QObject > *, qsizetype)
 
static void resources_append (QQmlListProperty< QObject > *, QObject *)
 
static qsizetype resources_count (QQmlListProperty< QObject > *)
 
static void resources_clear (QQmlListProperty< QObject > *)
 
static void resources_removeLast (QQmlListProperty< QObject > *)
 
static void children_append (QQmlListProperty< QQuickItem > *, QQuickItem *)
 
static qsizetype children_count (QQmlListProperty< QQuickItem > *)
 
static QQuickItemchildren_at (QQmlListProperty< QQuickItem > *, qsizetype)
 
static void children_clear (QQmlListProperty< QQuickItem > *)
 
static void children_removeLast (QQmlListProperty< QQuickItem > *)
 
static qsizetype visibleChildren_count (QQmlListProperty< QQuickItem > *prop)
 
static QQuickItemvisibleChildren_at (QQmlListProperty< QQuickItem > *prop, qsizetype index)
 
static qsizetype transform_count (QQmlListProperty< QQuickTransform > *list)
 
static void transform_append (QQmlListProperty< QQuickTransform > *list, QQuickTransform *)
 
static QQuickTransformtransform_at (QQmlListProperty< QQuickTransform > *list, qsizetype)
 
static void transform_clear (QQmlListProperty< QQuickTransform > *list)
 
static bool focusNextPrev (QQuickItem *item, bool forward)
 QQuickItemPrivate::focusNextPrev focuses the next/prev item in the tab-focus-chain.
 
static QQuickItemnextTabChildItem (const QQuickItem *item, int start)
 
static QQuickItemprevTabChildItem (const QQuickItem *item, int start)
 
static QQuickItemnextPrevItemInTabFocusChain (QQuickItem *item, bool forward, bool wrap=true)
 
static bool canAcceptTabFocus (QQuickItem *item)
 
- Static Public Member Functions inherited from QObjectPrivate
static bool removeConnection (Connection *c)
 
static QObjectPrivateget (QObject *o)
 
static const QObjectPrivateget (const QObject *o)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiverPrivate, Func2 slot)
 
static QMetaObject::Connection connectImpl (const QObject *sender, int signal_index, const QObject *receiver, void **slot, QtPrivate::QSlotObjectBase *slotObj, int type, const int *types, const QMetaObject *senderMetaObject)
 
static QMetaObject::Connection connect (const QObject *sender, int signal_index, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type)
 
static QMetaObject::Connection connect (const QObject *sender, int signal_index, const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj, Qt::ConnectionType type)
 
static bool disconnect (const QObject *sender, int signal_index, void **slot)
 
static bool disconnect (const QObject *sender, int signal_index, const QObject *receiver, void **slot)
 

Public Attributes

int effectRefCount
 
QVector< QQuickShapePath * > sp
 
QElapsedTimer syncTimer
 
QQuickAbstractPathRendererrenderer = nullptr
 
int syncTimingTotalDirty = 0
 
int syncTimeCounter = 0
 
QQuickShape::Status status = QQuickShape::Null
 
QQuickShape::RendererType rendererType = QQuickShape::UnknownRenderer
 
QQuickShape::RendererType preferredType = QQuickShape::UnknownRenderer
 
QQuickShape::ContainsMode containsMode = QQuickShape::BoundingRectContains
 
QQuickShape::FillMode fillMode = QQuickShape::NoResize
 
QQuickShape::HAlignment horizontalAlignment = QQuickShape::AlignLeft
 
QQuickShape::VAlignment verticalAlignment = QQuickShape::AlignTop
 
bool spChanged = false
 
bool rendererChanged = false
 
bool async = false
 
bool enableVendorExts = false
 
bool syncTimingActive = false
 
qreal triangulationScale = 1.0
 
- Public Attributes inherited from QQuickItemPrivate
QLazilyAllocated< ExtraData, ExtraDataTags > extra
 
QQuickAnchors_anchors
 
QVector< QQuickItemPrivate::ChangeListenerchangeListeners
 
QQuickStateGroup_stateGroup
 
quint32 flags:7
 
quint32 widthValidFlag:1
 
quint32 heightValidFlag:1
 
quint32 componentComplete:1
 
quint32 keepMouse:1
 
quint32 keepTouch:1
 
quint32 hoverEnabled:1
 
quint32 smooth:1
 
quint32 antialiasing:1
 
quint32 focus:1
 
quint32 activeFocus:1
 
quint32 notifiedFocus:1
 
quint32 notifiedActiveFocus:1
 
quint32 filtersChildMouseEvents:1
 
quint32 explicitVisible:1
 
quint32 effectiveVisible:1
 
quint32 explicitEnable:1
 
quint32 effectiveEnable:1
 
quint32 polishScheduled:1
 
quint32 inheritedLayoutMirror:1
 
quint32 effectiveLayoutMirror:1
 
quint32 isMirrorImplicit:1
 
quint32 inheritMirrorFromParent:1
 
quint32 inheritMirrorFromItem:1
 
quint32 isAccessible:1
 
quint32 culled:1
 
quint32 hasCursor:1
 
quint32 subtreeCursorEnabled:1
 
quint32 subtreeHoverEnabled:1
 
quint32 activeFocusOnTab:1
 
quint32 implicitAntialiasing:1
 
quint32 antialiasingValid:1
 
quint32 isTabFence:1
 
quint32 replayingPressEvent:1
 
quint32 touchEnabled:1
 
quint32 hasCursorHandler:1
 
quint32 maybeHasSubsceneDeliveryAgent:1
 
quint32 subtreeTransformChangedEnabled:1
 
quint32 inDestructor:1
 
quint32 focusReason:4
 
quint32 focusPolicy:4
 
quint32 dirtyAttributes
 
QQuickItemnextDirtyItem
 
QQuickItem ** prevDirtyItem
 
QQuickWindowwindow
 
int windowRefCount
 
QQuickItemparentItem
 
QList< QQuickItem * > childItems
 
QList< QQuickItem * > * sortedChildItems
 
QPointer< QQuickItemsubFocusItem
 
qreal implicitWidth
 
qreal implicitHeight
 
qreal baselineOffset
 
QList< QQuickTransform * > transforms
 
QSGTransformNodeitemNodeInstance
 
QSGNodepaintNode
 
QLayoutPolicy szPolicy
 
- Public Attributes inherited from QObjectPrivate
ExtraDataextraData
 
QAtomicPointer< QThreadDatathreadData
 
QAtomicPointer< ConnectionDataconnections
 
union { 
 
   QObject *   currentChildBeingDeleted 
 
   QAbstractDeclarativeData *   declarativeData 
 
};  
 
QAtomicPointer< QtSharedPointer::ExternalRefCountDatasharedRefcount
 
- Public Attributes inherited from QObjectData
QObjectq_ptr
 
QObjectparent
 
QObjectList children
 
uint isWidget: 1
 
uint blockSig: 1
 
uint wasDeleted: 1
 
uint isDeletingChildren: 1
 
uint sendChildEvents: 1
 
uint receiveChildEvents: 1
 
uint isWindow: 1
 
uint deleteLaterCalled: 1
 
uint isQuickItem: 1
 
uint willBeWidget: 1
 
uint wasWidget: 1
 
uint receiveParentEvents: 1
 
uint unused: 20
 
QAtomicInt postedEvents
 
QDynamicMetaObjectDatametaObject
 
QBindingStorage bindingStorage
 

Additional Inherited Members

- Public Types inherited from QQuickItemPrivate
enum  ChangeType {
  Geometry = 0x01 , SiblingOrder = 0x02 , Visibility = 0x04 , Opacity = 0x08 ,
  Destroyed = 0x10 , Parent = 0x20 , Children = 0x40 , Rotation = 0x80 ,
  ImplicitWidth = 0x100 , ImplicitHeight = 0x200 , Enabled = 0x400 , Focus = 0x800 ,
  AllChanges = 0xFFFFFFFF
}
 
enum  ExtraDataTag { NoTag = 0x1 , LeftMouseButtonAccepted = 0x2 }
 
enum  DirtyType {
  TransformOrigin = 0x00000001 , Transform = 0x00000002 , BasicTransform = 0x00000004 , Position = 0x00000008 ,
  Size = 0x00000010 , ZValue = 0x00000020 , Content = 0x00000040 , Smooth = 0x00000080 ,
  OpacityValue = 0x00000100 , ChildrenChanged = 0x00000200 , ChildrenStackingChanged = 0x00000400 , ParentChanged = 0x00000800 ,
  Clip = 0x00001000 , Window = 0x00002000 , EffectReference = 0x00008000 , Visible = 0x00010000 ,
  HideReference = 0x00020000 , Antialiasing = 0x00040000 , TransformUpdateMask , ComplexTransformUpdateMask = Transform | Window ,
  ContentUpdateMask = Size | Content | Smooth | Window | Antialiasing , ChildrenUpdateMask = ChildrenChanged | ChildrenStackingChanged | EffectReference | Window
}
 
- Public Types inherited from QObjectPrivate
typedef void(* StaticMetaCallFunction) (QObject *, QMetaObject::Call, int, void **)
 
using ConnectionDataPointer = QExplicitlySharedDataPointer<ConnectionData>
 
- Protected Member Functions inherited from QQuickPaletteProviderPrivateBase< QQuickItem, QQuickItemPrivate >
void setCurrentColorGroup ()
 

Detailed Description

Definition at line 114 of file qquickshape_p_p.h.

Constructor & Destructor Documentation

◆ QQuickShapePrivate()

QQuickShapePrivate::QQuickShapePrivate ( )

Renders a path.

\qmltype Shape

! \instantiates QQuickShape \inqmlmodule QtQuick.Shapes

\inherits Item

Since
5.10

Renders a path by triangulating geometry from a QPainterPath.

This approach is different from rendering shapes via QQuickPaintedItem or the 2D Canvas because the path never gets rasterized in software. Therefore Shape is suitable for creating shapes spreading over larger areas of the screen, avoiding the performance penalty for texture uploads or framebuffer blits. In addition, the declarative API allows manipulating, binding to, and even animating the path element properties like starting and ending position, the control points, and so on.

The types for specifying path elements are shared between \l PathView and Shape. However, not all Shape implementations support all path element types, while some may not make sense for PathView. Shape's currently supported subset is: PathMove, PathLine, PathQuad, PathCubic, PathArc, PathText and PathSvg.

See \l Path for a detailed overview of the supported path elements.

\qml Shape { width: 200 height: 150 anchors.centerIn: parent ShapePath { strokeWidth: 4 strokeColor: "red" fillGradient: LinearGradient { x1: 20; y1: 20 x2: 180; y2: 130 GradientStop { position: 0; color: "blue" } GradientStop { position: 0.2; color: "green" } GradientStop { position: 0.4; color: "red" } GradientStop { position: 0.6; color: "yellow" } GradientStop { position: 1; color: "cyan" } } strokeStyle: ShapePath.DashLine dashPattern: [ 1, 4 ] startX: 20; startY: 20 PathLine { x: 180; y: 130 } PathLine { x: 20; y: 130 } PathLine { x: 20; y: 20 } } } \endqml

Like \l Item, Shape also allows any visual or non-visual objects to be declared as children. ShapePath objects are handled specially. This is useful since it allows adding visual items, like \l Rectangle or \l Image, and non-visual objects, like \l Timer directly as children of Shape.

The following list summarizes the available Shape rendering approaches:

\list

  • When Qt Quick is running with the default, hardware-accelerated backend (RHI), the generic shape renderer will be used. This converts the shapes into triangles which are passed to the renderer.
  • The OpenVG backend is not currently supported.

\endlist

When using Shape, it is important to be aware of potential performance implications:

\list

  • When the application is running with the generic, triangulation-based Shape implementation, the geometry generation happens entirely on the CPU. This is potentially expensive. Changing the set of path elements, changing the properties of these elements, or changing certain properties of the Shape itself all lead to retriangulation of the affected paths on every change. Therefore, applying animation to such properties can affect performance on less powerful systems.
  • However, the data-driven, declarative nature of the Shape API often means better cacheability for the underlying CPU and GPU resources. A property change in one ShapePath will only lead to reprocessing the affected ShapePath, leaving other parts of the Shape unchanged. Therefore, a frequently changing property can still result in a lower overall system load than with imperative painting approaches (for example, QPainter).
  • At the same time, attention must be paid to the number of Shape elements in the scene. The way such a Shape item is represented in the scene graph is different from an ordinary geometry-based item, and incurs a certain cost when it comes to OpenGL state changes.
  • As a general rule, scenes should avoid using separate Shape items when it is not absolutely necessary. Prefer using one Shape item with multiple ShapePath elements over multiple Shape items.

\endlist

See also
{Qt Quick Examples - Shapes}, {Weather Forecast Example}, Path, PathMove, PathLine, PathQuad, PathCubic, PathArc, PathSvg

Definition at line 683 of file qquickshape.cpp.

◆ ~QQuickShapePrivate()

QQuickShapePrivate::~QQuickShapePrivate ( )

Definition at line 688 of file qquickshape.cpp.

References renderer.

Member Function Documentation

◆ _q_shapePathChanged()

void QQuickShapePrivate::_q_shapePathChanged ( )

Definition at line 693 of file qquickshape.cpp.

References emit, and spChanged.

◆ asyncShapeReady()

void QQuickShapePrivate::asyncShapeReady ( void * data)
static

Definition at line 1321 of file qquickshape.cpp.

References QQuickItemPrivate::data(), qDebug, and QQuickShape::Ready.

Referenced by sync().

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

◆ createNode()

QSGNode * QQuickShapePrivate::createNode ( )

Definition at line 1281 of file qquickshape.cpp.

References QSGNode::appendChildNode(), QQuickShape::CurveRenderer, QSGRendererInterface::isApiRhiBased(), qWarning, renderer, rendererType, and QSGRendererInterface::Software.

+ Here is the call graph for this function:

◆ createRenderer()

void QQuickShapePrivate::createRenderer ( )

Definition at line 1254 of file qquickshape.cpp.

References QQuickShape::CurveRenderer, QQuickShape::GeometryRenderer, renderer, rendererChanged, rendererType, selectRendererType(), QQuickShape::SoftwareRenderer, and QQuickShape::UnknownRenderer.

+ Here is the call graph for this function:

◆ get()

static QQuickShapePrivate * QQuickShapePrivate::get ( QQuickShape * item)
inlinestatic

Definition at line 130 of file qquickshape_p_p.h.

References item.

Referenced by QDeclarativeGeoMapItemBase::setShapeTriangulationScale(), vpe_append(), and vpe_clear().

+ Here is the caller graph for this function:

◆ getImplicitHeight()

qreal QQuickShapePrivate::getImplicitHeight ( ) const
overridevirtual

Reimplemented from QQuickItemPrivate.

Definition at line 718 of file qquickshape.cpp.

◆ getImplicitWidth()

qreal QQuickShapePrivate::getImplicitWidth ( ) const
overridevirtual

Reimplemented from QQuickItemPrivate.

Definition at line 712 of file qquickshape.cpp.

◆ selectRendererType()

QQuickShape::RendererType QQuickShapePrivate::selectRendererType ( )

Definition at line 1222 of file qquickshape.cpp.

References QQuickShape::CurveRenderer, QQuickShape::GeometryRenderer, QSGRendererInterface::isApiRhiBased(), preferredType, qEnvironmentVariable(), qWarning, QSGRendererInterface::Software, QQuickShape::SoftwareRenderer, QString::toLower(), and QQuickShape::UnknownRenderer.

Referenced by createRenderer().

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

◆ setStatus()

void QQuickShapePrivate::setStatus ( QQuickShape::Status newStatus)

Definition at line 703 of file qquickshape.cpp.

References emit, and status.

Referenced by sync().

+ Here is the caller graph for this function:

◆ sync()

void QQuickShapePrivate::sync ( )

Member Data Documentation

◆ async

bool QQuickShapePrivate::async = false

Definition at line 153 of file qquickshape_p_p.h.

Referenced by sync().

◆ containsMode

Definition at line 146 of file qquickshape_p_p.h.

◆ effectRefCount

int QQuickShapePrivate::effectRefCount

Definition at line 137 of file qquickshape_p_p.h.

◆ enableVendorExts

bool QQuickShapePrivate::enableVendorExts = false

Definition at line 154 of file qquickshape_p_p.h.

◆ fillMode

QQuickShape::FillMode QQuickShapePrivate::fillMode = QQuickShape::NoResize

Definition at line 147 of file qquickshape_p_p.h.

◆ horizontalAlignment

QQuickShape::HAlignment QQuickShapePrivate::horizontalAlignment = QQuickShape::AlignLeft

Definition at line 148 of file qquickshape_p_p.h.

◆ preferredType

QQuickShape::RendererType QQuickShapePrivate::preferredType = QQuickShape::UnknownRenderer

Definition at line 145 of file qquickshape_p_p.h.

Referenced by selectRendererType().

◆ renderer

QQuickAbstractPathRenderer* QQuickShapePrivate::renderer = nullptr

Definition at line 140 of file qquickshape_p_p.h.

Referenced by ~QQuickShapePrivate(), createNode(), createRenderer(), and sync().

◆ rendererChanged

bool QQuickShapePrivate::rendererChanged = false

Definition at line 152 of file qquickshape_p_p.h.

Referenced by createRenderer().

◆ rendererType

QQuickShape::RendererType QQuickShapePrivate::rendererType = QQuickShape::UnknownRenderer

Definition at line 144 of file qquickshape_p_p.h.

Referenced by createNode(), and createRenderer().

◆ sp

QVector<QQuickShapePath *> QQuickShapePrivate::sp

Definition at line 138 of file qquickshape_p_p.h.

Referenced by sync().

◆ spChanged

bool QQuickShapePrivate::spChanged = false

Definition at line 151 of file qquickshape_p_p.h.

Referenced by _q_shapePathChanged().

◆ status

QQuickShape::Status QQuickShapePrivate::status = QQuickShape::Null

Definition at line 143 of file qquickshape_p_p.h.

Referenced by setStatus().

◆ syncTimeCounter

int QQuickShapePrivate::syncTimeCounter = 0

Definition at line 142 of file qquickshape_p_p.h.

Referenced by sync().

◆ syncTimer

QElapsedTimer QQuickShapePrivate::syncTimer

Definition at line 139 of file qquickshape_p_p.h.

Referenced by sync().

◆ syncTimingActive

bool QQuickShapePrivate::syncTimingActive = false

Definition at line 155 of file qquickshape_p_p.h.

Referenced by sync().

◆ syncTimingTotalDirty

int QQuickShapePrivate::syncTimingTotalDirty = 0

Definition at line 141 of file qquickshape_p_p.h.

Referenced by sync().

◆ triangulationScale

qreal QQuickShapePrivate::triangulationScale = 1.0

Definition at line 156 of file qquickshape_p_p.h.

Referenced by sync().

◆ verticalAlignment

QQuickShape::VAlignment QQuickShapePrivate::verticalAlignment = QQuickShape::AlignTop

Definition at line 149 of file qquickshape_p_p.h.


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