![]() |
Qt 6.x
The Qt SDK
|
The QSGImageNode class is provided for convenience to easily draw textured content using the QML scene graph. More...
#include <qsgimagenode.h>
Public Types | |
enum | TextureCoordinatesTransformFlag { NoTransform = 0x00 , MirrorHorizontally = 0x01 , MirrorVertically = 0x02 } |
The TextureCoordinatesTransformFlag enum is used to specify the mode used to generate texture coordinates for a textured quad. More... | |
![]() | |
enum | NodeType { BasicNodeType , GeometryNodeType , TransformNodeType , ClipNodeType , OpacityNodeType , RootNodeType , RenderNodeType } |
Can be used to figure out the type of node. More... | |
enum | Flag { OwnedByParent = 0x0001 , UsePreprocess = 0x0002 , OwnsGeometry = 0x00010000 , OwnsMaterial = 0x00020000 , OwnsOpaqueMaterial = 0x00040000 , IsVisitableNode = 0x01000000 } |
The QSGNode::Flag enum describes flags on the QSGNode. More... | |
enum | DirtyStateBit { DirtySubtreeBlocked = 0x0080 , DirtyMatrix = 0x0100 , DirtyNodeAdded = 0x0400 , DirtyNodeRemoved = 0x0800 , DirtyGeometry = 0x1000 , DirtyMaterial = 0x2000 , DirtyOpacity = 0x4000 , DirtyForceUpdate = 0x8000 , DirtyUsePreprocess = UsePreprocess , DirtyPropagationMask } |
Used in QSGNode::markDirty() to indicate how the scene graph has changed. More... | |
Public Member Functions | |
~QSGImageNode () override=default | |
virtual void | setRect (const QRectF &rect)=0 |
Sets the target rect of this image node to rect. | |
void | setRect (qreal x, qreal y, qreal w, qreal h) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets the rectangle of this image node to begin at (x, y) and have width w and height h. | |
virtual QRectF | rect () const =0 |
Returns the target rect of this image node. | |
virtual void | setSourceRect (const QRectF &r)=0 |
Sets the source rect of this image node to rect. | |
void | setSourceRect (qreal x, qreal y, qreal w, qreal h) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets the rectangle of this image node to show its texture from (x, y) and have width w and height h relatively to the QSGTexture::textureSize. | |
virtual QRectF | sourceRect () const =0 |
Returns the source rect of this image node. | |
virtual void | setTexture (QSGTexture *texture)=0 |
Sets the texture of this image node to texture. | |
virtual QSGTexture * | texture () const =0 |
Returns the texture for this image node. | |
virtual void | setFiltering (QSGTexture::Filtering filtering)=0 |
Sets the filtering to be used for this image node to filtering. | |
virtual QSGTexture::Filtering | filtering () const =0 |
Returns the filtering for this image node. | |
virtual void | setMipmapFiltering (QSGTexture::Filtering filtering)=0 |
Sets the mipmap filtering to be used for this image node to filtering. | |
virtual QSGTexture::Filtering | mipmapFiltering () const =0 |
Returns the mipmap filtering for this image node. | |
virtual void | setAnisotropyLevel (QSGTexture::AnisotropyLevel level)=0 |
Sets this image node's anistropy level to level. | |
virtual QSGTexture::AnisotropyLevel | anisotropyLevel () const =0 |
Returns this image node's anistropy level. | |
virtual void | setTextureCoordinatesTransform (TextureCoordinatesTransformMode mode)=0 |
Sets the method used to generate texture coordinates to mode. | |
virtual TextureCoordinatesTransformMode | textureCoordinatesTransform () const =0 |
Returns the mode used to generate texture coordinates for this node. | |
virtual void | setOwnsTexture (bool owns)=0 |
Sets whether the node takes ownership of the texture to owns. | |
virtual bool | ownsTexture () const =0 |
![]() | |
QSGGeometryNode () | |
Creates a new geometry node without geometry and material. | |
~QSGGeometryNode () override | |
Deletes this geometry node. | |
void | setMaterial (QSGMaterial *material) |
Sets the material of this geometry node to material. | |
QSGMaterial * | material () const |
Returns the material of the QSGGeometryNode. | |
void | setOpaqueMaterial (QSGMaterial *material) |
Sets the opaque material of this geometry to material. | |
QSGMaterial * | opaqueMaterial () const |
Returns the opaque material of the QSGGeometryNode. | |
QSGMaterial * | activeMaterial () const |
Returns the material which should currently be used for geometry node. | |
void | setRenderOrder (int order) |
Sets the render order of this node to be order. | |
int | renderOrder () const |
Returns the render order of this geometry node. | |
void | setInheritedOpacity (qreal opacity) |
Sets the inherited opacity of this geometry to opacity. | |
qreal | inheritedOpacity () const |
Set during rendering to specify the inherited opacity for that rendering pass. | |
![]() | |
~QSGBasicGeometryNode () override | |
Deletes this QSGBasicGeometryNode. | |
void | setGeometry (QSGGeometry *geometry) |
Sets the geometry of this node to geometry. | |
const QSGGeometry * | geometry () const |
Returns this node's geometry. | |
QSGGeometry * | geometry () |
Returns this node's geometry. | |
const QMatrix4x4 * | matrix () const |
Will be set during rendering to contain transformation of the geometry for that rendering pass. | |
const QSGClipNode * | clipList () const |
Will be set during rendering to contain the clip of the geometry for that rendering pass. | |
void | setRendererMatrix (const QMatrix4x4 *m) |
void | setRendererClipList (const QSGClipNode *c) |
![]() | |
QSGNode () | |
Constructs a new node. | |
virtual | ~QSGNode () |
Destroys the node. | |
QSGNode * | parent () const |
Returns the parent node of this node. | |
void | removeChildNode (QSGNode *node) |
Removes node from this node's list of children. | |
void | removeAllChildNodes () |
Removes all child nodes from this node's list of children. | |
void | prependChildNode (QSGNode *node) |
Prepends node to this node's the list of children. | |
void | appendChildNode (QSGNode *node) |
Appends node to this node's list of children. | |
void | insertChildNodeBefore (QSGNode *node, QSGNode *before) |
Inserts node to this node's list of children before the node specified with before. | |
void | insertChildNodeAfter (QSGNode *node, QSGNode *after) |
Inserts node to this node's list of children after the node specified with after. | |
void | reparentChildNodesTo (QSGNode *newParent) |
int | childCount () const |
Returns the number of child nodes. | |
QSGNode * | childAtIndex (int i) const |
Returns the child at index i. | |
QSGNode * | firstChild () const |
Returns the first child of this node. | |
QSGNode * | lastChild () const |
Returns the last child of this node. | |
QSGNode * | nextSibling () const |
Returns the node after this in the parent's list of children. | |
QSGNode * | previousSibling () const |
Returns the node before this in the parent's list of children. | |
NodeType | type () const |
Returns the type of this node. | |
QT_DEPRECATED void | clearDirty () |
void | markDirty (DirtyState bits) |
Notifies all connected renderers that the node has dirty bits. | |
QT_DEPRECATED DirtyState | dirtyState () const |
virtual bool | isSubtreeBlocked () const |
Returns whether this node and its subtree is available for use. | |
Flags | flags () const |
Returns the set of flags for this node. | |
void | setFlag (Flag, bool=true) |
Sets the flag f on this node if enabled is true; otherwise clears the flag. | |
void | setFlags (Flags, bool=true) |
Sets the flags f on this node if enabled is true; otherwise clears the flags. | |
virtual void | preprocess () |
Override this function to do processing on the node before it is rendered. | |
Static Public Member Functions | |
static void | rebuildGeometry (QSGGeometry *g, QSGTexture *texture, const QRectF &rect, QRectF sourceRect, TextureCoordinatesTransformMode texCoordMode) |
Updates the geometry g with the texture, the coordinates in rect, and the texture coordinates from sourceRect. | |
Additional Inherited Members | |
![]() | |
QSGGeometryNode (QSGGeometryNodePrivate &dd) | |
![]() | |
QSGBasicGeometryNode (NodeType type) | |
Creates a new basic geometry node of type type. | |
QSGBasicGeometryNode (QSGBasicGeometryNodePrivate &dd, NodeType type) | |
![]() | |
QSGNode (NodeType type) | |
Constructs a new node with the given node type. | |
QSGNode (QSGNodePrivate &dd, NodeType type) | |
Constructs a new node with the given node type. | |
![]() | |
QScopedPointer< QSGNodePrivate > | d_ptr |
The QSGImageNode class is provided for convenience to easily draw textured content using the QML scene graph.
\inmodule QtQuick
Definition at line 12 of file qsgimagenode.h.
The TextureCoordinatesTransformFlag enum is used to specify the mode used to generate texture coordinates for a textured quad.
\value NoTransform Texture coordinates are oriented with window coordinates i.e. with origin at top-left.
\value MirrorHorizontally Texture coordinates are inverted in the horizontal axis with respect to window coordinates
\value MirrorVertically Texture coordinates are inverted in the vertical axis with respect to window coordinates
Enumerator | |
---|---|
NoTransform | |
MirrorHorizontally | |
MirrorVertically |
Definition at line 37 of file qsgimagenode.h.
|
overridedefault |
|
pure virtual |
Returns this image node's anistropy level.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
|
pure virtual |
Returns the filtering for this image node.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
|
pure virtual |
Returns the mipmap filtering for this image node.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
|
pure virtual |
true
if the node takes ownership of the texture; otherwise false
. Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
|
static |
Updates the geometry g with the texture, the coordinates in rect, and the texture coordinates from sourceRect.
g is assumed to be a triangle strip of four vertices of type QSGGeometry::TexturedPoint2D.
texCoordMode is used for normalizing the sourceRect.
Definition at line 175 of file qsgimagenode.cpp.
References QRectF::bottom(), QRectF::height(), QSize::height(), QRectF::left(), MirrorHorizontally, MirrorVertically, rect(), QRectF::right(), QRectF::setBottom(), QRectF::setLeft(), QRectF::setRight(), QRectF::setTop(), sourceRect(), QRectF::top(), QSGGeometry::updateTexturedRectGeometry(), QRectF::width(), and QSize::width().
Referenced by QSGDefaultImageNode::setRect(), QSGDefaultImageNode::setSourceRect(), QSGDefaultImageNode::setTexture(), and QSGDefaultImageNode::setTextureCoordinatesTransform().
|
pure virtual |
Returns the target rect of this image node.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
Referenced by rebuildGeometry(), and QGeoTiledMapRootNode::updateTiles().
|
pure virtual |
Sets this image node's anistropy level to level.
Implemented in QSGOpenVGImageNode, QSGDefaultImageNode, and QSGSoftwareImageNode.
|
pure virtual |
Sets the filtering to be used for this image node to filtering.
For smooth scaling, use QSGTexture::Linear. For normal scaling, use QSGTexture::Nearest.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
Referenced by QGeoTiledMapRootNode::updateTiles().
|
pure virtual |
Sets the mipmap filtering to be used for this image node to filtering.
For smooth scaling between mip maps, use QSGTexture::Linear. For normal scaling, use QSGTexture::Nearest.
Implemented in QSGDefaultImageNode, QSGOpenVGImageNode, and QSGSoftwareImageNode.
Referenced by QGeoTiledMapRootNode::updateTiles().
|
pure virtual |
Sets whether the node takes ownership of the texture to owns.
By default, the node does not take ownership of the texture.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
Referenced by QQuickMaterialBusyIndicatorNode::QQuickMaterialBusyIndicatorNode().
Sets the target rect of this image node to rect.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
Referenced by QGeoTiledMapScenePrivate::buildGeometry(), and QQuickMaterialBusyIndicatorNode::updateCurrentTime().
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets the rectangle of this image node to begin at (x, y) and have width w and height h.
Definition at line 18 of file qsgimagenode.h.
References setRect().
Referenced by setRect().
Sets the source rect of this image node to rect.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
Referenced by QGeoTiledMapScenePrivate::buildGeometry().
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Sets the rectangle of this image node to show its texture from (x, y) and have width w and height h relatively to the QSGTexture::textureSize.
Definition at line 22 of file qsgimagenode.h.
References setSourceRect().
Referenced by setSourceRect().
|
pure virtual |
Sets the texture of this image node to texture.
Use setOwnsTexture() to set whether the node should take ownership of the texture. By default, the node does not take ownership.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
Referenced by QQuickMaterialBusyIndicatorNode::QQuickMaterialBusyIndicatorNode(), QQuickMaterialBusyIndicatorNode::updateCurrentTime(), and QGeoTiledMapRootNode::updateTiles().
|
pure virtual |
Sets the method used to generate texture coordinates to mode.
This can be used to obtain correct orientation of the texture. This is commonly needed when using a third-party OpenGL library to render to texture as OpenGL has an inverted y-axis relative to Qt Quick.
Implemented in QSGDefaultImageNode, QSGOpenVGImageNode, and QSGSoftwareImageNode.
Referenced by QGeoTiledMapScenePrivate::buildGeometry().
|
pure virtual |
Returns the source rect of this image node.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
Referenced by rebuildGeometry().
|
pure virtual |
Returns the texture for this image node.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.
Referenced by QGeoTiledMapScenePrivate::buildGeometry(), and QGeoTiledMapRootNode::updateTiles().
|
pure virtual |
Returns the mode used to generate texture coordinates for this node.
Implemented in QSGOpenVGImageNode, QSGSoftwareImageNode, and QSGDefaultImageNode.