50 qCDebug(lcQtGuiTextureIO,
"Invalid PKM file %s",
logName().constData());
53 texData.setData(fileData);
55 const char *rawData = fileData.
constData();
60 quint16 type = qFromBigEndian<quint16>(rawData + 6);
62 qCDebug(lcQtGuiTextureIO,
"Unknown compression format in PKM file %s",
logName().constData());
65 texData.setGLFormat(0);
66 texData.setGLInternalFormat(
typeMap[
type].glFormat);
70 texData.setNumLevels(1);
71 texData.setNumFaces(1);
73 QSize paddedSize(qFromBigEndian<quint16>(rawData + 8), qFromBigEndian<quint16>(rawData + 10));
74 texData.setDataLength((paddedSize.width() / 4) * (paddedSize.height() / 4) * bpb);
75 QSize texSize(qFromBigEndian<quint16>(rawData + 12), qFromBigEndian<quint16>(rawData + 14));
76 texData.setSize(texSize);
80 if (!texData.isValid()) {
81 qCDebug(lcQtGuiTextureIO,
"Invalid values in header of PKM file %s",
logName().constData());
88 qDebug() <<
"PKM file handler read" << texData;
qsizetype size() const noexcept
Returns the number of bytes in this byte array.
const char * constData() const noexcept
Returns a pointer to the const data stored in the byte array.
bool startsWith(QByteArrayView bv) const
QByteArray readAll()
Reads all remaining data from the device, and returns it as a byte array.
static bool canRead(const QByteArray &suffix, const QByteArray &block)
QTextureFileData read() override
QIODevice * device() const
QByteArray logName() const
Combined button and popup list for selecting options.
typedef QByteArray(EGLAPIENTRYP PFNQGSGETDISPLAYSPROC)()
#define qCDebug(category,...)
static constexpr PkmType typeMap[5]
static QT_BEGIN_NAMESPACE const int qpkmh_headerSize