QSGOpacityNode Class

The QSGOpacityNode class is used to change opacity of nodes. More...

Header: #include <QSGOpacityNode>
qmake: QT += quick
Inherits: QSGNode

Public Functions

QSGOpacityNode()
virtual ~QSGOpacityNode() override
qreal opacity() const
void setOpacity(qreal opacity)

Detailed Description

Opacity applies to its subtree and can be nested. Multiple opacity nodes will be accumulated by multiplying their opacity. The accumulation happens as part of the rendering.

When nested opacity gets below a certain threshold, the subtree might be marked as blocked, causing isSubtreeBlocked() to return true. This is done for performance reasons.

Note: All classes with QSG prefix should be used solely on the scene graph's rendering thread. See Scene Graph and Rendering for more information.

Member Function Documentation

QSGOpacityNode::QSGOpacityNode()

Constructs an opacity node with a default opacity of 1.

Opacity accumulates downwards in the scene graph so a node with two QSGOpacityNode instances above it, both with opacity of 0.5, will have effective opacity of 0.25.

The default opacity of nodes is 1.

[override virtual] QSGOpacityNode::~QSGOpacityNode()

Deletes the opacity node.

qreal QSGOpacityNode::opacity() const

Returns this opacity node's opacity.

See also setOpacity().

void QSGOpacityNode::setOpacity(qreal opacity)

Sets the opacity of this node to opacity.

Before rendering the graph, the renderer will do an update pass over the subtree to propagate the opacity to its children.

The value will be bounded to the range 0 to 1.

See also opacity().