You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-08 12:40:44 +00:00
Implement zooming using Ctrl + Mouse wheel in the TileMap editor
This was previously implemented in the GridMap editor. This makes the same feature available in the TileMap editor.
This commit is contained in:
@@ -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) {
|
|||||||
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 {
|
|||||||
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);
|
||||||
|
|||||||
Reference in New Issue
Block a user