1 /* ============================================================ 2 * 3 * This file is a part of digiKam project 4 * https://www.digikam.org 5 * 6 * Date : 2019-09-26 7 * Description : HEIF DImg plugin. 8 * 9 * Copyright (C) 2019-2021 by Gilles Caulier <caulier dot gilles at gmail dot com> 10 * 11 * This program is free software; you can redistribute it 12 * and/or modify it under the terms of the GNU General 13 * Public License as published by the Free Software Foundation; 14 * either version 2, or (at your option) any later version. 15 * 16 * This program is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * ============================================================ */ 22 23 #ifndef DIGIKAM_DIMG_HEIF_PLUGIN_H 24 #define DIGIKAM_DIMG_HEIF_PLUGIN_H 25 26 // Qt includes 27 28 #include <QByteArray> 29 30 // Local includes 31 32 #include "dplugindimg.h" 33 #include "dimg.h" 34 #include "dimgloader.h" 35 36 #define DPLUGIN_IID "org.kde.digikam.plugin.dimg.HEIF" 37 38 using namespace Digikam; 39 40 namespace DigikamHEIFDImgPlugin 41 { 42 43 class DImgHEIFPlugin : public DPluginDImg 44 { 45 Q_OBJECT 46 Q_PLUGIN_METADATA(IID DPLUGIN_IID) 47 Q_INTERFACES(Digikam::DPluginDImg) 48 49 public: 50 51 explicit DImgHEIFPlugin(QObject* const parent = nullptr); 52 ~DImgHEIFPlugin() override; 53 54 QString name() const override; 55 QString iid() const override; 56 QIcon icon() const override; 57 QString details() const override; 58 QString description() const override; 59 QList<DPluginAuthor> authors() const override; 60 61 void setup(QObject* const) override; 62 QMap<QString, QString> extraAboutData() const override; 63 64 bool previewSupported() const override; 65 66 QString loaderName() const override; 67 QString typeMimes() const override; 68 int canRead(const QFileInfo& fileInfo, bool magic) const override; 69 int canWrite(const QString& format) const override; 70 DImgLoader* loader(DImg* const image, const DRawDecoding& rawSettings = DRawDecoding()) const override; 71 }; 72 73 } // namespace DigikamHEIFDImgPlugin 74 75 #endif // DIGIKAM_DIMG_HEIF_PLUGIN_H 76