diff options
Diffstat (limited to 'editor/plugins/sprite_frames_editor_plugin.h')
-rw-r--r-- | editor/plugins/sprite_frames_editor_plugin.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/editor/plugins/sprite_frames_editor_plugin.h b/editor/plugins/sprite_frames_editor_plugin.h index f14c2203df..730dddade1 100644 --- a/editor/plugins/sprite_frames_editor_plugin.h +++ b/editor/plugins/sprite_frames_editor_plugin.h @@ -49,12 +49,15 @@ class OptionButton; class EditorFileDialog; -class EditorSpriteFramesFrame : public Resource { - GDCLASS(EditorSpriteFramesFrame, Resource); +class ClipboardSpriteFrames : public Resource { + GDCLASS(ClipboardSpriteFrames, Resource); public: - Ref<Texture2D> texture; - float duration; + struct Frame { + Ref<Texture2D> texture; + float duration; + }; + Vector<Frame> frames; }; class SpriteFramesEditor : public HSplitContainer { @@ -115,7 +118,7 @@ class SpriteFramesEditor : public HSplitContainer { SpinBox *frame_duration = nullptr; ItemList *frame_list = nullptr; bool loading_scene; - int sel; + Vector<int> selection; Button *add_anim = nullptr; Button *delete_anim = nullptr; @@ -182,6 +185,9 @@ class SpriteFramesEditor : public HSplitContainer { void _file_load_request(const Vector<String> &p_path, int p_at_pos = -1); void _copy_pressed(); void _paste_pressed(); + void _paste_frame_array(const Ref<ClipboardSpriteFrames> &p_clipboard_frames); + void _paste_texture(const Ref<Texture2D> &p_texture); + void _empty_pressed(); void _empty2_pressed(); void _delete_pressed(); @@ -209,7 +215,7 @@ class SpriteFramesEditor : public HSplitContainer { void _animation_speed_changed(double p_value); void _frame_list_gui_input(const Ref<InputEvent> &p_event); - void _frame_list_item_selected(int p_index); + void _frame_list_item_selected(int p_index, bool p_selected); void _zoom_in(); void _zoom_out(); |