22 Q_DECLARE_PRIVATE(QSGTexture)
26 ~QSGTexture() override;
40 enum AnisotropyLevel {
48 virtual qint64 comparisonKey()
const = 0;
49 virtual QRhiTexture *rhiTexture()
const;
50 virtual QSize textureSize()
const = 0;
51 virtual bool hasAlphaChannel()
const = 0;
52 virtual bool hasMipmaps()
const = 0;
54 virtual QRectF normalizedTextureSubRect()
const;
56 virtual bool isAtlasTexture()
const;
58 virtual QSGTexture *removedFromAtlas(QRhiResourceUpdateBatch *resourceUpdates =
nullptr)
const;
60 virtual void commitTextureOperations(QRhi *rhi, QRhiResourceUpdateBatch *resourceUpdates);
62 void setMipmapFiltering(Filtering filter);
63 QSGTexture::Filtering mipmapFiltering()
const;
65 void setFiltering(Filtering filter);
66 QSGTexture::Filtering filtering()
const;
68 void setAnisotropyLevel(AnisotropyLevel level);
69 QSGTexture::AnisotropyLevel anisotropyLevel()
const;
71 void setHorizontalWrapMode(WrapMode hwrap);
72 QSGTexture::WrapMode horizontalWrapMode()
const;
74 void setVerticalWrapMode(WrapMode vwrap);
75 QSGTexture::WrapMode verticalWrapMode()
const;
77 inline QRectF convertToNormalizedSourceRect(
const QRectF &rect)
const;
79 QT_DECLARE_NATIVE_INTERFACE_ACCESSOR(QSGTexture)
82 QSGTexture(QSGTexturePrivate &dd);
85QRectF QSGTexture::convertToNormalizedSourceRect(
const QRectF &rect)
const
87 QSize s = textureSize();
88 QRectF r = normalizedTextureSubRect();
90 qreal sx = r.width() / s.width();
91 qreal sy = r.height() / s.height();
93 return QRectF(r.x() + rect.x() * sx,
94 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