File indexing completed on 2024-06-09 04:27:33

0001 /*
0002  *  SPDX-FileCopyrightText: 2010 Cyrille Berger <cberger@cberger.net>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef _EXR_CONVERTER_H_
0008 #define _EXR_CONVERTER_H_
0009 
0010 #include <stdio.h>
0011 
0012 #include <QObject>
0013 
0014 #include "kis_types.h"
0015 #include <KisImportExportErrorCode.h>
0016 
0017 class KisDocument;
0018 
0019 class EXRConverter : public QObject
0020 {
0021     Q_OBJECT
0022 public:
0023     EXRConverter(KisDocument *doc, bool showNotifications);
0024     ~EXRConverter() override;
0025 public:
0026     KisImportExportErrorCode buildImage(const QString &filename);
0027     KisImportExportErrorCode buildFile(const QString &filename, KisPaintLayerSP layer);
0028     KisImportExportErrorCode buildFile(const QString &filename, KisGroupLayerSP layer, bool flatten=false);
0029     /**
0030      * Retrieve the constructed image
0031      */
0032     KisImageSP image();
0033     QString errorMessage() const;
0034 private:
0035     KisImportExportErrorCode decode(const QString &filename);
0036 
0037 public Q_SLOTS:
0038     virtual void cancel();
0039 private:
0040     struct Private;
0041     const QScopedPointer<Private> d;
0042 };
0043 
0044 #endif