Skip to content

Commit

Permalink
Add GIF export binding wrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
sam committed May 29, 2018
1 parent c583c02 commit b3387cb
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 2 deletions.
3 changes: 1 addition & 2 deletions geometrize/script/bindings/bindingscreator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
#include "geometrize/shaperesult.h"

#include "dialog/launchwindow.h"
#include "exporter/gifexporter.h"
#include "exporter/imageexporter.h"
#include "image/imageloader.h"
#include "script/bindings/bindingshelpers.h"
Expand Down Expand Up @@ -219,7 +218,7 @@ std::shared_ptr<chaiscript::Module> createImageExportBindings()

std::shared_ptr<chaiscript::Module> createAnimatedGifExportBindings()
{
using namespace geometrize::exporter;
using namespace geometrize::script::bindings;

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

Expand Down
14 changes: 14 additions & 0 deletions geometrize/script/bindings/bindingswrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include "common/formatsupport.h"
#include "common/searchpaths.h"
#include "common/util.h"
#include "exporter/gifexporter.h"
#include "localization/localization.h"
#include "task/taskutil.h"

Expand Down Expand Up @@ -194,6 +195,19 @@ void setTranslatorsForLocale(const std::string& locale)
geometrize::setTranslatorsForLocale(QString::fromStdString(locale));
}

bool exportGIF(const std::vector<geometrize::ShapeResult>& data,
const std::uint32_t inputWidth,
const std::uint32_t inputHeight,
const std::uint32_t outputWidth,
const std::uint32_t outputHeight,
const std::size_t frameSkip,
const std::string& filePath)
{
return geometrize::exporter::exportGIF(data, inputWidth, inputHeight, outputWidth, outputHeight, [frameSkip](std::size_t frameIndex) {
return frameSkip == 0U ? false : (frameIndex % frameSkip == 0);
}, filePath);
}

}

}
Expand Down
10 changes: 10 additions & 0 deletions geometrize/script/bindings/bindingswrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

#include <QImage>

#include "geometrize/shaperesult.h"

namespace geometrize
{

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

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

bool exportGIF(const std::vector<geometrize::ShapeResult>& data,
std::uint32_t inputWidth,
std::uint32_t inputHeight,
std::uint32_t outputWidth,
std::uint32_t outputHeight,
std::size_t frameSkip,
const std::string& filePath);

}

}
Expand Down
1 change: 1 addition & 0 deletions geometrize/script/chaiscriptcreator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ std::unique_ptr<chaiscript::ChaiScript> createImageTaskEngine()
chai->add(bindings::createImageBindings());
chai->add(bindings::createImageTaskBindings());
chai->add(bindings::createImageExportBindings());
chai->add(bindings::createAnimatedGifExportBindings());

addPrintRedirect(chai);

Expand Down

0 comments on commit b3387cb

Please sign in to comment.