File indexing completed on 2025-01-05 04:01:11
0001 /* 0002 * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 #pragma once 0007 0008 #include "io/base.hpp" 0009 #include "io/io_registry.hpp" 0010 0011 namespace glaxnimate::io::aep { 0012 0013 struct RiffChunk; 0014 0015 class AepFormat : public ImportExport 0016 { 0017 Q_OBJECT 0018 0019 public: 0020 QString slug() const override { return "aep"; } 0021 QString name() const override { return i18n("Adobe After Effects Project"); } 0022 QStringList extensions() const override { return {"aep"}; } 0023 bool can_save() const override { return false; } 0024 bool can_open() const override { return true; } 0025 0026 protected: 0027 bool on_open(QIODevice& file, const QString&, model::Document* document, const QVariantMap& options) override; 0028 0029 bool riff_to_document(const RiffChunk& chunk, model::Document* document, const QString& filename); 0030 0031 private: 0032 static Autoreg<AepFormat> autoreg; 0033 }; 0034 0035 0036 class AepxFormat : public AepFormat 0037 { 0038 Q_OBJECT 0039 0040 public: 0041 QString slug() const override { return "aepx"; } 0042 QString name() const override { return i18n("Adobe After Effects Project XML"); } 0043 QStringList extensions() const override { return {"aepx"}; } 0044 bool can_save() const override { return false; } 0045 bool can_open() const override { return true; } 0046 0047 protected: 0048 bool on_open(QIODevice& file, const QString&, model::Document* document, const QVariantMap& options) override; 0049 0050 private: 0051 static Autoreg<AepxFormat> autoreg; 0052 }; 0053 0054 } // namespace glaxnimate::io::aep 0055 0056 0057