[aseprite] 158/196: Add Sprite.saveAs() method in scripting API

Tobias Hansen thansen at moszumanska.debian.org
Wed Apr 20 18:50:15 UTC 2016


This is an automated email from the git hooks/post-receive script.

thansen pushed a commit to branch master
in repository aseprite.

commit 52dd13c9a04c47b7ae1bd30548d31f801bc14e9b
Author: David Capello <davidcapello at gmail.com>
Date:   Wed Apr 6 19:28:49 2016 -0300

    Add Sprite.saveAs() method in scripting API
---
 src/app/script/sprite_class.cpp | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/src/app/script/sprite_class.cpp b/src/app/script/sprite_class.cpp
index 786aa13..85be120 100644
--- a/src/app/script/sprite_class.cpp
+++ b/src/app/script/sprite_class.cpp
@@ -12,6 +12,8 @@
 #include "app/script/sprite_class.h"
 
 #include "app/cmd/set_sprite_size.h"
+#include "app/commands/commands.h"
+#include "app/commands/params.h"
 #include "app/document.h"
 #include "app/document_api.h"
 #include "app/script/app_scripting.h"
@@ -80,6 +82,28 @@ script::result_t Sprite_crop(script::ContextHandle handle)
   return 0;
 }
 
+script::result_t Sprite_saveAs(script::ContextHandle handle)
+{
+  script::Context ctx(handle);
+  const char* fn = ctx.requireString(0);
+
+  auto wrap = (SpriteWrap*)ctx.getThis();
+  if (fn && wrap) {
+    Document* doc = wrap->document();
+
+    auto uiCtx = UIContext::instance();
+    uiCtx->setActiveDocument(doc);
+
+    Command* saveAsCommand = CommandsModule::instance()->getCommandByName(CommandId::SaveFileCopyAs);
+
+    Params params;
+    params.set("filename", fn);
+    uiCtx->executeCommand(saveAsCommand, params);
+  }
+
+  return 0;
+}
+
 script::result_t Sprite_get_width(script::ContextHandle handle)
 {
   script::Context ctx(handle);
@@ -127,6 +151,7 @@ script::result_t Sprite_set_height(script::ContextHandle handle)
 const script::FunctionEntry Sprite_methods[] = {
   { "resize", Sprite_resize, 2 },
   { "crop", Sprite_crop, 4 },
+  { "saveAs", Sprite_saveAs, 2 },
   { nullptr, nullptr, 0 }
 };
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git



More information about the Pkg-games-commits mailing list