Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QQuickShaderEffect Class Reference

#include <qquickshadereffect_p.h>

Inheritance diagram for QQuickShaderEffect:
Collaboration diagram for QQuickShaderEffect:

Public Types

enum  CullMode { NoCulling , BackFaceCulling , FrontFaceCulling }
enum  Status { Compiled , Uncompiled , Error }
Public Types inherited from QQuickItem
enum  Flag {
  ItemClipsChildrenToShape = 0x01 , ItemIsFocusScope = 0x04 , ItemHasContents = 0x08 , ItemAcceptsDrops = 0x10 ,
  ItemIsViewport = 0x20 , ItemObservesViewport = 0x40
}
 \qmltype Item \nativetype QQuickItem \inherits QtObject \inqmlmodule QtQuick More...
enum  ItemChange {
  ItemChildAddedChange , ItemChildRemovedChange , ItemSceneChange , ItemVisibleHasChanged ,
  ItemParentHasChanged , ItemOpacityHasChanged , ItemActiveFocusHasChanged , ItemRotationHasChanged ,
  ItemAntialiasingHasChanged , ItemDevicePixelRatioHasChanged , ItemEnabledHasChanged , ItemScaleHasChanged ,
  ItemTransformHasChanged
}
 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 {QQuickItem::scale()}{scale}, or \l {QScreen::devicePixelRatio}{device pixel ratio}. More...

Signals

void fragmentShaderChanged ()
void vertexShaderChanged ()
void blendingChanged ()
void meshChanged ()
void cullModeChanged ()
void logChanged ()
void statusChanged ()
void supportsAtlasTexturesChanged ()
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

 QQuickShaderEffect (QQuickItem *parent=nullptr)
 ~QQuickShaderEffect () override
QUrl fragmentShader () const
 \qmlproperty url QtQuick::ShaderEffect::fragmentShader
void setFragmentShader (const QUrl &fileUrl)
QUrl vertexShader () const
 \qmlproperty url QtQuick::ShaderEffect::vertexShader
void setVertexShader (const QUrl &fileUrl)
bool blending () const
 \qmlproperty bool QtQuick::ShaderEffect::blending
void setBlending (bool enable)
QVariant mesh () const
 \qmlproperty variant QtQuick::ShaderEffect::mesh
void setMesh (const QVariant &mesh)
CullMode cullMode () const
 \qmlproperty enumeration QtQuick::ShaderEffect::cullMode
void setCullMode (CullMode face)
bool supportsAtlasTextures () const
 \qmlproperty bool QtQuick::ShaderEffect::supportsAtlasTextures
void setSupportsAtlasTextures (bool supports)
QString log () const
 \qmlproperty enumeration QtQuick::ShaderEffect::status
Status status () const
bool isComponentComplete () const
bool updateUniformValue (const QByteArray &name, const QVariant &value)
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 this item to the index before the specified sibling item within the list of children.
void stackAfter (const QQuickItem *)
 Moves this item to the index after the specified sibling 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 Item QtQuick::Item::childAt(real x, real y)
 Q_REVISION (6, 3) Q_INVOKABLE void ensurePolished()
 Q_REVISION (6, 3) Q_INVOKABLE void dumpItemTree() const
virtual bool isTextureProvider () const
 Returns true if this item is a texture provider.
virtual QSGTextureProvidertextureProvider () const
 Returns the texture provider for an item.
Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
QString objectName () const
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
QBindable< QStringbindableObjectName ()
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
bool isQmlObjectType () const
 Returns whether the object has been created by the QML engine or ownership has been explicitly set via QJSEngine::setObjectOwnership().
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
QThreadthread () const
 Returns the thread in which the object lives.
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
void killTimer (int id)
 Kills the timer with timer identifier, id.
void killTimer (Qt::TimerId id)
template<typename T>
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
template<typename T>
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
template<typename T>
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
template<typename T>
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const QObjectListchildren () const
 Returns a list of child objects.
void setParent (QObject *parent)
 Makes the object a child of parent.
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
bool disconnect (const QObject *receiver, const char *member=nullptr) const
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
bool setProperty (const char *name, QVariant &&value)
QVariant property (const char *name) const
 Returns the value of the object's name property.
QList< QByteArraydynamicPropertyNames () const
QBindingStoragebindingStorage ()
const QBindingStoragebindingStorage () const
QObjectparent () const
 Returns a pointer to the parent object.
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
Public Member Functions inherited from QQmlParserStatus
 QQmlParserStatus ()
virtual ~QQmlParserStatus ()

Protected Member Functions

bool event (QEvent *e) override
 \reimp
void geometryChange (const QRectF &newGeometry, const QRectF &oldGeometry) override
QSGNodeupdatePaintNode (QSGNode *oldNode, UpdatePaintNodeData *updatePaintNodeData) override
 Called on the render thread when it is time to sync the state of the item with the scene graph.
void componentComplete () override
 \reimp Derived classes should call the base class method before adding their own actions to perform at componentComplete.
void itemChange (ItemChange change, const ItemChangeData &value) override
 Called when change occurs for this item.
Protected Member Functions inherited from QQuickItem
bool isComponentComplete () const
 Returns true if construction of the QML component is complete; otherwise returns false.
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.
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 bool contextMenuEvent (QContextMenuEvent *event)
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)
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

QUrl fragmentShader
QUrl vertexShader
bool blending
QVariant mesh
CullMode cullMode
QString log
Status status
bool supportsAtlasTextures
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
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 31 of file qquickshadereffect_p.h.

Member Enumeration Documentation

◆ CullMode

Enumerator
NoCulling 
BackFaceCulling 
FrontFaceCulling 

Definition at line 46 of file qquickshadereffect_p.h.

◆ Status

Enumerator
Compiled 
Uncompiled 
Error 

Definition at line 53 of file qquickshadereffect_p.h.

Constructor & Destructor Documentation

◆ QQuickShaderEffect()

QQuickShaderEffect::QQuickShaderEffect ( QQuickItem * parent = nullptr)

Definition at line 541 of file qquickshadereffect.cpp.

◆ ~QQuickShaderEffect()

QQuickShaderEffect::~QQuickShaderEffect ( )
override

Definition at line 547 of file qquickshadereffect.cpp.

Member Function Documentation

◆ blending()

bool QQuickShaderEffect::blending ( ) const

\qmlproperty bool QtQuick::ShaderEffect::blending

If this property is true, the output from the \l fragmentShader is blended with the background using source-over blend mode. If false, the background is disregarded. Blending decreases the performance, so you should set this property to false when blending is not needed. The default value is true.

Definition at line 630 of file qquickshadereffect.cpp.

◆ blendingChanged

void QQuickShaderEffect::blendingChanged ( )
signal

◆ componentComplete()

void QQuickShaderEffect::componentComplete ( )
overrideprotectedvirtual

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

Reimplemented from QQuickItem.

Definition at line 797 of file qquickshadereffect.cpp.

◆ cullMode()

QQuickShaderEffect::CullMode QQuickShaderEffect::cullMode ( ) const

\qmlproperty enumeration QtQuick::ShaderEffect::cullMode

This property defines which sides of the item should be visible.

\value ShaderEffect.NoCulling Both sides are visible \value ShaderEffect.BackFaceCulling only the front side is visible \value ShaderEffect.FrontFaceCulling only the back side is visible

The default is NoCulling.

Definition at line 679 of file qquickshadereffect.cpp.

◆ cullModeChanged

void QQuickShaderEffect::cullModeChanged ( )
signal

◆ event()

bool QQuickShaderEffect::event ( QEvent * ev)
overrideprotectedvirtual

\reimp

Reimplemented from QQuickItem.

Definition at line 777 of file qquickshadereffect.cpp.

◆ fragmentShader()

QUrl QQuickShaderEffect::fragmentShader ( ) const

\qmlproperty url QtQuick::ShaderEffect::fragmentShader

This property contains a reference to a file with the preprocessed fragment shader package, typically with an extension of {.qsb}. The value is treated as a \l{QUrl}{URL}, similarly to other QML types, such as Image. It must either be a local file or use the qrc scheme to access files embedded via the Qt resource system. The URL may be absolute, or relative to the URL of the component.

Warning
Shaders, including {.qsb} files, are assumed to be trusted content. Application developers are advised to carefully consider the potential implications before allowing the loading of user-provided content that is not part of the application.
See also
vertexShader

Definition at line 579 of file qquickshadereffect.cpp.

◆ fragmentShaderChanged

void QQuickShaderEffect::fragmentShaderChanged ( )
signal

◆ geometryChange()

void QQuickShaderEffect::geometryChange ( const QRectF & newGeometry,
const QRectF & oldGeometry )
overrideprotectedvirtual
Since
6.0

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 784 of file qquickshadereffect.cpp.

◆ isComponentComplete()

bool QQuickShaderEffect::isComponentComplete ( ) const

Definition at line 811 of file qquickshadereffect.cpp.

◆ itemChange()

void QQuickShaderEffect::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
[3]

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

Reimplemented from QQuickItem.

Definition at line 804 of file qquickshadereffect.cpp.

◆ log()

QString QQuickShaderEffect::log ( ) const

\qmlproperty enumeration QtQuick::ShaderEffect::status

This property tells the current status of the shaders.

\value ShaderEffect.Compiled the shader program was successfully compiled and linked. \value ShaderEffect.Uncompiled the shader program has not yet been compiled. \value ShaderEffect.Error the shader program failed to compile or link.

When setting the fragment or vertex shader source code, the status will become Uncompiled. The first time the ShaderEffect is rendered with new shader source code, the shaders are compiled and linked, and the status is updated to Compiled or Error.

When runtime compilation is not in use and the shader properties refer to files with bytecode, the status is always Compiled. The contents of the shader is not examined (apart from basic reflection to discover vertex input elements and constant buffer data) until later in the rendering pipeline so potential errors (like layout or root signature mismatches) will only be detected at a later point.

See also
log

\qmlproperty string QtQuick::ShaderEffect::log

This property holds a log of warnings and errors from the latest attempt at compiling the shaders. It is updated at the same time \l status is set to Compiled or Error.

Note
In Qt 6, the shader pipeline promotes compiling and translating the Vulkan-style GLSL shaders offline, or at build time at latest. This does not necessarily mean there is no shader compilation happening at run time, but even if there is, ShaderEffect is not involved in that, and syntax and similar errors should not occur anymore at that stage. Therefore the value of this property is typically empty.
See also
status

Definition at line 765 of file qquickshadereffect.cpp.

◆ logChanged

void QQuickShaderEffect::logChanged ( )
signal

◆ mesh()

QVariant QQuickShaderEffect::mesh ( ) const

\qmlproperty variant QtQuick::ShaderEffect::mesh

This property defines the mesh used to draw the ShaderEffect. It can hold any \l GridMesh object. If a size value is assigned to this property, the ShaderEffect implicitly uses a \l GridMesh with the value as \l{GridMesh::resolution}{mesh resolution}. By default, this property is the size 1x1.

See also
GridMesh

Definition at line 655 of file qquickshadereffect.cpp.

◆ meshChanged

void QQuickShaderEffect::meshChanged ( )
signal

◆ setBlending()

void QQuickShaderEffect::setBlending ( bool enable)

Definition at line 636 of file qquickshadereffect.cpp.

◆ setCullMode()

void QQuickShaderEffect::setCullMode ( CullMode face)

Definition at line 685 of file qquickshadereffect.cpp.

◆ setFragmentShader()

void QQuickShaderEffect::setFragmentShader ( const QUrl & fileUrl)

Definition at line 585 of file qquickshadereffect.cpp.

◆ setMesh()

void QQuickShaderEffect::setMesh ( const QVariant & mesh)

Definition at line 661 of file qquickshadereffect.cpp.

◆ setSupportsAtlasTextures()

void QQuickShaderEffect::setSupportsAtlasTextures ( bool supports)

Definition at line 718 of file qquickshadereffect.cpp.

◆ setVertexShader()

void QQuickShaderEffect::setVertexShader ( const QUrl & fileUrl)

Definition at line 615 of file qquickshadereffect.cpp.

◆ status()

QQuickShaderEffect::Status QQuickShaderEffect::status ( ) const

Definition at line 771 of file qquickshadereffect.cpp.

◆ statusChanged

void QQuickShaderEffect::statusChanged ( )
signal

◆ supportsAtlasTextures()

bool QQuickShaderEffect::supportsAtlasTextures ( ) const

\qmlproperty bool QtQuick::ShaderEffect::supportsAtlasTextures

Set this property true to confirm that your shader code doesn't rely on qt_MultiTexCoord0 ranging from (0,0) to (1,1) relative to the mesh. In this case the range of qt_MultiTexCoord0 will rather be based on the position of the texture within the atlas. This property currently has no effect if there is less, or more, than one sampler uniform used as input to your shader.

This differs from providing qt_SubRect_<name> uniforms in that the latter allows drawing one or more textures from the atlas in a single ShaderEffect item, while supportsAtlasTextures allows multiple instances of a ShaderEffect component using a different source image from the atlas to be batched in a single draw. Both prevent a texture from being copied out of the atlas when referenced by a ShaderEffect.

The default value is false.

Since
5.4
QtQuick 2.4

Definition at line 712 of file qquickshadereffect.cpp.

◆ supportsAtlasTexturesChanged

void QQuickShaderEffect::supportsAtlasTexturesChanged ( )
signal

◆ updatePaintNode()

QSGNode * QQuickShaderEffect::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:36
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 791 of file qquickshadereffect.cpp.

◆ updateUniformValue()

bool QQuickShaderEffect::updateUniformValue ( const QByteArray & name,
const QVariant & value )

Definition at line 816 of file qquickshadereffect.cpp.

◆ vertexShader()

QUrl QQuickShaderEffect::vertexShader ( ) const

\qmlproperty url QtQuick::ShaderEffect::vertexShader

This property contains a reference to a file with the preprocessed vertex shader package, typically with an extension of {.qsb}. The value is treated as a \l{QUrl}{URL}, similarly to other QML types, such as Image. It must either be a local file or use the qrc scheme to access files embedded via the Qt resource system. The URL may be absolute, or relative to the URL of the component.

Warning
Shaders, including {.qsb} files, are assumed to be trusted content. Application developers are advised to carefully consider the potential implications before allowing the loading of user-provided content that is not part of the application.
See also
fragmentShader

Definition at line 609 of file qquickshadereffect.cpp.

◆ vertexShaderChanged

void QQuickShaderEffect::vertexShaderChanged ( )
signal

Property Documentation

◆ blending

bool QQuickShaderEffect::blending
readwrite

Definition at line 36 of file qquickshadereffect_p.h.

◆ cullMode

CullMode QQuickShaderEffect::cullMode
readwrite

Definition at line 38 of file qquickshadereffect_p.h.

◆ fragmentShader

QUrl QQuickShaderEffect::fragmentShader
readwrite

Definition at line 34 of file qquickshadereffect_p.h.

◆ log

QString QQuickShaderEffect::log
read

Definition at line 39 of file qquickshadereffect_p.h.

◆ mesh

QVariant QQuickShaderEffect::mesh
readwrite

Definition at line 37 of file qquickshadereffect_p.h.

◆ status

Status QQuickShaderEffect::status
read

Definition at line 40 of file qquickshadereffect_p.h.

◆ supportsAtlasTextures

bool QQuickShaderEffect::supportsAtlasTextures
readwrite

Definition at line 41 of file qquickshadereffect_p.h.

◆ vertexShader

QUrl QQuickShaderEffect::vertexShader
readwrite

Definition at line 35 of file qquickshadereffect_p.h.


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