PFM: Portable FloatMap read only support

Simple HDR format supported by GIMP (read/write) and Photoshop (read/write).
This commit is contained in:
Mirco Miranda
2024-06-13 22:20:40 +00:00
committed by Albert Astals Cid
parent 950ed43623
commit 06f097046c
12 changed files with 371 additions and 0 deletions

37
src/imageformats/pfm_p.h Normal file
View File

@ -0,0 +1,37 @@
/*
This file is part of the KDE project
SPDX-FileCopyrightText: 2024 Mirco Miranda <mircomir@outlook.com>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#ifndef KIMG_PFM_P_H
#define KIMG_PFM_P_H
#include <QImageIOPlugin>
class PFMHandler : public QImageIOHandler
{
public:
PFMHandler();
bool canRead() const override;
bool read(QImage *image) override;
bool supportsOption(QImageIOHandler::ImageOption option) const override;
QVariant option(QImageIOHandler::ImageOption option) const override;
static bool canRead(QIODevice *device);
};
class PFMPlugin : public QImageIOPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "pfm.json")
public:
Capabilities capabilities(QIODevice *device, const QByteArray &format) const override;
QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override;
};
#endif // KIMG_PFM_P_H