summaryrefslogtreecommitdiffstats
path: root/editor/plugins/sprite_frames_editor_plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'editor/plugins/sprite_frames_editor_plugin.h')
-rw-r--r--editor/plugins/sprite_frames_editor_plugin.h18
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();