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

#include <qquickrectangularshadow_p.h>

+ Inheritance diagram for QQuickRectangularShadow:
+ Collaboration diagram for QQuickRectangularShadow:

Signals

void offsetChanged ()
 
void colorChanged ()
 
void blurChanged ()
 
void radiusChanged ()
 
void spreadChanged ()
 
void cachedChanged ()
 
void materialChanged ()
 
- 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

 QQuickRectangularShadow (QQuickItem *parent=nullptr)
 \qmltype RectangularShadow \nativetype QQuickRectangularShadow \inqmlmodule QtQuick.Effects \inherits Item
 
QVector2D offset () const
 \qmlproperty vector2d QtQuick.Effects::RectangularShadow::offset
 
void setOffset (const QVector2D &offset)
 
QColor color () const
 \qmlproperty color QtQuick.Effects::RectangularShadow::color
 
void setColor (const QColor &color)
 
qreal blur () const
 \qmlproperty real QtQuick.Effects::RectangularShadow::blur
 
void setBlur (qreal blur)
 
qreal radius () const
 \qmlproperty real QtQuick.Effects::RectangularShadow::radius
 
void setRadius (qreal radius)
 
qreal spread () const
 \qmlproperty real QtQuick.Effects::RectangularShadow::spread
 
void setSpread (qreal spread)
 
bool isCached () const
 \qmlproperty bool QtQuick.Effects::RectangularShadow::cached This property allows the effect output pixels to be cached in order to improve the rendering performance.
 
void setCached (bool cached)
 
QQuickItemmaterial () const
 \qmlproperty item QtQuick.Effects::RectangularShadow::material
 
void setMaterial (QQuickItem *item)
 
- 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
 
virtual bool isTextureProvider () const
 Returns true if this item is a texture provider.
 
virtual QSGTextureProvidertextureProvider () const
 Returns the texture provider for an item.
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T>
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T>
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T>
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T>
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 
- Public Member Functions inherited from QQmlParserStatus
 QQmlParserStatus ()
 
virtual ~QQmlParserStatus ()
 

Protected Member Functions

void componentComplete () override
 \reimp Derived classes should call the base class method before adding their own actions to perform at componentComplete.
 
void geometryChange (const QRectF &newGeometry, const QRectF &oldGeometry) 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.
 
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 QSGNodeupdatePaintNode (QSGNode *, UpdatePaintNodeData *)
 Called on the render thread when it is time to sync the state of the item with the scene graph.
 
virtual void releaseResources ()
 This function is called when an item should release graphics resources which are not already managed by the nodes returned from QQuickItem::updatePaintNode().
 
virtual void updatePolish ()
 This function should perform any layout as required for this item.
 
 QQuickItem (QQuickItemPrivate &dd, QQuickItem *parent=nullptr)
 
- 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

QVector2D offset
 
QColor color
 
qreal blur
 
qreal radius
 
qreal spread
 
bool cached
 
QQuickItemmaterial
 
- 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 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...
 
- 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 32 of file qquickrectangularshadow_p.h.

Constructor & Destructor Documentation

◆ QQuickRectangularShadow()

QT_BEGIN_NAMESPACE QQuickRectangularShadow::QQuickRectangularShadow ( QQuickItem * parent = nullptr)

\qmltype RectangularShadow \nativetype QQuickRectangularShadow \inqmlmodule QtQuick.Effects \inherits Item

Creates smoothed rectangle, suitable for example for shadow and glow effects.

RectangularShadow is a rounded rectangle with blur applied. The performance of RectangularShadow is much better than a general one that creates blurred shadow/glow of any shaped item.

The following example shows how to add a shadow to a \l Rectangle: \table 70% \row

  • \qml import QtQuick import QtQuick.Effects

... RectangularShadow { anchors.fill: myRectangle offset.x: -10 offset.y: -5 radius: myRectangle.radius blur: 30 spread: 10 color: Qt.darker(myRectangle.color, 1.6) } Rectangle { id: myRectangle anchors.centerIn: parent width: 200 height: 100 radius: 50 color: "#c0d0f0" } \endqml \endtable

The API of RectangularShadow is similar to CSS box-shadow, with color, offset, spread, and blur values. Additionally, RectangularShadow API contains:

\list

  • real \l radius: Controls the rounding radius applied to rectangle corners. Compared to CSS box-shadow, which inherits radius from the parent element, RectangularShadow expects user to set it. This allows you to use different radiuses and move the RectangularShadow separately from its parent item.
  • bool \l cached: Allows caching the blurred shadow texture. This increases memory usage while potentially improving rendering performance, especially with bigger shadows that don't change dynamically.
  • item \l material: Contains the ShaderEffect element of the RectangularShadow for advanced use. This allows, for example, extending the effect with a custom shader. \endlist

The rendering output also matches the CSS box-shadow, with few notable differences. These differences exist to make the RectangularShadow as high-performance as possible. \list

  • Blurring is calculated mathematically in the shader rather than using Gaussian blur, which CSS box-shadow implementations often use. This makes the shadow look slightly different, especially with larger blur values.
  • All the rectangle corners must have an even radius. When creating a shadow for a \l Rectangle with different radiuses, select the best-matching radius for the shadow or use an alternative shadow method, for example, \l MultiEffect. \endlist

Here is a table with screenshots to compare the rendering output of RectangularShadow and CSS box-shadow in the Chrome browser. The right-most element is RectangularShadow in blur multiplied with {1.2} (so 24, 48, 48) for a closer match.

\table 80% \header

  • type
  • CSS box-shadow
  • RectangularShadow
  • RectangularShadow + extra blur \row
  • offset: (0, 0) \br blur: 20 \br spread: 0 \br
  • \row
  • offset: (-10, -20) \br blur: 40 \br spread: 0 \br
  • \row
  • offset: (-10, -20) \br blur: 40 \br spread: 10 \br
  • \endtable

RectangularShadow extends the shadow size with an exact amount regarding the blur amount, while some other shadows (including CSS box-shadow) have a multiplier for the size. The size of the shadow item inside a RectangularShadow is: \badcode width = rectangularShadow.width + 2 * blur + 2 * spread height = rectangularShadow.height + 2 * blur + 2 * spread

For example, the shadow item size of the code below is 280x180 pixels. Radius or offset values do not affect the shadow item size. \qml RectangularShadow { width: 200 height: 100 blur: 30 spread: 10 radius: 20 } \endqml

\qmlproperty bool QtQuick.Effects::RectangularShadow::antialiasing

Used to decide if the shadow should use antialiasing or not. When this is true, a single pixel antialiasing is used even when the \l blur is 0.

The default value is true.

Definition at line 154 of file qquickrectangularshadow.cpp.

Member Function Documentation

◆ blur()

qreal QQuickRectangularShadow::blur ( ) const

\qmlproperty real QtQuick.Effects::RectangularShadow::blur

This property defines how many pixels outside the item area are reached by the shadow.

The value ranges from 0.0 (no blur) to inf (infinite blur). The default value is 10.0.

Note
To match with the CSS box-shadow rendering output, the optimal blur amount is something like: {1.2 * cssBlur}

Definition at line 224 of file qquickrectangularshadow.cpp.

◆ blurChanged

void QQuickRectangularShadow::blurChanged ( )
signal

◆ cachedChanged

void QQuickRectangularShadow::cachedChanged ( )
signal

◆ color()

QColor QQuickRectangularShadow::color ( ) const

\qmlproperty color QtQuick.Effects::RectangularShadow::color

This property defines the RGBA color value that is used for the shadow.

The default value is {Qt.rgba(0.0, 0.0, 0.0, 1.0)} (black).

Definition at line 194 of file qquickrectangularshadow.cpp.

◆ colorChanged

void QQuickRectangularShadow::colorChanged ( )
signal

◆ componentComplete()

void QQuickRectangularShadow::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 420 of file qquickrectangularshadow.cpp.

◆ geometryChange()

void QQuickRectangularShadow::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 427 of file qquickrectangularshadow.cpp.

◆ isCached()

bool QQuickRectangularShadow::isCached ( ) const

\qmlproperty bool QtQuick.Effects::RectangularShadow::cached This property allows the effect output pixels to be cached in order to improve the rendering performance.

Every time the effect properties are changed, the pixels in the cache must be updated. Memory consumption is increased, because an extra buffer of memory is required for storing the effect output.

It is recommended to disable the cache when the source or the effect properties are animated.

The default value is false.

Definition at line 323 of file qquickrectangularshadow.cpp.

◆ itemChange()

void QQuickRectangularShadow::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 435 of file qquickrectangularshadow.cpp.

◆ material()

QQuickItem * QQuickRectangularShadow::material ( ) const

\qmlproperty item QtQuick.Effects::RectangularShadow::material

This property contains the \l ShaderEffect item of the shadow. You can use this property to visualize the reach of the shadow, because the effect item often has different position and size than the RectangularShadow item, due to \l blur, \l offset and \l spread.

The material can also be replaced with a custom one. The default material is a \l ShaderEffect with the following \l {ShaderEffect::}{fragmentShader}:

\badcode #version 440

layout(location = 0) in vec2 texCoord; layout(location = 1) in vec2 fragCoord; layout(location = 0) out vec4 fragColor;

layout(std140, binding = 0) uniform buf { mat4 qt_Matrix; float qt_Opacity; vec4 color; vec3 iResolution; vec2 rectSize; float radius; float blur; };

float roundedBox(vec2 centerPos, vec2 size, float radii) { return length(max(abs(centerPos) - size + radii, 0.0)) - radii; }

void main() { float box = roundedBox(fragCoord - iResolution.xy * 0.5, rectSize, radius); float a = 1.0 - smoothstep(0.0, blur, box); fragColor = color * qt_Opacity * a * a; }

Qt Quick Effect Maker contains the RectangularShadow node that can be used as a starting point for a custom material. You can directly use the exported effect containing that node as a RectangularShadow material. \qml RectangularShadow { ... material: MyShadowEffect { } } \endqml

To return to use the default material, set the material property to null.

Definition at line 393 of file qquickrectangularshadow.cpp.

◆ materialChanged

void QQuickRectangularShadow::materialChanged ( )
signal

◆ offset()

QVector2D QQuickRectangularShadow::offset ( ) const

\qmlproperty vector2d QtQuick.Effects::RectangularShadow::offset

This property defines the position offset that is used for the shadow. This offset is appended to the shadow position, relative to the RectangularShadow item position.

The default value is {Qt.vector2d(0.0, 0.0)} (no offset).

Definition at line 169 of file qquickrectangularshadow.cpp.

◆ offsetChanged

void QQuickRectangularShadow::offsetChanged ( )
signal

◆ radius()

qreal QQuickRectangularShadow::radius ( ) const

\qmlproperty real QtQuick.Effects::RectangularShadow::radius

This property defines the corner radius that is used to draw a shadow with rounded corners.

The value ranges from 0.0 to half of the effective width or height of the item, whichever is smaller.

The default value is 0.

Definition at line 254 of file qquickrectangularshadow.cpp.

◆ radiusChanged

void QQuickRectangularShadow::radiusChanged ( )
signal

◆ setBlur()

void QQuickRectangularShadow::setBlur ( qreal blur)

Definition at line 230 of file qquickrectangularshadow.cpp.

◆ setCached()

void QQuickRectangularShadow::setCached ( bool cached)

Definition at line 329 of file qquickrectangularshadow.cpp.

◆ setColor()

void QQuickRectangularShadow::setColor ( const QColor & color)

Definition at line 200 of file qquickrectangularshadow.cpp.

◆ setMaterial()

void QQuickRectangularShadow::setMaterial ( QQuickItem * item)

Definition at line 399 of file qquickrectangularshadow.cpp.

◆ setOffset()

void QQuickRectangularShadow::setOffset ( const QVector2D & offset)

Definition at line 175 of file qquickrectangularshadow.cpp.

◆ setRadius()

void QQuickRectangularShadow::setRadius ( qreal radius)

Definition at line 260 of file qquickrectangularshadow.cpp.

◆ setSpread()

void QQuickRectangularShadow::setSpread ( qreal spread)

Definition at line 297 of file qquickrectangularshadow.cpp.

◆ spread()

qreal QQuickRectangularShadow::spread ( ) const

\qmlproperty real QtQuick.Effects::RectangularShadow::spread

This property defines how much the shadow is spread (extended) in pixels. This spread is appended to the shadow size, relative to the RectangularShadow item size.

The value ranges from -inf to inf. The default value is 0.0.

Note
The radius behavior with spread matches to CSS box-shadow standard. So when the spread is smaller than the radius, the shadow radius grows by the amount of spread. When the spread grows bigger, radius grows only partially. See \l {https://www.w3.org/TR/css-backgrounds-3/#shadow-shape}. If the shadow radius should grow in sync when the shadow grows (like with the Firefox CSS box-shadow implementation), increase the RectangularShadow width and height instead of using the spread.

Definition at line 291 of file qquickrectangularshadow.cpp.

◆ spreadChanged

void QQuickRectangularShadow::spreadChanged ( )
signal

Property Documentation

◆ blur

qreal QQuickRectangularShadow::blur
readwrite

Definition at line 37 of file qquickrectangularshadow_p.h.

◆ cached

bool QQuickRectangularShadow::cached
readwrite

Definition at line 40 of file qquickrectangularshadow_p.h.

◆ color

QColor QQuickRectangularShadow::color
readwrite

Definition at line 36 of file qquickrectangularshadow_p.h.

◆ material

QQuickItem * QQuickRectangularShadow::material
readwrite

Definition at line 41 of file qquickrectangularshadow_p.h.

◆ offset

◆ radius

qreal QQuickRectangularShadow::radius
readwrite

Definition at line 38 of file qquickrectangularshadow_p.h.

◆ spread

qreal QQuickRectangularShadow::spread
readwrite

Definition at line 39 of file qquickrectangularshadow_p.h.


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