23 Q_DECLARE_PRIVATE(QSGTexture)
27 ~QSGTexture() override;
41 enum AnisotropyLevel {
49 virtual qint64 comparisonKey()
const = 0;
50 virtual QRhiTexture *rhiTexture()
const;
51 virtual QSize textureSize()
const = 0;
52 virtual bool hasAlphaChannel()
const = 0;
53 virtual bool hasMipmaps()
const = 0;
55 virtual QRectF normalizedTextureSubRect()
const;
57 virtual bool isAtlasTexture()
const;
59 virtual QSGTexture *removedFromAtlas(QRhiResourceUpdateBatch *resourceUpdates =
nullptr)
const;
61 virtual void commitTextureOperations(QRhi *rhi, QRhiResourceUpdateBatch *resourceUpdates);
63 void setMipmapFiltering(Filtering filter);
64 QSGTexture::Filtering mipmapFiltering()
const;
66 void setFiltering(Filtering filter);
67 QSGTexture::Filtering filtering()
const;
69 void setAnisotropyLevel(AnisotropyLevel level);
70 QSGTexture::AnisotropyLevel anisotropyLevel()
const;
72 void setHorizontalWrapMode(WrapMode hwrap);
73 QSGTexture::WrapMode horizontalWrapMode()
const;
75 void setVerticalWrapMode(WrapMode vwrap);
76 QSGTexture::WrapMode verticalWrapMode()
const;
78 inline QRectF convertToNormalizedSourceRect(
const QRectF &rect)
const;
80 QT_DECLARE_NATIVE_INTERFACE_ACCESSOR(QSGTexture)
83 QSGTexture(QSGTexturePrivate &dd);
86QRectF QSGTexture::convertToNormalizedSourceRect(
const QRectF &rect)
const
88 QSize s = textureSize();
89 QRectF r = normalizedTextureSubRect();
91 qreal sx = r.width() / s.width();
92 qreal sy = r.height() / s.height();
94 return QRectF(r.x() + rect.x() * sx,
95 r.y() + rect.y() * sy,
The QSGDynamicTexture class serves as a baseclass for dynamically changing textures,...
static void qt_debug_print_texture_count()
static void qt_debug_remove_texture(QSGTexture *texture)
static void qt_debug_add_texture(QSGTexture *texture)
size_t qHash(const QSGSamplerDescription &s, size_t seed=0) noexcept
Q_DECLARE_TYPEINFO(QSGSamplerDescription, Q_RELOCATABLE_TYPE)
bool operator!=(const QSGSamplerDescription &a, const QSGSamplerDescription &b) noexcept
Q_QUICK_EXPORT bool qsg_safeguard_texture(QSGTexture *)
bool operator==(const QSGSamplerDescription &a, const QSGSamplerDescription &b) noexcept