From d0eebee44d9fa09de03d1b1d03d32e803e7e3391 Mon Sep 17 00:00:00 2001 From: ChillerDragon Date: Tue, 3 Sep 2024 09:54:11 +0800 Subject: [PATCH] Add quick actions for zooming the view --- src/game/editor/editor.cpp | 12 ++++++------ src/game/editor/quick_actions.h | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/game/editor/editor.cpp b/src/game/editor/editor.cpp index cd7825d95..c2d63801a 100644 --- a/src/game/editor/editor.cpp +++ b/src/game/editor/editor.cpp @@ -1121,23 +1121,23 @@ void CEditor::DoToolbarLayers(CUIRect ToolBar) // zoom group TB_Top.VSplitLeft(20.0f, &Button, &TB_Top); static int s_ZoomOutButton = 0; - if(DoButton_FontIcon(&s_ZoomOutButton, FONT_ICON_MINUS, 0, &Button, 0, "[NumPad-] Zoom out", IGraphics::CORNER_L)) + if(DoButton_FontIcon(&s_ZoomOutButton, FONT_ICON_MINUS, 0, &Button, 0, m_QuickActionZoomOut.Description(), IGraphics::CORNER_L)) { - MapView()->Zoom()->ChangeValue(50.0f); + m_QuickActionZoomOut.Call(); } TB_Top.VSplitLeft(25.0f, &Button, &TB_Top); static int s_ZoomNormalButton = 0; - if(DoButton_FontIcon(&s_ZoomNormalButton, FONT_ICON_MAGNIFYING_GLASS, 0, &Button, 0, "[NumPad*] Zoom to normal and remove editor offset", IGraphics::CORNER_NONE)) + if(DoButton_FontIcon(&s_ZoomNormalButton, FONT_ICON_MAGNIFYING_GLASS, 0, &Button, 0, m_QuickActionResetZoom.Description(), IGraphics::CORNER_NONE)) { - MapView()->ResetZoom(); + m_QuickActionResetZoom.Call(); } TB_Top.VSplitLeft(20.0f, &Button, &TB_Top); static int s_ZoomInButton = 0; - if(DoButton_FontIcon(&s_ZoomInButton, FONT_ICON_PLUS, 0, &Button, 0, "[NumPad+] Zoom in", IGraphics::CORNER_R)) + if(DoButton_FontIcon(&s_ZoomInButton, FONT_ICON_PLUS, 0, &Button, 0, m_QuickActionZoomIn.Description(), IGraphics::CORNER_R)) { - MapView()->Zoom()->ChangeValue(-50.0f); + m_QuickActionZoomIn.Call(); } TB_Top.VSplitLeft(5.0f, nullptr, &TB_Top); diff --git a/src/game/editor/quick_actions.h b/src/game/editor/quick_actions.h index ce5ac95b4..5e1a04fe8 100644 --- a/src/game/editor/quick_actions.h +++ b/src/game/editor/quick_actions.h @@ -127,6 +127,30 @@ REGISTER_QUICK_ACTION( ALWAYS_FALSE, DEFAULT_BTN, "Adds a new group.") +REGISTER_QUICK_ACTION( + ResetZoom, + "Reset Zoom", + [&]() { MapView()->ResetZoom(); }, + ALWAYS_FALSE, + ALWAYS_FALSE, + DEFAULT_BTN, + "[Numpad*] Zoom to normal and remove editor offset.") +REGISTER_QUICK_ACTION( + ZoomOut, + "Zoom Out", + [&]() { MapView()->Zoom()->ChangeValue(50.0f); }, + ALWAYS_FALSE, + ALWAYS_FALSE, + DEFAULT_BTN, + "[Numpad-] Zoom out.") +REGISTER_QUICK_ACTION( + ZoomIn, + "Zoom In", + [&]() { MapView()->Zoom()->ChangeValue(-50.0f); }, + ALWAYS_FALSE, + ALWAYS_FALSE, + DEFAULT_BTN, + "[Numpad+] Zoom in.") REGISTER_QUICK_ACTION( Refocus, "Refocus",