![]() |
Qt 6.x
The Qt SDK
|
#include <qquickcanvasitem_p.h>
Public Slots | |
void | loadImage (const QUrl &url, QSizeF sourceSize=QSizeF()) |
\qmlsignal QtQuick::Canvas::imageLoaded() | |
void | unloadImage (const QUrl &url) |
\qmlmethod QtQuick::Canvas::unloadImage(url image) | |
bool | isImageLoaded (const QUrl &url) const |
\qmlmethod QtQuick::Canvas::isImageLoaded(url image) Returns true if the image is successfully loaded and ready to use. | |
bool | isImageLoading (const QUrl &url) const |
\qmlmethod QtQuick::Canvas::isImageLoading(url image) Returns true if the image is currently loading. | |
bool | isImageError (const QUrl &url) const |
\qmlmethod QtQuick::Canvas::isImageError(url image) | |
![]() | |
void | update () |
Schedules a call to updatePaintNode() for this item. | |
![]() | |
void | deleteLater () |
\threadsafe | |
Public Member Functions | |
QQuickCanvasItem (QQuickItem *parent=nullptr) | |
\qmltype Canvas \instantiates QQuickCanvasItem \inqmlmodule QtQuick | |
~QQuickCanvasItem () | |
bool | isAvailable () const |
\qmlproperty bool QtQuick::Canvas::available | |
QString | contextType () const |
\qmlproperty string QtQuick::Canvas::contextType The type of drawing context to use. | |
void | setContextType (const QString &contextType) |
QJSValue | context () const |
\qmlproperty object QtQuick::Canvas::context Holds the active drawing context. | |
QSizeF | canvasSize () const |
\qmlproperty size QtQuick::Canvas::canvasSize Holds the logical canvas size that the context paints on. | |
void | setCanvasSize (const QSizeF &) |
QSize | tileSize () const |
\qmlproperty size QtQuick::Canvas::tileSize Holds the canvas rendering tile size. | |
void | setTileSize (const QSize &) |
QRectF | canvasWindow () const |
\qmlproperty rect QtQuick::Canvas::canvasWindow Holds the current canvas visible window. | |
void | setCanvasWindow (const QRectF &rect) |
RenderTarget | renderTarget () const |
\qmlproperty enumeration QtQuick::Canvas::renderTarget Holds the current canvas render target. | |
void | setRenderTarget (RenderTarget target) |
RenderStrategy | renderStrategy () const |
\qmlproperty enumeration QtQuick::Canvas::renderStrategy Holds the current canvas rendering strategy. | |
void | setRenderStrategy (RenderStrategy strategy) |
QQuickCanvasContext * | rawContext () const |
QImage | toImage (const QRectF &rect=QRectF()) const |
Q_INVOKABLE void | getContext (QQmlV4Function *args) |
\qmlmethod object QtQuick::Canvas::getContext(string contextId, ... args) | |
Q_INVOKABLE void | requestAnimationFrame (QQmlV4Function *args) |
\qmlmethod int QtQuick::Canvas::requestAnimationFrame(callback) | |
Q_INVOKABLE void | cancelRequestAnimationFrame (QQmlV4Function *args) |
\qmlmethod QtQuick::Canvas::cancelRequestAnimationFrame(int handle) | |
Q_INVOKABLE void | requestPaint () |
\qmlmethod QtQuick::Canvas::requestPaint() | |
Q_INVOKABLE void | markDirty (const QRectF &dirtyRect=QRectF()) |
\qmlmethod QtQuick::Canvas::markDirty(rect area) | |
Q_INVOKABLE bool | save (const QString &filename, const QSizeF &imageSize=QSizeF()) const |
\qmlmethod bool QtQuick::Canvas::save(string filename, size imageSize = undefined) | |
Q_INVOKABLE QString | toDataURL (const QString &type=QLatin1String("image/png")) const |
\qmlmethod string QtQuick::Canvas::toDataURL(string mimeType) | |
QQmlRefPointer< QQuickCanvasPixmap > | loadedPixmap (const QUrl &url, QSizeF sourceSize=QSizeF()) |
bool | isTextureProvider () const override |
Returns true if this item is a texture provider. | |
QSGTextureProvider * | textureProvider () const override |
Returns the texture provider for an item. | |
![]() | |
QQuickItem (QQuickItem *parent=nullptr) | |
Constructs a QQuickItem with the given parent. | |
~QQuickItem () override | |
Destroys the QQuickItem. | |
QQuickWindow * | window () const |
Returns the window in which this item is rendered. | |
QQuickItem * | parentItem () 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< QQuickTransform > | transform () |
qreal | x () const |
qreal | y () const |
QPointF | position () const |
void | setX (qreal) |
void | setY (qreal) |
void | setPosition (const QPointF &) |
QBindable< qreal > | bindableX () |
QBindable< qreal > | bindableY () |
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< qreal > | bindableWidth () |
qreal | height () const |
void | setHeight (qreal) |
void | resetHeight () |
void | setImplicitHeight (qreal) |
qreal | implicitHeight () const |
QBindable< qreal > | bindableHeight () |
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(). | |
QQuickItem * | viewportItem () 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. | |
QQuickItem * | scopedFocusItem () const |
If this item is a focus scope, this returns the item in its focus chain that currently has focus. | |
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< QQuickItemGrabResult > | grabToImage (const QSize &targetSize=QSize()) |
Grabs the item into an in-memory image. | |
virtual Q_INVOKABLE bool | contains (const QPointF &point) const |
\qmlmethod bool QtQuick::Item::contains(point point) | |
QObject * | containmentMask () 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 QQuickItem * | childAt (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 QSGTextureProvider * | textureProvider () const |
Returns the texture provider for an item. | |
![]() | |
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 | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
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< QString > | bindableObjectName () |
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). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
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::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), 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 (const QString &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 > | |
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 QObjectList & | children () 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< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () 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 . | |
![]() | |
QQmlParserStatus () | |
virtual | ~QQmlParserStatus () |
virtual void | classBegin ()=0 |
Invoked after class creation, but before any properties have been set. | |
virtual void | componentComplete ()=0 |
Invoked after the root component that caused this instantiation has completed construction. | |
Protected Member Functions | |
void | componentComplete () override |
Invoked after the root component that caused this instantiation has completed construction. | |
void | itemChange (QQuickItem::ItemChange, const QQuickItem::ItemChangeData &) override |
Called when change occurs for this item. | |
void | updatePolish () override |
This function should perform any layout as required for this item. | |
QSGNode * | updatePaintNode (QSGNode *, UpdatePaintNodeData *) override |
Called on the render thread when it is time to sync the state of the item with the scene graph. | |
void | geometryChange (const QRectF &newGeometry, const QRectF &oldGeometry) override |
void | releaseResources () override |
This function is called when an item should release graphics resources which are not already managed by the nodes returned from QQuickItem::updatePaintNode(). | |
bool | event (QEvent *event) override |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
![]() | |
bool | event (QEvent *) override |
\reimp | |
bool | isComponentComplete () const |
Returns true if construction of the QML component is complete; otherwise returns false. | |
virtual void | itemChange (ItemChange, const ItemChangeData &) |
Called when change occurs for this item. | |
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) |
void | classBegin () override |
\reimp Derived classes should call the base class method before adding their own action to perform at classBegin. | |
void | componentComplete () override |
\reimp Derived classes should call the base class method before adding their own actions to perform at componentComplete. | |
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 QSGNode * | updatePaintNode (QSGNode *, UpdatePaintNodeData *) |
Called on the render thread when it is time to sync the state of the item with the scene graph. | |
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(). | |
virtual void | updatePolish () |
This function should perform any layout as required for this item. | |
QQuickItem (QQuickItemPrivate &dd, QQuickItem *parent=nullptr) | |
![]() | |
QObject * | sender () 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 | |
bool | available |
QString | contextType |
QJSValue | context |
QSizeF | canvasSize |
QSize | tileSize |
QRectF | canvasWindow |
RenderTarget | renderTarget |
RenderStrategy | renderStrategy |
![]() | |
QQuickItem * | parent |
\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 | |
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< QQuickTransform > | transform |
\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 |
QObject * | containmentMask |
\qmlproperty QObject* QtQuick::Item::containmentMask | |
![]() | |
QString | objectName |
the name of this object | |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
const QSize & | targetSize = QSize()) |
qreal y | const |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
Definition at line 55 of file qquickcanvasitem_p.h.
Enumerator | |
---|---|
Immediate | |
Threaded | |
Cooperative |
Definition at line 77 of file qquickcanvasitem_p.h.
Enumerator | |
---|---|
Image | |
FramebufferObject |
Definition at line 71 of file qquickcanvasitem_p.h.
QQuickCanvasItem::QQuickCanvasItem | ( | QQuickItem * | parent = nullptr | ) |
\qmltype Canvas \instantiates QQuickCanvasItem \inqmlmodule QtQuick
Provides a 2D canvas item enabling drawing via JavaScript.
The Canvas item allows drawing of straight and curved lines, simple and complex shapes, graphs, and referenced graphic images. It can also add text, colors, shadows, gradients, and patterns, and do low level pixel operations. The Canvas output may be saved as an image file or serialized to a URL.
Rendering to the Canvas is done using a Context2D object, usually as a result of the \l paint signal.
To define a drawing area in the Canvas item set the width
and height
properties. For example, the following code creates a Canvas item which has a drawing area with a height of 100 pixels and width of 200 pixels: \qml import QtQuick 2.0 Canvas { id: mycanvas width: 100 height: 200 onPaint: { var ctx = getContext("2d"); ctx.fillStyle = Qt.rgba(1, 0, 0, 1); ctx.fillRect(0, 0, width, height); } } \endqml
Currently the Canvas item only supports the two-dimensional rendering context.
Definition at line 258 of file qquickcanvasitem.cpp.
References QQuickItem::ItemHasContents, and QQuickItem::setFlag().
QQuickCanvasItem::~QQuickCanvasItem | ( | ) |
Definition at line 264 of file qquickcanvasitem.cpp.
References d, QQuickWindowQObjectCleanupJob::schedule(), and QQuickItem::window().
|
signal |
void QQuickCanvasItem::cancelRequestAnimationFrame | ( | QQmlV4Function * | args | ) |
\qmlmethod QtQuick::Canvas::cancelRequestAnimationFrame(int handle)
This function will cancel the animation callback referenced by handle.
Definition at line 886 of file qquickcanvasitem.cpp.
References args, QV4::Encode::null(), qmlWarning(), and QList< T >::remove().
QSizeF QQuickCanvasItem::canvasSize | ( | ) | const |
\qmlproperty size QtQuick::Canvas::canvasSize Holds the logical canvas size that the context paints on.
By default, the canvas size is the same size as the current canvas item size.
By setting the canvasSize, tileSize and canvasWindow, the Canvas item can act as a large virtual canvas with many separately rendered tile rectangles. Only those tiles within the current canvas window are painted by the Canvas render engine.
Definition at line 352 of file qquickcanvasitem.cpp.
References d.
|
signal |
QRectF QQuickCanvasItem::canvasWindow | ( | ) | const |
\qmlproperty rect QtQuick::Canvas::canvasWindow Holds the current canvas visible window.
By default the canvasWindow size is the same as the Canvas item size with the top-left point as (0, 0).
If the canvasSize is different to the Canvas item size, the Canvas item can display different visible areas by changing the canvas windowSize and/or position.
Definition at line 423 of file qquickcanvasitem.cpp.
References d.
|
signal |
|
overrideprotectedvirtual |
Invoked after the root component that caused this instantiation has completed construction.
At this point all static values and binding values have been assigned to the class.
Implements QQmlParserStatus.
Definition at line 628 of file qquickcanvasitem.cpp.
References QQmlContext::baseUrl(), QQuickItem::componentComplete(), QQmlEngine::contextForObject(), d, and qmlEngine().
QJSValue QQuickCanvasItem::context | ( | ) | const |
\qmlproperty object QtQuick::Canvas::context Holds the active drawing context.
If the canvas is ready and there has been a successful call to getContext() or the contextType property has been set with a supported context type, this property will contain the current drawing context, otherwise null.
Definition at line 332 of file qquickcanvasitem.cpp.
References d, and QJSValuePrivate::fromReturnedValue().
|
signal |
QString QQuickCanvasItem::contextType | ( | ) | const |
\qmlproperty string QtQuick::Canvas::contextType The type of drawing context to use.
This property is set to the name of the active context type.
If set explicitly the canvas will attempt to create a context of the named type after becoming available.
The type name is the same as used in the getContext() call, for the 2d canvas the value will be "2d".
Definition at line 298 of file qquickcanvasitem.cpp.
|
signal |
|
overrideprotectedvirtual |
This virtual function receives events to an object and should return true if the event e was recognized and processed.
The event() function can be reimplemented to customize the behavior of an object.
Make sure you call the parent event class implementation for all the events you did not handle.
Example:
Reimplemented from QObject.
Definition at line 594 of file qquickcanvasitem.cpp.
References QQuickItem::event(), QQuickItem::polish(), and QEvent::PolishRequest.
|
overrideprotectedvirtual |
This function is called to handle this item's changes in geometry from oldGeometry to newGeometry. If the two geometries are the same, it doesn't do anything.
Derived classes must call the base class method within their implementation.
Reimplemented from QQuickItem.
Definition at line 543 of file qquickcanvasitem.cpp.
References canvasSizeChanged(), canvasWindowChanged(), d, emit, QQuickItem::geometryChange(), QQuickItem::height, QQuickItem::isVisible(), rect, requestPaint(), QRectF::size(), tileSizeChanged(), QSizeF::toSize(), and QQuickItem::width.
void QQuickCanvasItem::getContext | ( | QQmlV4Function * | args | ) |
\qmlmethod object QtQuick::Canvas::getContext(string contextId, ... args)
Returns a drawing context, or null
if no context is available.
The contextId parameter names the required context. The Canvas item will return a context that implements the required drawing mode. After the first call to getContext, any subsequent call to getContext with the same contextId will return the same context object. Any additional arguments (args) are currently ignored.
If the context type is not supported or the canvas has previously been requested to provide a different and incompatible context type, null
will be returned.
Canvas only supports a 2d context.
Definition at line 813 of file qquickcanvasitem.cpp.
References args, Qt::CaseInsensitive, d, QV4::Encode::null(), qmlWarning(), and str.
|
signal |
bool QQuickCanvasItem::isAvailable | ( | ) | const |
\qmlproperty bool QtQuick::Canvas::available
Indicates when Canvas is able to provide a drawing context to operate on.
Definition at line 278 of file qquickcanvasitem.cpp.
\qmlmethod QtQuick::Canvas::isImageError(url image)
Returns true
if the image failed to load, false
otherwise.
Definition at line 1039 of file qquickcanvasitem.cpp.
\qmlmethod QtQuick::Canvas::isImageLoaded(url image) Returns true if the image is successfully loaded and ready to use.
Definition at line 1066 of file qquickcanvasitem.cpp.
\qmlmethod QtQuick::Canvas::isImageLoading(url image) Returns true if the image is currently loading.
Definition at line 1053 of file qquickcanvasitem.cpp.
|
overridevirtual |
Returns true if this item is a texture provider.
The default implementation returns false.
This function can be called from any thread.
Reimplemented from QQuickItem.
Definition at line 766 of file qquickcanvasitem.cpp.
|
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
typically at the end of your implementation, to ensure the \l windowChanged() signal will be emitted.
Reimplemented from QQuickItem.
Definition at line 636 of file qquickcanvasitem.cpp.
References QObject::connect(), QQuickItemPrivate::ContentUpdateMask, context, QQuickWindowPrivate::context, d, FramebufferObject, QQuickWindowPrivate::get(), QMetaObject::invokeMethod(), QQuickItem::itemChange(), QQuickItem::ItemSceneChange, Qt::QueuedConnection, requestPaint(), SIGNAL, and SLOT.
QQmlRefPointer< QQuickCanvasPixmap > QQuickCanvasItem::loadedPixmap | ( | const QUrl & | url, |
QSizeF | sourceSize = QSizeF() |
||
) |
Definition at line 961 of file qquickcanvasitem.cpp.
References d, loadImage(), and url.
\qmlsignal QtQuick::Canvas::imageLoaded()
This signal is emitted when an image has been loaded.
\qmlmethod QtQuick::Canvas::loadImage(url image, size sourceSize = undefined)
Loads the given image asynchronously.
Once the image is ready, imageLoaded() signal will be emitted. The loaded image can be unloaded with the unloadImage() method.
If sourceSize is specified, the image will be scaled to that size during loading. This is useful for loading scalable (vector) images (eg. SVGs) at their intended display size. This parameter was introduced in Qt 6.7.
Definition at line 996 of file qquickcanvasitem.cpp.
References QQmlRefPointer< T >::adopt(), QQuickPixmap::Asynchronous, QQuickPixmap::Cache, d, imageLoaded(), QPixmap::load(), pix, qmlEngine(), SIGNAL, QSizeF::toSize(), and url.
Referenced by loadedPixmap().
\qmlmethod QtQuick::Canvas::markDirty(rect area)
Marks the given area as dirty, so that when this area is visible the canvas renderer will redraw it. This will trigger the paint
signal.
Definition at line 922 of file qquickcanvasitem.cpp.
References d, QQuickItem::polish(), and rect.
Referenced by requestPaint().
|
signal |
QQuickCanvasContext * QQuickCanvasItem::rawContext | ( | ) | const |
Definition at line 519 of file qquickcanvasitem.cpp.
|
overrideprotectedvirtual |
This function is called when an item should release graphics resources which are not already managed by the nodes returned from QQuickItem::updatePaintNode().
This happens when the item is about to be removed from the window it was previously rendering to. The item is guaranteed to have a \l {QQuickItem::window()}{window} when the function is called.
The function is called on the GUI thread and the state of the rendering thread, when it is used, is unknown. Objects should not be deleted directly, but instead scheduled for cleanup using QQuickWindow::scheduleRenderJob().
Reimplemented from QQuickItem.
Definition at line 575 of file qquickcanvasitem.cpp.
References d, QQuickWindowQObjectCleanupJob::schedule(), and QQuickItem::window().
QQuickCanvasItem::RenderStrategy QQuickCanvasItem::renderStrategy | ( | ) | const |
\qmlproperty enumeration QtQuick::Canvas::renderStrategy Holds the current canvas rendering strategy.
\value Canvas.Immediate context will perform graphics commands immediately in the main UI thread. \value Canvas.Threaded context will defer graphics commands to a private rendering thread. \value Canvas.Cooperative context will defer graphics commands to the applications global render thread.
This hint is supplied along with renderTarget to the graphics context to determine the method of rendering. A renderStrategy, renderTarget or a combination may not be supported by a graphics context, in which case the context will choose appropriate options and Canvas will signal the change to the properties.
Configuration or runtime tests may cause the QML Scene Graph to render in the GUI thread. Selecting Canvas.Cooperative
, does not guarantee rendering will occur on a thread separate from the GUI thread.
The default value is Canvas.Immediate
.
Definition at line 501 of file qquickcanvasitem.cpp.
|
signal |
QQuickCanvasItem::RenderTarget QQuickCanvasItem::renderTarget | ( | ) | const |
\qmlproperty enumeration QtQuick::Canvas::renderTarget Holds the current canvas render target.
\value Canvas.Image Render to an in-memory image buffer. \value Canvas.FramebufferObject As of Qt 6.0, this value is ignored.
This hint is supplied along with renderStrategy to the graphics context to determine the method of rendering. A renderStrategy, renderTarget or a combination may not be supported by a graphics context, in which case the context will choose appropriate options and Canvas will signal the change to the properties.
The default render target is Canvas.Image
.
Definition at line 458 of file qquickcanvasitem.cpp.
References d.
|
signal |
void QQuickCanvasItem::requestAnimationFrame | ( | QQmlV4Function * | args | ) |
\qmlmethod int QtQuick::Canvas::requestAnimationFrame(callback)
This function schedules callback to be invoked before composing the Qt Quick scene.
Definition at line 857 of file qquickcanvasitem.cpp.
References args, d, QV4::Scope::engine, QQuickItem::isVisible(), QV4::Encode::null(), and qmlWarning().
void QQuickCanvasItem::requestPaint | ( | ) |
\qmlmethod QtQuick::Canvas::requestPaint()
Request the entire visible region be re-drawn.
Definition at line 908 of file qquickcanvasitem.cpp.
References canvasWindow, and markDirty().
Referenced by geometryChange(), and itemChange().
\qmlmethod bool QtQuick::Canvas::save(string filename, size imageSize = undefined)
Saves the current canvas content into an image file filename. The saved image format is automatically decided by the filename's suffix. Returns true
on success. If imageSize is specified, the resulting image will have this size, and will have a devicePixelRatio of 1.0
. Otherwise, the \l {QQuickWindow::}{devicePixelRatio()} of the window in which the canvas is displayed is applied to the saved image.
Definition at line 954 of file qquickcanvasitem.cpp.
References d, QUrl::fromLocalFile(), QImage::save(), toImage(), QUrl::toLocalFile(), and url.
Definition at line 358 of file qquickcanvasitem.cpp.
References canvasSizeChanged(), d, emit, QQuickItem::polish(), and QQuickItem::size().
Definition at line 429 of file qquickcanvasitem.cpp.
References canvasWindowChanged(), d, emit, QQuickItem::polish(), and rect.
Definition at line 303 of file qquickcanvasitem.cpp.
References Qt::CaseInsensitive, QString::compare(), contextType, contextTypeChanged(), d, emit, and qmlWarning().
void QQuickCanvasItem::setRenderStrategy | ( | QQuickCanvasItem::RenderStrategy | strategy | ) |
Definition at line 506 of file qquickcanvasitem.cpp.
References d, emit, qmlWarning(), and renderStrategyChanged().
void QQuickCanvasItem::setRenderTarget | ( | QQuickCanvasItem::RenderTarget | target | ) |
Definition at line 464 of file qquickcanvasitem.cpp.
References d, emit, qmlWarning(), and renderTargetChanged().
Definition at line 394 of file qquickcanvasitem.cpp.
References d, emit, QQuickItem::polish(), QQuickItem::size(), and tileSizeChanged().
|
overridevirtual |
Returns the texture provider for an item.
The default implementation returns \nullptr.
This function may only be called on the rendering thread.
Reimplemented from QQuickItem.
Definition at line 771 of file qquickcanvasitem.cpp.
References QQuickWindowPrivate::context, QThread::currentThread(), d, QQuickWindowPrivate::get(), QQuickItem::isTextureProvider(), qWarning, QQuickItem::textureProvider(), QObject::thread(), and QQuickItem::window().
QSize QQuickCanvasItem::tileSize | ( | ) | const |
\qmlproperty size QtQuick::Canvas::tileSize Holds the canvas rendering tile size.
The Canvas item enters tiled mode by setting canvasSize, tileSize and the canvasWindow. This can improve rendering performance by rendering and caching tiles instead of rendering the whole canvas every time.
Memory will be consumed only by those tiles within the current visible region.
By default the tileSize is the same as the canvasSize.
Definition at line 388 of file qquickcanvasitem.cpp.
References d.
|
signal |
QString QQuickCanvasItem::toDataURL | ( | const QString & | mimeType = QLatin1String("image/png") | ) | const |
\qmlmethod string QtQuick::Canvas::toDataURL(string mimeType)
Returns a data URL for the image in the canvas.
The default mimeType is "image/png".
Definition at line 1126 of file qquickcanvasitem.cpp.
References ba, QByteArray::constData(), mime, mimeToType(), mimeType, QStringLiteral, QByteArray::toBase64(), toImage(), and QIODeviceBase::WriteOnly.
Returns a QImage representing the requested rect which is in device independent pixels of the item. If rect is empty, then it will use the whole item's rect by default.
Definition at line 1080 of file qquickcanvasitem.cpp.
References canvasWindow, d, dpr(), rect, QRectF::size(), QRectF::topLeft(), and QQuickItem::window().
Referenced by save(), and toDataURL().
\qmlmethod QtQuick::Canvas::unloadImage(url image)
Unloads the image.
Once an image is unloaded, it cannot be painted by the canvas context unless it is loaded again.
Definition at line 1026 of file qquickcanvasitem.cpp.
|
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.
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.
Reimplemented from QQuickItem.
Definition at line 708 of file qquickcanvasitem.cpp.
References QQuickItem::antialiasing, QQuickWindowPrivate::context, Cooperative, QSGContext::createInternalImageNode(), d, factory, QQuickWindowPrivate::get(), QSGTexture::Linear, QSGTexture::Nearest, QSGRenderContext::sceneGraphContext(), QSGInternalImageNode::setFiltering(), QSGInternalImageNode::setInnerTargetRect(), QSGInternalImageNode::setTargetRect(), QSGInternalImageNode::setTexture(), QSGInternalImageNode::update(), and QQuickItem::window().
|
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.
Reimplemented from QQuickItem.
Definition at line 666 of file qquickcanvasitem.cpp.
References QQuickItem::antialiasing, QV4::JSCallArguments::args, QMap< Key, T >::cbegin(), QMap< Key, T >::cend(), Cooperative, QDateTime::currentMSecsSinceEpoch(), d, emit, QV4::Value::fromUInt32(), function, QJSEngine::handle(), QQuickItem::isVisible(), it, paint(), qmlEngine(), QV4::JSCallArguments::thisObject, QQuickItem::update(), QQuickItem::updatePolish(), and QV4::QObjectWrapper::wrap().
|
read |
Definition at line 52 of file qquickcanvasitem_p.h.
|
readwrite |
Definition at line 52 of file qquickcanvasitem_p.h.
Referenced by QQuickContext2D::init().
|
readwrite |
Definition at line 52 of file qquickcanvasitem_p.h.
Referenced by QQuickContext2D::init(), requestPaint(), and toImage().
|
read |
Definition at line 52 of file qquickcanvasitem_p.h.
Referenced by itemChange().
|
readwrite |
Definition at line 52 of file qquickcanvasitem_p.h.
Referenced by setContextType().
|
readwrite |
Definition at line 52 of file qquickcanvasitem_p.h.
Referenced by QQuickContext2D::init().
|
readwrite |
Definition at line 52 of file qquickcanvasitem_p.h.
Referenced by QQuickContext2D::init().
|
readwrite |
Definition at line 52 of file qquickcanvasitem_p.h.
Referenced by QQuickContext2D::init().