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

#include <qquickshadereffectsource_p.h>

+ Inheritance diagram for QQuickShaderEffectSource:
+ Collaboration diagram for QQuickShaderEffectSource:

Public Types

enum  WrapMode { ClampToEdge , RepeatHorizontally , RepeatVertically , Repeat }
 
enum  Format {
  RGBA8 = 1 , RGBA16F , RGBA32F , Alpha = RGBA8 ,
  RGB = RGBA8 , RGBA = RGBA8
}
 
enum  TextureMirroring { NoMirroring = 0x00 , MirrorHorizontally = 0x01 , MirrorVertically = 0x02 }
 
- 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 wrapModeChanged ()
 
void sourceItemChanged ()
 
void sourceRectChanged ()
 
void textureSizeChanged ()
 
void formatChanged ()
 
void liveChanged ()
 
void hideSourceChanged ()
 
void mipmapChanged ()
 
void recursiveChanged ()
 
void textureMirroringChanged ()
 
void samplesChanged ()
 
void scheduledUpdateCompleted ()
 
- 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

 QQuickShaderEffectSource (QQuickItem *parent=nullptr)
 \qmltype ShaderEffectSource \instantiates QQuickShaderEffectSource \inqmlmodule QtQuick
 
 ~QQuickShaderEffectSource () override
 
WrapMode wrapMode () const
 \qmlproperty enumeration QtQuick::ShaderEffectSource::wrapMode
 
void setWrapMode (WrapMode mode)
 
QQuickItemsourceItem () const
 \qmlproperty Item QtQuick::ShaderEffectSource::sourceItem
 
void setSourceItem (QQuickItem *item)
 
QRectF sourceRect () const
 \qmlproperty rect QtQuick::ShaderEffectSource::sourceRect
 
void setSourceRect (const QRectF &rect)
 
QSize textureSize () const
 \qmlproperty size QtQuick::ShaderEffectSource::textureSize
 
void setTextureSize (const QSize &size)
 
Format format () const
 \qmlproperty enumeration QtQuick::ShaderEffectSource::format
 
void setFormat (Format format)
 
bool live () const
 \qmlproperty bool QtQuick::ShaderEffectSource::live
 
void setLive (bool live)
 
bool hideSource () const
 \qmlproperty bool QtQuick::ShaderEffectSource::hideSource
 
void setHideSource (bool hide)
 
bool mipmap () const
 \qmlproperty bool QtQuick::ShaderEffectSource::mipmap
 
void setMipmap (bool enabled)
 
bool recursive () const
 \qmlproperty bool QtQuick::ShaderEffectSource::recursive
 
void setRecursive (bool enabled)
 
TextureMirroring textureMirroring () const
 \qmlproperty enumeration QtQuick::ShaderEffectSource::textureMirroring
 
void setTextureMirroring (TextureMirroring mirroring)
 
bool isTextureProvider () const override
 Returns true if this item is a texture provider.
 
QSGTextureProvidertextureProvider () const override
 Returns the texture provider for an item.
 
Q_INVOKABLE void scheduleUpdate ()
 \qmlmethod QtQuick::ShaderEffectSource::scheduleUpdate()
 
int samples () const
 \qmlproperty int QtQuick::ShaderEffectSource::samples
 
void setSamples (int count)
 
- 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.
 
virtual Q_INVOKABLE bool contains (const QPointF &point) const
 \qmlmethod bool QtQuick::Item::contains(point point)
 
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
 
- 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 ()
 
- Public Member Functions inherited from QQuickItemChangeListener
virtual ~QQuickItemChangeListener ()
 
virtual void itemSiblingOrderChanged (QQuickItem *)
 
virtual void itemVisibilityChanged (QQuickItem *)
 
virtual void itemEnabledChanged (QQuickItem *)
 
virtual void itemOpacityChanged (QQuickItem *)
 
virtual void itemDestroyed (QQuickItem *)
 
virtual void itemChildAdded (QQuickItem *, QQuickItem *)
 
virtual void itemChildRemoved (QQuickItem *, QQuickItem *)
 
virtual void itemParentChanged (QQuickItem *, QQuickItem *)
 
virtual void itemRotationChanged (QQuickItem *)
 
virtual void itemImplicitWidthChanged (QQuickItem *)
 
virtual void itemImplicitHeightChanged (QQuickItem *)
 
virtual void itemFocusChanged (QQuickItem *, Qt::FocusReason)
 
virtual QQuickAnchorsPrivateanchorPrivate ()
 

Protected Member Functions

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().
 
QSGNodeupdatePaintNode (QSGNode *, UpdatePaintNodeData *) override
 Called on the render thread when it is time to sync the state of the item with the scene graph.
 
void itemGeometryChanged (QQuickItem *item, QQuickGeometryChange change, const QRectF &) override
 
void itemChange (ItemChange change, const ItemChangeData &value) override
 Called when change occurs for this item.
 
- 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)
 
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 void updatePolish ()
 This function should perform any layout as required for this item.
 
 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

WrapMode wrapMode
 
QQuickItemsourceItem
 
QRectF sourceRect
 
QSize textureSize
 
Format format
 
bool live
 
bool hideSource
 
bool mipmap
 
bool recursive
 
TextureMirroring textureMirroring
 
int samples
 
- 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 42 of file qquickshadereffectsource_p.h.

Member Enumeration Documentation

◆ Format

Enumerator
RGBA8 
RGBA16F 
RGBA32F 
Alpha 
RGB 
RGBA 

Definition at line 68 of file qquickshadereffectsource_p.h.

◆ TextureMirroring

Enumerator
NoMirroring 
MirrorHorizontally 
MirrorVertically 

Definition at line 80 of file qquickshadereffectsource_p.h.

◆ WrapMode

Enumerator
ClampToEdge 
RepeatHorizontally 
RepeatVertically 
Repeat 

Definition at line 60 of file qquickshadereffectsource_p.h.

Constructor & Destructor Documentation

◆ QQuickShaderEffectSource()

QQuickShaderEffectSource::QQuickShaderEffectSource ( QQuickItem * parent = nullptr)

\qmltype ShaderEffectSource \instantiates QQuickShaderEffectSource \inqmlmodule QtQuick

Since
5.0 \inherits Item

Renders a \l {Qt Quick} item into a texture and displays it.

The ShaderEffectSource type renders \l sourceItem into a texture and displays it in the scene. \l sourceItem is drawn into the texture as though it was a fully opaque root item. Thus \l sourceItem itself can be invisible, but still appear in the texture.

ShaderEffectSource can be used as: \list

  • a texture source in a \l ShaderEffect. This allows you to apply custom shader effects to any \l {Qt Quick} item.
  • a cache for a complex item. The complex item can be rendered once into the texture, which can then be animated freely without the need to render the complex item again every frame.
  • an opacity layer. ShaderEffectSource allows you to apply an opacity to items as a group rather than each item individually. \endlist

\table \row

  • \qml import QtQuick 2.0

Rectangle { width: 200 height: 100 gradient: Gradient { GradientStop { position: 0; color: "white" } GradientStop { position: 1; color: "black" } } Row { opacity: 0.5 Item { id: foo width: 100; height: 100 Rectangle { x: 5; y: 5; width: 60; height: 60; color: "red" } Rectangle { x: 20; y: 20; width: 60; height: 60; color: "orange" } Rectangle { x: 35; y: 35; width: 60; height: 60; color: "yellow" } } ShaderEffectSource { width: 100; height: 100 sourceItem: foo } } } \endqml \endtable

The ShaderEffectSource type does not redirect any mouse or keyboard input to \l sourceItem. If you hide the \l sourceItem by setting \l{Item::visible}{visible} to false or \l{Item::opacity}{opacity} to zero, it will no longer react to input. In cases where the ShaderEffectSource is meant to replace the \l sourceItem, you typically want to hide the \l sourceItem while still handling input. For this, you can use the \l hideSource property.

Note
The ShaderEffectSource relies on FBO multisampling support to antialias edges. If the underlying hardware does not support this, which is the case for most embedded graphics chips, edges rendered inside a ShaderEffectSource will not be antialiased. One way to remedy this is to double the size of the effect source and render it with {smooth: true} (this is the default value of smooth). This will be equivalent to 4x multisampling, at the cost of lower performance and higher memory use.
Warning
In most cases, using a ShaderEffectSource will decrease performance, and in all cases, it will increase video memory usage. Rendering through a ShaderEffectSource might also lead to lower quality since some OpenGL implementations support multisampled backbuffer, but not multisampled framebuffer objects.

Definition at line 144 of file qquickshadereffectsource.cpp.

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

+ Here is the call graph for this function:

◆ ~QQuickShaderEffectSource()

QQuickShaderEffectSource::~QQuickShaderEffectSource ( )
override

Definition at line 163 of file qquickshadereffectsource.cpp.

References QQuickItemPrivate::derefFromEffectItem(), QQuickItemPrivate::derefWindow(), QQuickItemPrivate::Geometry, QQuickItemPrivate::get(), Q_ASSERT, QQuickItemPrivate::removeItemChangeListener(), and QQuickItem::window().

+ Here is the call graph for this function:

Member Function Documentation

◆ format()

QQuickShaderEffectSource::Format QQuickShaderEffectSource::format ( ) const

\qmlproperty enumeration QtQuick::ShaderEffectSource::format

This property defines the format of the backing texture. Modifying this property makes most sense when the item is used as a source texture of a \l ShaderEffect.

\value ShaderEffectSource.RGBA8 \value ShaderEffectSource.RGBA16F \value ShaderEffectSource.RGBA32F \value ShaderEffectSource.Alpha Starting with Qt 6.0, this value is not in use and has the same effect as RGBA8 in practice. \value ShaderEffectSource.RGB Starting with Qt 6.0, this value is not in use and has the same effect as RGBA8 in practice. \value ShaderEffectSource.RGBA Starting with Qt 6.0, this value is not in use and has the same effect as RGBA8 in practice.

Definition at line 394 of file qquickshadereffectsource.cpp.

◆ formatChanged

void QQuickShaderEffectSource::formatChanged ( )
signal

Referenced by setFormat().

+ Here is the caller graph for this function:

◆ hideSource()

bool QQuickShaderEffectSource::hideSource ( ) const

\qmlproperty bool QtQuick::ShaderEffectSource::hideSource

If this property is true, the \l sourceItem is hidden, though it will still be rendered into the texture. As opposed to hiding the \l sourceItem by setting \l{Item::visible}{visible} to false, setting this property to true will not prevent mouse or keyboard input from reaching \l sourceItem. The property is useful when the ShaderEffectSource is anchored on top of, and meant to replace the \l sourceItem.

Definition at line 441 of file qquickshadereffectsource.cpp.

◆ hideSourceChanged

void QQuickShaderEffectSource::hideSourceChanged ( )
signal

Referenced by setHideSource().

+ Here is the caller graph for this function:

◆ isTextureProvider()

bool QQuickShaderEffectSource::isTextureProvider ( ) const
inlineoverridevirtual

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 120 of file qquickshadereffectsource_p.h.

◆ itemChange()

void QQuickShaderEffectSource::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 753 of file qquickshadereffectsource.cpp.

References QQuickItemPrivate::get(), QQuickItem::itemChange(), and QQuickItem::ItemSceneChange.

+ Here is the call graph for this function:

◆ itemGeometryChanged()

void QQuickShaderEffectSource::itemGeometryChanged ( QQuickItem * item,
QQuickGeometryChange change,
const QRectF &  )
overrideprotectedvirtual

Reimplemented from QQuickItemChangeListener.

Definition at line 270 of file qquickshadereffectsource.cpp.

References item, Q_ASSERT, Q_UNUSED, QQuickGeometryChange::sizeChange(), and QQuickItem::update().

+ Here is the call graph for this function:

◆ live()

bool QQuickShaderEffectSource::live ( ) const

\qmlproperty bool QtQuick::ShaderEffectSource::live

If this property is true, the texture is updated whenever the \l sourceItem updates. Otherwise, it will be a frozen image, even if \l sourceItem is assigned a new item. The property is true by default.

Definition at line 416 of file qquickshadereffectsource.cpp.

◆ liveChanged

void QQuickShaderEffectSource::liveChanged ( )
signal

Referenced by setLive().

+ Here is the caller graph for this function:

◆ mipmap()

bool QQuickShaderEffectSource::mipmap ( ) const

\qmlproperty bool QtQuick::ShaderEffectSource::mipmap

If this property is true, mipmaps are generated for the texture.

Note
Some OpenGL ES 2 implementations do not support mipmapping of non-power-of-two textures.

Definition at line 468 of file qquickshadereffectsource.cpp.

◆ mipmapChanged

void QQuickShaderEffectSource::mipmapChanged ( )
signal

Referenced by setMipmap().

+ Here is the caller graph for this function:

◆ recursive()

bool QQuickShaderEffectSource::recursive ( ) const

\qmlproperty bool QtQuick::ShaderEffectSource::recursive

Set this property to true if the ShaderEffectSource has a dependency on itself. ShaderEffectSources form a dependency chain, where one ShaderEffectSource can be part of the \l sourceItem of another. If there is a loop in this chain, a ShaderEffectSource could end up trying to render into the same texture it is using as source, which is not allowed by OpenGL. When this property is set to true, an extra texture is allocated so that ShaderEffectSource can keep a copy of the texture from the previous frame. It can then render into one texture and use the texture from the previous frame as source.

Setting both this property and \l live to true will cause the scene graph to render continuously. Since the ShaderEffectSource depends on itself, updating it means that it immediately becomes dirty again.

Definition at line 500 of file qquickshadereffectsource.cpp.

◆ recursiveChanged

void QQuickShaderEffectSource::recursiveChanged ( )
signal

Referenced by setRecursive().

+ Here is the caller graph for this function:

◆ releaseResources()

void QQuickShaderEffectSource::releaseResources ( )
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().

See also
{Graphics Resource Handling}

Reimplemented from QQuickItem.

Definition at line 617 of file qquickshadereffectsource.cpp.

References QQuickItem::window().

+ Here is the call graph for this function:

◆ samples()

int QQuickShaderEffectSource::samples ( ) const

\qmlproperty int QtQuick::ShaderEffectSource::samples

Since
5.10

This property allows requesting multisampled rendering.

By default multisampling is enabled whenever multisampling is enabled for the entire window, assuming the scenegraph renderer in use and the underlying graphics API supports this.

By setting the value to 2, 4, etc. multisampled rendering can be requested for a part of the scene without enabling multisampling for the entire scene. This way multisampling is applied only to a given subtree, which can lead to significant performance gains since multisampling is not applied to other parts of the scene.

Note
Enabling multisampling can be potentially expensive regardless of the layer's size, as it incurs a hardware and driver dependent performance and memory cost.
This property is only functional when support for multisample renderbuffers and framebuffer blits is available. Otherwise the value is silently ignored.

Definition at line 566 of file qquickshadereffectsource.cpp.

◆ samplesChanged

void QQuickShaderEffectSource::samplesChanged ( )
signal

Referenced by setSamples().

+ Here is the caller graph for this function:

◆ scheduledUpdateCompleted

void QQuickShaderEffectSource::scheduledUpdateCompleted ( )
signal

◆ scheduleUpdate()

void QQuickShaderEffectSource::scheduleUpdate ( )

\qmlmethod QtQuick::ShaderEffectSource::scheduleUpdate()

Schedules a re-rendering of the texture for the next frame. Use this to update the texture when \l live is false.

Definition at line 587 of file qquickshadereffectsource.cpp.

References QQuickItem::update().

+ Here is the call graph for this function:

◆ setFormat()

void QQuickShaderEffectSource::setFormat ( QQuickShaderEffectSource::Format format)

Definition at line 399 of file qquickshadereffectsource.cpp.

References emit, format, formatChanged(), and QQuickItem::update().

+ Here is the call graph for this function:

◆ setHideSource()

void QQuickShaderEffectSource::setHideSource ( bool hide)

Definition at line 446 of file qquickshadereffectsource.cpp.

References emit, QQuickItemPrivate::get(), hide(), hideSourceChanged(), and QQuickItem::update().

+ Here is the call graph for this function:

◆ setLive()

void QQuickShaderEffectSource::setLive ( bool live)

Definition at line 421 of file qquickshadereffectsource.cpp.

References emit, live, liveChanged(), and QQuickItem::update().

+ Here is the call graph for this function:

◆ setMipmap()

void QQuickShaderEffectSource::setMipmap ( bool enabled)

Definition at line 473 of file qquickshadereffectsource.cpp.

References emit, QQuickItem::enabled, mipmapChanged(), and QQuickItem::update().

+ Here is the call graph for this function:

◆ setRecursive()

void QQuickShaderEffectSource::setRecursive ( bool enabled)

Definition at line 505 of file qquickshadereffectsource.cpp.

References emit, QQuickItem::enabled, and recursiveChanged().

+ Here is the call graph for this function:

◆ setSamples()

void QQuickShaderEffectSource::setSamples ( int count)

Definition at line 571 of file qquickshadereffectsource.cpp.

References emit, samplesChanged(), and QQuickItem::update().

+ Here is the call graph for this function:

◆ setSourceItem()

void QQuickShaderEffectSource::setSourceItem ( QQuickItem * item)

Definition at line 278 of file qquickshadereffectsource.cpp.

References QObject::connect(), d, QObject::destroyed(), disconnect(), emit, QQuickItemPrivate::Geometry, QQuickItemPrivate::get(), item, qWarning, SIGNAL, SLOT, sourceItemChanged(), QQuickItem::update(), and QQuickItem::window().

+ Here is the call graph for this function:

◆ setSourceRect()

void QQuickShaderEffectSource::setSourceRect ( const QRectF & rect)

Definition at line 342 of file qquickshadereffectsource.cpp.

References emit, rect, sourceRectChanged(), and QQuickItem::update().

+ Here is the call graph for this function:

◆ setTextureMirroring()

void QQuickShaderEffectSource::setTextureMirroring ( TextureMirroring mirroring)

Definition at line 533 of file qquickshadereffectsource.cpp.

References emit, textureMirroringChanged(), and QQuickItem::update().

+ Here is the call graph for this function:

◆ setTextureSize()

void QQuickShaderEffectSource::setTextureSize ( const QSize & size)

Definition at line 370 of file qquickshadereffectsource.cpp.

References emit, QQuickItem::size(), textureSizeChanged(), and QQuickItem::update().

+ Here is the call graph for this function:

◆ setWrapMode()

void QQuickShaderEffectSource::setWrapMode ( WrapMode mode)

Definition at line 248 of file qquickshadereffectsource.cpp.

References emit, QQuickItem::update(), and wrapModeChanged().

+ Here is the call graph for this function:

◆ sourceItem()

QQuickItem * QQuickShaderEffectSource::sourceItem ( ) const

\qmlproperty Item QtQuick::ShaderEffectSource::sourceItem

This property holds the item to be rendered into the texture. Setting this to null while \l live is true, will release the texture resources.

Definition at line 265 of file qquickshadereffectsource.cpp.

◆ sourceItemChanged

void QQuickShaderEffectSource::sourceItemChanged ( )
signal

Referenced by setSourceItem().

+ Here is the caller graph for this function:

◆ sourceRect()

QRectF QQuickShaderEffectSource::sourceRect ( ) const

\qmlproperty rect QtQuick::ShaderEffectSource::sourceRect

This property defines which rectangular area of the \l sourceItem to render into the texture. The source rectangle can be larger than \l sourceItem itself. If the rectangle is null, which is the default, the whole \l sourceItem is rendered to texture.

Definition at line 337 of file qquickshadereffectsource.cpp.

◆ sourceRectChanged

void QQuickShaderEffectSource::sourceRectChanged ( )
signal

Referenced by setSourceRect().

+ Here is the caller graph for this function:

◆ textureMirroring()

QQuickShaderEffectSource::TextureMirroring QQuickShaderEffectSource::textureMirroring ( ) const

\qmlproperty enumeration QtQuick::ShaderEffectSource::textureMirroring

Since
5.6

This property defines how the generated OpenGL texture should be mirrored. The default value is {ShaderEffectSource.MirrorVertically}. Custom mirroring can be useful if the generated texture is directly accessed by custom shaders, such as those specified by ShaderEffect. Mirroring has no effect on the UI representation of the ShaderEffectSource item itself.

\value ShaderEffectSource.NoMirroring No mirroring \value ShaderEffectSource.MirrorHorizontally The generated texture is flipped along X-axis. \value ShaderEffectSource.MirrorVertically The generated texture is flipped along Y-axis.

Definition at line 528 of file qquickshadereffectsource.cpp.

◆ textureMirroringChanged

void QQuickShaderEffectSource::textureMirroringChanged ( )
signal

Referenced by setTextureMirroring().

+ Here is the caller graph for this function:

◆ textureProvider()

QSGTextureProvider * QQuickShaderEffectSource::textureProvider ( ) const
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 204 of file qquickshadereffectsource.cpp.

References QObject::connect(), QThread::currentThread(), d, QQuickShaderEffectSourceTextureProvider::filtering, QQuickItemPrivate::get(), get_wrap_mode(), QQuickShaderEffectSourceTextureProvider::horizontalWrap, QSGTexture::Linear, mipmap, QQuickShaderEffectSourceTextureProvider::mipmapFiltering, QSGTexture::Nearest, QSGTexture::None, qWarning, SIGNAL, QQuickItem::smooth, QQuickShaderEffectSourceTextureProvider::sourceTexture, and QQuickShaderEffectSourceTextureProvider::verticalWrap.

+ Here is the call graph for this function:

◆ textureSize()

QSize QQuickShaderEffectSource::textureSize ( ) const

\qmlproperty size QtQuick::ShaderEffectSource::textureSize

This property holds the requested pixel size of the texture. If it is empty, which is the default, the size of the source rectangle is used.

Note
This value is in pixels since it directly controls the size of a texture object.
Some platforms have a limit on how small framebuffer objects can be, which means the actual texture size might be larger than the requested size.

Definition at line 365 of file qquickshadereffectsource.cpp.

◆ textureSizeChanged

void QQuickShaderEffectSource::textureSizeChanged ( )
signal

Referenced by setTextureSize().

+ Here is the caller graph for this function:

◆ updatePaintNode()

QSGNode * QQuickShaderEffectSource::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;
}
virtual QRectF boundingRect() const
Returns the extents of the item in its own coordinate system: a rectangle from {0,...
\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 654 of file qquickshadereffectsource.cpp.

References QSGNode::appendChildNode(), QObject::connect(), d, QSGNode::DirtyMaterial, dpr(), QQuickShaderEffectSourceTextureProvider::filtering, QObjectPrivate::get(), QQuickItemPrivate::get(), get_wrap_mode(), QRectF::height(), QSize::height(), QQuickItem::height, QQuickShaderEffectSourceTextureProvider::horizontalWrap, QSize::isEmpty(), QSGTexture::Linear, QSGNode::markDirty(), minTextureSize, QQuickShaderEffectSourceTextureProvider::mipmapFiltering, MirrorHorizontally, MirrorVertically, QSGTexture::Nearest, QSGTexture::None, Q_ASSERT, qAbs(), qCeil(), QSize::rheight(), QSize::rwidth(), QSGLayer::scheduleUpdate(), QSGLayer::setDevicePixelRatio(), QSGInternalImageNode::setFiltering(), QSGNode::setFlag(), QSGLayer::setFormat(), QSGLayer::setHasMipmaps(), QSGInternalImageNode::setHorizontalWrapMode(), QSGInternalImageNode::setInnerTargetRect(), QSGLayer::setItem(), QSGLayer::setLive(), QSGInternalImageNode::setMipmapFiltering(), QSGLayer::setMirrorHorizontal(), QSGLayer::setMirrorVertical(), QSGLayer::setRect(), QSGLayer::setRecursive(), QSGLayer::setSamples(), QSGLayer::setSize(), QSGInternalImageNode::setTargetRect(), QSGInternalImageNode::setTexture(), QSGInternalImageNode::setVerticalWrapMode(), SIGNAL, SLOT, sourceRect, textureSize, toLayerFormat(), QSGInternalImageNode::update(), QSGNode::UsePreprocess, QQuickShaderEffectSourceTextureProvider::verticalWrap, QRectF::width(), QSize::width(), and QQuickItem::width.

+ Here is the call graph for this function:

◆ wrapMode()

QQuickShaderEffectSource::WrapMode QQuickShaderEffectSource::wrapMode ( ) const

\qmlproperty enumeration QtQuick::ShaderEffectSource::wrapMode

This property defines the OpenGL wrap modes associated with the texture. Modifying this property makes most sense when the item is used as a source texture of a \l ShaderEffect.

The default value is {ShaderEffectSource.ClampToEdge}.

\value ShaderEffectSource.ClampToEdge GL_CLAMP_TO_EDGE both horizontally and vertically \value ShaderEffectSource.RepeatHorizontally GL_REPEAT horizontally, GL_CLAMP_TO_EDGE vertically \value ShaderEffectSource.RepeatVertically GL_CLAMP_TO_EDGE horizontally, GL_REPEAT vertically \value ShaderEffectSource.Repeat GL_REPEAT both horizontally and vertically

Note
Some OpenGL ES 2 implementations do not support the GL_REPEAT wrap mode with non-power-of-two textures.

Definition at line 243 of file qquickshadereffectsource.cpp.

◆ wrapModeChanged

void QQuickShaderEffectSource::wrapModeChanged ( )
signal

Referenced by setWrapMode().

+ Here is the caller graph for this function:

Property Documentation

◆ format

Format QQuickShaderEffectSource::format
readwrite

Definition at line 49 of file qquickshadereffectsource_p.h.

Referenced by setFormat().

◆ hideSource

bool QQuickShaderEffectSource::hideSource
readwrite

Definition at line 51 of file qquickshadereffectsource_p.h.

◆ live

bool QQuickShaderEffectSource::live
readwrite

Definition at line 50 of file qquickshadereffectsource_p.h.

Referenced by setLive().

◆ mipmap

bool QQuickShaderEffectSource::mipmap
readwrite

Definition at line 52 of file qquickshadereffectsource_p.h.

Referenced by textureProvider().

◆ recursive

bool QQuickShaderEffectSource::recursive
readwrite

Definition at line 53 of file qquickshadereffectsource_p.h.

◆ samples

int QQuickShaderEffectSource::samples
readwrite

Definition at line 55 of file qquickshadereffectsource_p.h.

◆ sourceItem

QQuickItem * QQuickShaderEffectSource::sourceItem
readwrite

Definition at line 46 of file qquickshadereffectsource_p.h.

Referenced by QGfxSourceProxy::updatePolish().

◆ sourceRect

QRectF QQuickShaderEffectSource::sourceRect
readwrite

Definition at line 47 of file qquickshadereffectsource_p.h.

Referenced by updatePaintNode(), and QGfxSourceProxy::updatePolish().

◆ textureMirroring

TextureMirroring QQuickShaderEffectSource::textureMirroring
readwrite

Definition at line 54 of file qquickshadereffectsource_p.h.

◆ textureSize

QSize QQuickShaderEffectSource::textureSize
readwrite

Definition at line 48 of file qquickshadereffectsource_p.h.

Referenced by updatePaintNode().

◆ wrapMode

WrapMode QQuickShaderEffectSource::wrapMode
readwrite

Definition at line 45 of file qquickshadereffectsource_p.h.


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