Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qtexturefiledata_p.h
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QTEXTUREFILEDATA_P_H
6#define QTEXTUREFILEDATA_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtGui/qtguiglobal.h>
20#include <QSharedDataPointer>
21#include <QLoggingCategory>
22#include <private/qglobal_p.h>
23
24QT_BEGIN_NAMESPACE
25
26class QDebug;
27
28Q_DECLARE_LOGGING_CATEGORY(lcQtGuiTextureIO)
29
31
32class Q_GUI_EXPORT QTextureFileData
33{
34public:
35 enum Mode { ByteArrayMode, ImageMode };
36
37 QTextureFileData(Mode mode = ByteArrayMode);
38 QTextureFileData(const QTextureFileData &other);
39 QTextureFileData &operator=(const QTextureFileData &other);
40 ~QTextureFileData();
41
42 bool isNull() const;
43 bool isValid() const;
44
45 void clear();
46
47 QByteArray data() const;
48 void setData(const QByteArray &data);
49 void setData(const QImage &image, int level = 0, int face = 0);
50
51 int dataOffset(int level = 0, int face = 0) const;
52 void setDataOffset(int offset, int level = 0, int face = 0);
53
54 int dataLength(int level = 0, int face = 0) const;
55 void setDataLength(int length, int level = 0, int face = 0);
56
57 QByteArrayView getDataView(int level = 0, int face = 0) const;
58
59 int numLevels() const;
60 void setNumLevels(int num);
61
62 int numFaces() const;
63 void setNumFaces(int num);
64
65 QSize size() const;
66 void setSize(const QSize &size);
67
68 quint32 glFormat() const;
69 void setGLFormat(quint32 format);
70
71 quint32 glInternalFormat() const;
72 void setGLInternalFormat(quint32 format);
73
74 quint32 glBaseInternalFormat() const;
75 void setGLBaseInternalFormat(quint32 format);
76
77 QByteArray logName() const;
78 void setLogName(const QByteArray &name);
79
80 QMap<QByteArray, QByteArray> keyValueMetadata() const;
81 void setKeyValueMetadata(const QMap<QByteArray, QByteArray> &keyValues);
82
83private:
84 QSharedDataPointer<QTextureFileDataPrivate> d;
85 friend Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QTextureFileData &d);
86};
87
88Q_DECLARE_TYPEINFO(QTextureFileData, Q_RELOCATABLE_TYPE);
89
90Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QTextureFileData &d);
91
92QT_END_NAMESPACE
93
94#endif // QABSTRACTLAYOUTSTYLEINFO_P_H
static bool canRead(const QByteArray &suffix, const QByteArray &block)
QTextureFileData read() override
~QAstcHandler() override
QIODevice * device() const
virtual ~QTextureFileHandler()
QByteArray logName() const
virtual QTextureFileData read()=0
Q_DECLARE_TYPEINFO(QByteArrayView, Q_PRIMITIVE_TYPE)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition qdir.cpp:2568
quint8 ySize[3]
quint8 blockDimZ
quint8 magic[4]
quint8 xSize[3]
quint8 zSize[3]
quint8 blockDimX
quint8 blockDimY