mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-17 13:20:45 +00:00
script: add Sprite.select/selectAll functions
This commit is contained in:
parent
5665ac848d
commit
207bc6c98b
@ -11,6 +11,7 @@
|
||||
|
||||
#include "app/script/sprite_class.h"
|
||||
|
||||
#include "app/cmd/set_mask.h"
|
||||
#include "app/cmd/set_sprite_size.h"
|
||||
#include "app/commands/commands.h"
|
||||
#include "app/commands/params.h"
|
||||
@ -22,6 +23,7 @@
|
||||
#include "app/transaction.h"
|
||||
#include "app/ui/document_view.h"
|
||||
#include "app/ui_context.h"
|
||||
#include "doc/mask.h"
|
||||
#include "doc/palette.h"
|
||||
#include "doc/site.h"
|
||||
#include "doc/sprite.h"
|
||||
@ -50,6 +52,45 @@ script::result_t Sprite_ctor(script::ContextHandle handle)
|
||||
return 0;
|
||||
}
|
||||
|
||||
script::result_t Sprite_select(script::ContextHandle handle)
|
||||
{
|
||||
script::Context ctx(handle);
|
||||
int x = ctx.requireInt(0);
|
||||
int y = ctx.requireInt(1);
|
||||
int w = ctx.requireInt(2);
|
||||
int h = ctx.requireInt(3);
|
||||
|
||||
auto wrap = (SpriteWrap*)ctx.getThis();
|
||||
if (wrap) {
|
||||
Document* doc = wrap->document();
|
||||
|
||||
Mask newMask;
|
||||
if (w > 0 && h > 0)
|
||||
newMask.replace(gfx::Rect(x, y, w, h));
|
||||
|
||||
wrap->transaction().execute(new cmd::SetMask(doc, &newMask));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
script::result_t Sprite_selectAll(script::ContextHandle handle)
|
||||
{
|
||||
script::Context ctx(handle);
|
||||
|
||||
auto wrap = (SpriteWrap*)ctx.getThis();
|
||||
if (wrap) {
|
||||
Document* doc = wrap->document();
|
||||
|
||||
Mask newMask;
|
||||
newMask.replace(doc->sprite()->bounds());
|
||||
|
||||
wrap->transaction().execute(new cmd::SetMask(doc, &newMask));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
script::result_t Sprite_resize(script::ContextHandle handle)
|
||||
{
|
||||
script::Context ctx(handle);
|
||||
@ -208,6 +249,8 @@ script::result_t Sprite_set_height(script::ContextHandle handle)
|
||||
}
|
||||
|
||||
const script::FunctionEntry Sprite_methods[] = {
|
||||
{ "select", Sprite_select, 4 },
|
||||
{ "selectAll", Sprite_selectAll, 0 },
|
||||
{ "resize", Sprite_resize, 2 },
|
||||
{ "crop", Sprite_crop, 4 },
|
||||
{ "save", Sprite_save, 2 },
|
||||
|
Loading…
x
Reference in New Issue
Block a user