File indexing completed on 2024-05-12 16:01:25

0001 /*
0002  *  SPDX-FileCopyrightText: 2015 Jouni Pentikäinen <joupent@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef KIS_ANIMATION_IMPORTER_H
0008 #define KIS_ANIMATION_IMPORTER_H
0009 
0010 #include "kis_types.h"
0011 #include "kritaui_export.h"
0012 #include <KisImportExportFilter.h>
0013 #include <KisImportExportErrorCode.h>
0014 #include <QPair>
0015 
0016 class KisDocument;
0017 class KisMainWindow;
0018 
0019 class KRITAUI_EXPORT KisAnimationImporter : public QObject
0020 {
0021     Q_OBJECT    
0022 
0023 public:
0024     KisAnimationImporter(KisImageSP image, KoUpdaterPtr updater = 0);
0025     KisAnimationImporter(KisDocument* document);
0026     ~KisAnimationImporter() override;
0027 
0028     KisImportExportErrorCode import(QStringList files
0029                                     , int firstFrame
0030                                     , int step
0031                                     , bool autoAddHoldframes = false
0032                                     , bool startfrom0 = false
0033                                     , int isAscending = 0
0034                                     , bool assignDocumentProfile = false
0035                                     , QList<int> optionalKeyframeTimeList = {});
0036 
0037 private:
0038     QPair<KisPaintLayerSP, class KisRasterKeyframeChannel*> initializePaintLayer(QScopedPointer<KisDocument>& doc, class KisUndoAdapter* undoAdapter);
0039 
0040 private Q_SLOTS:
0041     void cancel();
0042 
0043 private:
0044     struct Private;
0045     QScopedPointer<Private> m_d;
0046 };
0047 
0048 #endif