diff options
author | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2018-07-03 12:41:34 +0200 |
---|---|---|
committer | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2018-08-09 07:44:38 +0000 |
commit | abba0b6e2c00df2df39ad16a20eba3870e68f252 (patch) | |
tree | 1bac2923c62b4975bb9a9224caf90a39f09e4456 /src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h | |
parent | 1c731335dcd90fd817180a623e489edcc31f5151 (diff) |
Compressed textures: Replace file decoding code with QtGui functionality
The functionality for reading and decoding texture files (currently
pkm and ktx formats) is now available in QtGui util API. Utilize that
instead of keeping equivalent code here.
Task-number: QTBUG-67026
Change-Id: Icb7c348eaa51cd15e41031508ef54164fc876c9e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h')
-rw-r--r-- | src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h | 31 |
1 files changed, 7 insertions, 24 deletions
diff --git a/src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h b/src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h index aa87316809..c3b58a2389 100644 --- a/src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h +++ b/src/quick/scenegraph/compressedtexture/qsgcompressedtexture_p.h @@ -51,6 +51,7 @@ // We mean it. // +#include <private/qtexturefiledata_p.h> #include <QSGTexture> #include <QtQuick/private/qsgcontext_p.h> #include <QQuickTextureFactory> @@ -58,30 +59,11 @@ QT_BEGIN_NAMESPACE -struct Q_QUICK_PRIVATE_EXPORT QSGCompressedTextureData -{ - QByteArray logName; - QByteArray data; - QSize size; - uint format = 0; - int dataOffset = 0; - int dataLength = 0; - bool hasAlpha = false; - - bool isValid() const; - int sizeInBytes() const; -}; - -Q_QUICK_PRIVATE_EXPORT QDebug operator<<(QDebug, const QSGCompressedTextureData *); - - class Q_QUICK_PRIVATE_EXPORT QSGCompressedTexture : public QSGTexture { Q_OBJECT public: - typedef QSharedPointer<QSGCompressedTextureData> DataPtr; - - QSGCompressedTexture(const DataPtr& texData); + QSGCompressedTexture(const QTextureFileData& texData); virtual ~QSGCompressedTexture(); int textureId() const override; @@ -91,12 +73,12 @@ public: void bind() override; - const QSGCompressedTextureData *textureData(); + QTextureFileData textureData() const; static bool formatIsOpaque(quint32 glTextureFormat); protected: - DataPtr m_textureData; + QTextureFileData m_textureData; QSize m_size; mutable uint m_textureId = 0; bool m_hasAlpha = false; @@ -110,13 +92,14 @@ namespace QSGAtlasTexture { class Q_QUICK_PRIVATE_EXPORT QSGCompressedTextureFactory : public QQuickTextureFactory { public: - QSGCompressedTextureFactory(const QSGCompressedTexture::DataPtr& texData); + QSGCompressedTextureFactory(const QTextureFileData& texData); QSGTexture *createTexture(QQuickWindow *) const override; int textureByteCount() const override; QSize textureSize() const override; protected: - QSGCompressedTexture::DataPtr m_textureData; + QTextureFileData m_textureData; + private: friend class QSGAtlasTexture::Manager; }; |