diff options
Diffstat (limited to 'src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h')
-rw-r--r-- | src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h b/src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h index c3b58a2389..b858d8ddee 100644 --- a/src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h +++ b/src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h @@ -52,25 +52,28 @@ // #include <private/qtexturefiledata_p.h> -#include <QSGTexture> -#include <QtQuick/private/qsgcontext_p.h> +#include <private/qsgcontext_p.h> +#include <private/qsgtexture_p.h> #include <QQuickTextureFactory> #include <QOpenGLFunctions> QT_BEGIN_NAMESPACE +class QSGCompressedTexturePrivate; + class Q_QUICK_PRIVATE_EXPORT QSGCompressedTexture : public QSGTexture { + Q_DECLARE_PRIVATE(QSGCompressedTexture) Q_OBJECT public: QSGCompressedTexture(const QTextureFileData& texData); virtual ~QSGCompressedTexture(); - int textureId() const override; QSize textureSize() const override; bool hasAlphaChannel() const override; bool hasMipmaps() const override; + int textureId() const override; void bind() override; QTextureFileData textureData() const; @@ -81,14 +84,24 @@ protected: QTextureFileData m_textureData; QSize m_size; mutable uint m_textureId = 0; + QRhiTexture *m_texture = nullptr; bool m_hasAlpha = false; bool m_uploaded = false; }; -namespace QSGAtlasTexture { +namespace QSGOpenGLAtlasTexture { class Manager; } +class QSGCompressedTexturePrivate : public QSGTexturePrivate +{ + Q_DECLARE_PUBLIC(QSGCompressedTexture) +public: + int comparisonKey() const override; + QRhiTexture *rhiTexture() const override; + void updateRhiTexture(QRhi *rhi, QRhiResourceUpdateBatch *resourceUpdates) override; +}; + class Q_QUICK_PRIVATE_EXPORT QSGCompressedTextureFactory : public QQuickTextureFactory { public: @@ -101,7 +114,7 @@ protected: QTextureFileData m_textureData; private: - friend class QSGAtlasTexture::Manager; + friend class QSGOpenGLAtlasTexture::Manager; }; QT_END_NAMESPACE |