QSGSimpleTextureNode Class

The QSGSimpleTextureNode class is provided for convenience to easily draw textured content using the QML scene graph. 更多...

头: #include <QSGSimpleTextureNode>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
继承: QSGGeometryNode

公共类型

enum TextureCoordinatesTransformFlag { NoTransform, MirrorHorizontally, MirrorVertically }
flags TextureCoordinatesTransformMode

公共函数

QSGSimpleTextureNode ()
virtual ~QSGSimpleTextureNode () override
QSGTexture::Filtering filtering () const
bool ownsTexture () const
QRectF rect () const
void setFiltering (QSGTexture::Filtering filtering )
void setOwnsTexture (bool owns )
void setRect (const QRectF & r )
void setRect (qreal x , qreal y , qreal w , qreal h )
void setSourceRect (const QRectF & r )
void setSourceRect (qreal x , qreal y , qreal w , qreal h )
void setTexture (QSGTexture * texture )
void setTextureCoordinatesTransform (QSGSimpleTextureNode::TextureCoordinatesTransformMode mode )
QRectF sourceRect () const
QSGTexture * texture () const
QSGSimpleTextureNode::TextureCoordinatesTransformMode textureCoordinatesTransform () const

详细描述

警告: The simple texture node class must have a texture before being added to the scene graph to be rendered.

警告: This utility class is only functional when running with the default or software backends of the Qt Quick scenegraph. As an alternative, prefer using QSGImageNode 凭借 QQuickWindow::createImageNode (). However, this standalone class is still useful when used via subclassing and the application knows that no special scenegraph backends will be involved.

成员类型文档编制

enum QSGSimpleTextureNode:: TextureCoordinatesTransformFlag
flags QSGSimpleTextureNode:: TextureCoordinatesTransformMode

The TextureCoordinatesTransformFlag enum is used to specify the mode used to generate texture coordinates for a textured quad.

常量 描述
QSGSimpleTextureNode::NoTransform 0x00 Texture coordinates are oriented with window coordinates i.e. with origin at top-left.
QSGSimpleTextureNode::MirrorHorizontally 0x01 Texture coordinates are inverted in the horizontal axis with respect to window coordinates
QSGSimpleTextureNode::MirrorVertically 0x02 Texture coordinates are inverted in the vertical axis with respect to window coordinates

The TextureCoordinatesTransformMode type is a typedef for QFlags <TextureCoordinatesTransformFlag>. It stores an OR combination of TextureCoordinatesTransformFlag values.

成员函数文档编制

QSGSimpleTextureNode:: QSGSimpleTextureNode ()

Constructs a new simple texture node

[override virtual noexcept] QSGSimpleTextureNode:: ~QSGSimpleTextureNode ()

Destroys the texture node

QSGTexture::Filtering QSGSimpleTextureNode:: filtering () const

Returns the filtering currently set on this texture node

另请参阅 setFiltering ().

bool QSGSimpleTextureNode:: ownsTexture () const

返回 true if the node takes ownership of the texture; otherwise returns false .

另请参阅 setOwnsTexture ().

QRectF QSGSimpleTextureNode:: rect () const

Returns the target rect of this texture node.

另请参阅 setRect ().

void QSGSimpleTextureNode:: setFiltering ( QSGTexture::Filtering filtering )

Sets the filtering to be used for this texture node to filtering .

For smooth scaling, use QSGTexture::Linear ; for normal scaling, use QSGTexture::Nearest .

另请参阅 filtering ().

void QSGSimpleTextureNode:: setOwnsTexture ( bool owns )

Sets whether the node takes ownership of the texture to owns .

By default, the node does not take ownership of the texture.

另请参阅 ownsTexture () 和 setTexture ().

void QSGSimpleTextureNode:: setRect (const QRectF & r )

Sets the target rect of this texture node to r .

另请参阅 rect ().

void QSGSimpleTextureNode:: setRect ( qreal x , qreal y , qreal w , qreal h )

这是重载函数。

Sets the rectangle of this texture node to begin at ( x , y ) and have width w 和高度 h .

void QSGSimpleTextureNode:: setSourceRect (const QRectF & r )

Sets the source rect of this texture node to r .

另请参阅 sourceRect ().

void QSGSimpleTextureNode:: setSourceRect ( qreal x , qreal y , qreal w , qreal h )

这是重载函数。

Sets the rectangle of this texture node to show its texture from ( x , y ) and have width w 和高度 h relatively to the QSGTexture::textureSize .

void QSGSimpleTextureNode:: setTexture ( QSGTexture * texture )

Sets the texture of this texture node to texture .

使用 setOwnsTexture () to set whether the node should take ownership of the texture. By default, the node does not take ownership.

警告: A texture node must have a texture before being added to the scenegraph to be rendered.

另请参阅 texture ().

void QSGSimpleTextureNode:: setTextureCoordinatesTransform ( QSGSimpleTextureNode::TextureCoordinatesTransformMode mode )

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.

另请参阅 textureCoordinatesTransform ().

QRectF QSGSimpleTextureNode:: sourceRect () const

Returns the source rect of this texture node.

另请参阅 setSourceRect ().

QSGTexture *QSGSimpleTextureNode:: texture () const

Returns the texture for this texture node

另请参阅 setTexture ().

QSGSimpleTextureNode::TextureCoordinatesTransformMode QSGSimpleTextureNode:: textureCoordinatesTransform () const

Returns the mode used to generate texture coordinates for this node.

另请参阅 setTextureCoordinatesTransform ().