mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-16 10:20:50 +00:00
lua: Add Sprite:flatten()
This commit is contained in:
parent
17895dce69
commit
d24fc0a93a
@ -70,7 +70,9 @@ void UndoCommand::onExecute(Context* context)
|
||||
#ifdef ENABLE_UI
|
||||
Sprite* sprite = document->sprite();
|
||||
SpritePosition spritePosition;
|
||||
const bool gotoModified = Preferences::instance().undo.gotoModified();
|
||||
const bool gotoModified =
|
||||
(Preferences::instance().undo.gotoModified() &&
|
||||
context->isUIAvailable() && current_editor);
|
||||
if (gotoModified) {
|
||||
SpritePosition currentPosition(writer.site()->layer(),
|
||||
writer.site()->frame());
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "app/cmd/assign_color_profile.h"
|
||||
#include "app/cmd/clear_cel.h"
|
||||
#include "app/cmd/convert_color_profile.h"
|
||||
#include "app/cmd/flatten_layers.h"
|
||||
#include "app/cmd/remove_frame_tag.h"
|
||||
#include "app/cmd/remove_layer.h"
|
||||
#include "app/cmd/remove_slice.h"
|
||||
@ -27,6 +28,7 @@
|
||||
#include "app/doc.h"
|
||||
#include "app/doc_access.h"
|
||||
#include "app/doc_api.h"
|
||||
#include "app/doc_range.h"
|
||||
#include "app/file/palette_file.h"
|
||||
#include "app/script/docobj.h"
|
||||
#include "app/script/engine.h"
|
||||
@ -259,6 +261,20 @@ int Sprite_convertColorSpace(lua_State* L)
|
||||
return 1;
|
||||
}
|
||||
|
||||
int Sprite_flatten(lua_State* L)
|
||||
{
|
||||
auto sprite = get_docobj<Sprite>(L, 1);
|
||||
|
||||
DocRange range;
|
||||
for (auto layer : sprite->root()->layers())
|
||||
range.selectLayer(layer);
|
||||
|
||||
Tx tx;
|
||||
tx(new cmd::FlattenLayers(sprite, range.selectedLayers(), true));
|
||||
tx.commit();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Sprite_newLayer(lua_State* L)
|
||||
{
|
||||
auto sprite = get_docobj<Sprite>(L, 1);
|
||||
@ -678,6 +694,7 @@ const luaL_Reg Sprite_methods[] = {
|
||||
{ "setPalette", Sprite_setPalette },
|
||||
{ "assignColorSpace", Sprite_assignColorSpace },
|
||||
{ "convertColorSpace", Sprite_convertColorSpace },
|
||||
{ "flatten", Sprite_flatten },
|
||||
// Layers
|
||||
{ "newLayer", Sprite_newLayer },
|
||||
{ "newGroup", Sprite_newGroup },
|
||||
|
Loading…
x
Reference in New Issue
Block a user