Unverified Commit 8fc6766d by Rémi Verschelde Committed by GitHub

Merge pull request #39165 from Calinou/tilemap-editor-zoom-mouse-wheel

Implement zooming using Ctrl + Mouse wheel in the TileMap editor
parents 1a5d472b def2059d
...@@ -194,6 +194,21 @@ void TileMapEditor::_palette_multi_selected(int index, bool selected) { ...@@ -194,6 +194,21 @@ void TileMapEditor::_palette_multi_selected(int index, bool selected) {
_update_palette(); _update_palette();
} }
void TileMapEditor::_palette_input(const Ref<InputEvent> &p_event) {
const Ref<InputEventMouseButton> mb = p_event;
// Zoom in/out using Ctrl + mouse wheel.
if (mb.is_valid() && mb->is_pressed() && mb->get_command()) {
if (mb->is_pressed() && mb->get_button_index() == BUTTON_WHEEL_UP) {
size_slider->set_value(size_slider->get_value() + 0.2);
}
if (mb->is_pressed() && mb->get_button_index() == BUTTON_WHEEL_DOWN) {
size_slider->set_value(size_slider->get_value() - 0.2);
}
}
}
void TileMapEditor::_canvas_mouse_enter() { void TileMapEditor::_canvas_mouse_enter() {
mouse_over = true; mouse_over = true;
CanvasItemEditor::get_singleton()->update_viewport(); CanvasItemEditor::get_singleton()->update_viewport();
...@@ -1913,6 +1928,7 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) { ...@@ -1913,6 +1928,7 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) {
palette->add_theme_constant_override("vseparation", 8 * EDSCALE); palette->add_theme_constant_override("vseparation", 8 * EDSCALE);
palette->connect("item_selected", callable_mp(this, &TileMapEditor::_palette_selected)); palette->connect("item_selected", callable_mp(this, &TileMapEditor::_palette_selected));
palette->connect("multi_selected", callable_mp(this, &TileMapEditor::_palette_multi_selected)); palette->connect("multi_selected", callable_mp(this, &TileMapEditor::_palette_multi_selected));
palette->connect("gui_input", callable_mp(this, &TileMapEditor::_palette_input));
palette_container->add_child(palette); palette_container->add_child(palette);
// Add message for when no texture is selected. // Add message for when no texture is selected.
......
...@@ -182,6 +182,7 @@ class TileMapEditor : public VBoxContainer { ...@@ -182,6 +182,7 @@ class TileMapEditor : public VBoxContainer {
void _menu_option(int p_option); void _menu_option(int p_option);
void _palette_selected(int index); void _palette_selected(int index);
void _palette_multi_selected(int index, bool selected); void _palette_multi_selected(int index, bool selected);
void _palette_input(const Ref<InputEvent> &p_event);
Dictionary _create_cell_dictionary(int tile, bool flip_x, bool flip_y, bool transpose, Vector2 autotile_coord); Dictionary _create_cell_dictionary(int tile, bool flip_x, bool flip_y, bool transpose, Vector2 autotile_coord);
void _start_undo(const String &p_action); void _start_undo(const String &p_action);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment