Merge pull request #110814 from Jordyfel/2d-editor-get

Cache editor setting queried in hot path in 2D editor
This commit is contained in:
Thaddeus Crews 2025-09-24 09:59:16 -05:00
commit 1ce3101fbc
No known key found for this signature in database
GPG key ID: 8C6E5FEB5FC03CCC
2 changed files with 4 additions and 2 deletions

View file

@ -2754,7 +2754,7 @@ void CanvasItemEditor::_gui_input_viewport(const Ref<InputEvent> &p_event) {
Ref<InputEventMouseButton> mb = p_event; Ref<InputEventMouseButton> mb = p_event;
bool release_lmb = (mb.is_valid() && !mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT); // Required to properly release some stuff (e.g. selection box) while panning. bool release_lmb = (mb.is_valid() && !mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT); // Required to properly release some stuff (e.g. selection box) while panning.
if (EDITOR_GET("editors/panning/simple_panning") || !pan_pressed || release_lmb) { if (simple_panning || !pan_pressed || release_lmb) {
accepted = true; accepted = true;
if (_gui_input_rulers_and_guides(p_event)) { if (_gui_input_rulers_and_guides(p_event)) {
// print_line("Rulers and guides"); // print_line("Rulers and guides");
@ -4143,7 +4143,8 @@ void CanvasItemEditor::_update_editor_settings() {
context_toolbar_panel->add_theme_style_override(SceneStringName(panel), get_theme_stylebox(SNAME("ContextualToolbar"), EditorStringName(EditorStyles))); context_toolbar_panel->add_theme_style_override(SceneStringName(panel), get_theme_stylebox(SNAME("ContextualToolbar"), EditorStringName(EditorStyles)));
panner->setup((ViewPanner::ControlScheme)EDITOR_GET("editors/panning/2d_editor_panning_scheme").operator int(), ED_GET_SHORTCUT("canvas_item_editor/pan_view"), bool(EDITOR_GET("editors/panning/simple_panning"))); simple_panning = EDITOR_GET("editors/panning/simple_panning");
panner->setup((ViewPanner::ControlScheme)EDITOR_GET("editors/panning/2d_editor_panning_scheme").operator int(), ED_GET_SHORTCUT("canvas_item_editor/pan_view"), simple_panning);
panner->set_scroll_speed(EDITOR_GET("editors/panning/2d_editor_pan_speed")); panner->set_scroll_speed(EDITOR_GET("editors/panning/2d_editor_pan_speed"));
panner->setup_warped_panning(get_viewport(), EDITOR_GET("editors/panning/warped_mouse_panning")); panner->setup_warped_panning(get_viewport(), EDITOR_GET("editors/panning/warped_mouse_panning"));
panner->set_zoom_style((ViewPanner::ZoomStyle)EDITOR_GET("editors/panning/zoom_style").operator int()); panner->set_zoom_style((ViewPanner::ZoomStyle)EDITOR_GET("editors/panning/zoom_style").operator int());

View file

@ -260,6 +260,7 @@ private:
int ruler_font_size = 8; int ruler_font_size = 8;
Point2 node_create_position; Point2 node_create_position;
real_t grab_distance = 0.0; real_t grab_distance = 0.0;
bool simple_panning = false;
MenuOption last_option; MenuOption last_option;