summaryrefslogtreecommitdiffstats
path: root/editor/plugins/sprite_2d_editor_plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'editor/plugins/sprite_2d_editor_plugin.h')
-rw-r--r--editor/plugins/sprite_2d_editor_plugin.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/editor/plugins/sprite_2d_editor_plugin.h b/editor/plugins/sprite_2d_editor_plugin.h
index 52e4b2b264..1121481341 100644
--- a/editor/plugins/sprite_2d_editor_plugin.h
+++ b/editor/plugins/sprite_2d_editor_plugin.h
@@ -37,7 +37,10 @@
class AcceptDialog;
class ConfirmationDialog;
+class EditorZoomWidget;
class MenuButton;
+class Panel;
+class ViewPanner;
class Sprite2DEditor : public Control {
GDCLASS(Sprite2DEditor, Control);
@@ -60,7 +63,7 @@ class Sprite2DEditor : public Control {
AcceptDialog *err_dialog = nullptr;
ConfirmationDialog *debug_uv_dialog = nullptr;
- Control *debug_uv = nullptr;
+ Panel *debug_uv = nullptr;
Vector<Vector2> uv_lines;
Vector<Vector<Vector2>> outline_lines;
Vector<Vector<Vector2>> computed_outline_lines;
@@ -68,6 +71,13 @@ class Sprite2DEditor : public Control {
Vector<Vector2> computed_uv;
Vector<int> computed_indices;
+ HScrollBar *h_scroll = nullptr;
+ VScrollBar *v_scroll = nullptr;
+ EditorZoomWidget *zoom_widget = nullptr;
+ Ref<ViewPanner> panner;
+ Vector2 draw_offset;
+ real_t draw_zoom = 1.0;
+
SpinBox *simplification = nullptr;
SpinBox *grow_pixels = nullptr;
SpinBox *shrink_pixels = nullptr;
@@ -78,8 +88,13 @@ class Sprite2DEditor : public Control {
//void _create_uv_lines();
friend class Sprite2DEditorPlugin;
+ void _debug_uv_input(const Ref<InputEvent> &p_input);
void _debug_uv_draw();
void _popup_debug_uv_dialog();
+ void _center_view();
+ void _pan_callback(Vector2 p_scroll_vec, Ref<InputEvent> p_event);
+ void _zoom_callback(float p_zoom_factor, Vector2 p_origin, Ref<InputEvent> p_event);
+ void _update_zoom_and_pan(bool p_zoom_at_center);
void _update_mesh_data();
void _create_node();