Skip to content

Commit b3387cb

Browse files
author
sam
committed
Add GIF export binding wrapper
1 parent c583c02 commit b3387cb

File tree

4 files changed

+26
-2
lines changed

4 files changed

+26
-2
lines changed

geometrize/script/bindings/bindingscreator.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
#include "geometrize/shaperesult.h"
3737

3838
#include "dialog/launchwindow.h"
39-
#include "exporter/gifexporter.h"
4039
#include "exporter/imageexporter.h"
4140
#include "image/imageloader.h"
4241
#include "script/bindings/bindingshelpers.h"
@@ -219,7 +218,7 @@ std::shared_ptr<chaiscript::Module> createImageExportBindings()
219218

220219
std::shared_ptr<chaiscript::Module> createAnimatedGifExportBindings()
221220
{
222-
using namespace geometrize::exporter;
221+
using namespace geometrize::script::bindings;
223222

224223
auto module{std::make_shared<chaiscript::Module>()};
225224

geometrize/script/bindings/bindingswrapper.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include "common/formatsupport.h"
88
#include "common/searchpaths.h"
99
#include "common/util.h"
10+
#include "exporter/gifexporter.h"
1011
#include "localization/localization.h"
1112
#include "task/taskutil.h"
1213

@@ -194,6 +195,19 @@ void setTranslatorsForLocale(const std::string& locale)
194195
geometrize::setTranslatorsForLocale(QString::fromStdString(locale));
195196
}
196197

198+
bool exportGIF(const std::vector<geometrize::ShapeResult>& data,
199+
const std::uint32_t inputWidth,
200+
const std::uint32_t inputHeight,
201+
const std::uint32_t outputWidth,
202+
const std::uint32_t outputHeight,
203+
const std::size_t frameSkip,
204+
const std::string& filePath)
205+
{
206+
return geometrize::exporter::exportGIF(data, inputWidth, inputHeight, outputWidth, outputHeight, [frameSkip](std::size_t frameIndex) {
207+
return frameSkip == 0U ? false : (frameIndex % frameSkip == 0);
208+
}, filePath);
209+
}
210+
197211
}
198212

199213
}

geometrize/script/bindings/bindingswrapper.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
#include <QImage>
77

8+
#include "geometrize/shaperesult.h"
9+
810
namespace geometrize
911
{
1012

@@ -78,6 +80,14 @@ std::vector<std::string> split(const std::string& s, const char delimiter);
7880

7981
void setTranslatorsForLocale(const std::string& locale);
8082

83+
bool exportGIF(const std::vector<geometrize::ShapeResult>& data,
84+
std::uint32_t inputWidth,
85+
std::uint32_t inputHeight,
86+
std::uint32_t outputWidth,
87+
std::uint32_t outputHeight,
88+
std::size_t frameSkip,
89+
const std::string& filePath);
90+
8191
}
8292

8393
}

geometrize/script/chaiscriptcreator.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ std::unique_ptr<chaiscript::ChaiScript> createImageTaskEngine()
6565
chai->add(bindings::createImageBindings());
6666
chai->add(bindings::createImageTaskBindings());
6767
chai->add(bindings::createImageExportBindings());
68+
chai->add(bindings::createAnimatedGifExportBindings());
6869

6970
addPrintRedirect(chai);
7071

0 commit comments

Comments
 (0)