All Classes Namespaces Functions Variables Enumerations Properties Pages
commandlineexporter.h
1 /*
2 
3 Pencil2D - Traditional Animation Software
4 Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5 Copyright (C) 2012-2020 Matthew Chiawen Chang
6 
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; version 2 of the License.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15 
16 */
17 
18 #ifndef COMMANDLINEEXPORTER_H
19 #define COMMANDLINEEXPORTER_H
20 
21 #include <QTextStream>
22 
23 class Editor;
24 class LayerCamera;
25 
30 {
31  Q_OBJECT
32 
33 public:
39  explicit CommandLineExporter(Editor *editor);
40 
55  bool process(const QString &inputPath,
56  const QStringList &outputPaths,
57  const QString &camera,
58  int width,
59  int height,
60  int startFrame,
61  int endFrame,
62  bool transparency);
63 
64 private:
65  Editor *mEditor;
66  QTextStream mOut;
67  QTextStream mErr;
68  void exportMovie(const QString &outputPath,
69  const LayerCamera *cameraLayer,
70  const QSize &exportSize,
71  int startFrame,
72  int endFrame,
73  bool transparency);
74  void exportImageSequence(const QString &outputPath,
75  const QString &format,
76  const LayerCamera *cameraLayer,
77  const QSize &exportSize,
78  int startFrame,
79  int endFrame,
80  bool transparency);
81 };
82 
83 #endif // COMMANDLINEEXPORTER_H
CommandLineExporter(Editor *editor)
Creates a new exporter instance.
Handles command line export jobs.
Q_OBJECTQ_OBJECT
bool process(const QString &inputPath, const QStringList &outputPaths, const QString &camera, int width, int height, int startFrame, int endFrame, bool transparency)
Exports a Pencil2D file according to the specified options.
Definition: editor.h:55