15 ~QSGImageNode() override =
default;
17 virtual void setRect(
const QRectF &rect) = 0;
18 inline void setRect(qreal x, qreal y, qreal w, qreal h) { setRect(QRectF(x, y, w, h)); }
19 virtual QRectF rect()
const = 0;
21 virtual void setSourceRect(
const QRectF &r) = 0;
22 inline void setSourceRect(qreal x, qreal y, qreal w, qreal h) { setSourceRect(QRectF(x, y, w, h)); }
23 virtual QRectF sourceRect()
const = 0;
25 virtual void setTexture(QSGTexture *texture) = 0;
26 virtual QSGTexture *texture()
const = 0;
28 virtual void setFiltering(QSGTexture::Filtering filtering) = 0;
29 virtual QSGTexture::Filtering filtering()
const = 0;
31 virtual void setMipmapFiltering(QSGTexture::Filtering filtering) = 0;
32 virtual QSGTexture::Filtering mipmapFiltering()
const = 0;
34 virtual void setAnisotropyLevel(QSGTexture::AnisotropyLevel level) = 0;
35 virtual QSGTexture::AnisotropyLevel anisotropyLevel()
const = 0;
37 enum TextureCoordinatesTransformFlag {
39 MirrorHorizontally = 0x01,
40 MirrorVertically = 0x02
42 Q_DECLARE_FLAGS(TextureCoordinatesTransformMode, TextureCoordinatesTransformFlag)
44 virtual void setTextureCoordinatesTransform(TextureCoordinatesTransformMode mode) = 0;
45 virtual TextureCoordinatesTransformMode textureCoordinatesTransform()
const = 0;
47 virtual void setOwnsTexture(
bool owns) = 0;
48 virtual bool ownsTexture()
const = 0;
50 static void rebuildGeometry(QSGGeometry *g,
54 TextureCoordinatesTransformMode texCoordMode);