diff options
Diffstat (limited to 'editor/plugins/sprite_2d_editor_plugin.h')
-rw-r--r-- | editor/plugins/sprite_2d_editor_plugin.h | 17 |
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(); |