feat: Add Zoom, Lasso Select, and Pan drawing tools keybindings.

This commit is contained in:
sid293 2025-12-10 21:46:08 +05:30
parent ceafbf8bb6
commit bd226e1c07
3 changed files with 15 additions and 0 deletions

View file

@ -389,6 +389,12 @@ void DrawingProgram::update() {
switch_to_tool(DrawingProgramToolType::EYEDROPPER);
else if(world.main.input.key(InputManager::KEY_DRAW_TOOL_SCREENSHOT).pressed)
switch_to_tool(DrawingProgramToolType::SCREENSHOT);
else if(world.main.input.key(InputManager::KEY_DRAW_TOOL_ZOOM).pressed)
switch_to_tool(DrawingProgramToolType::ZOOM);
else if(world.main.input.key(InputManager::KEY_DRAW_TOOL_LASSOSELECT).pressed)
switch_to_tool(DrawingProgramToolType::LASSOSELECT);
else if(world.main.input.key(InputManager::KEY_DRAW_TOOL_PAN).pressed)
switch_to_tool(DrawingProgramToolType::PAN);
selection.update();
drawTool->tool_update();

View file

@ -36,6 +36,9 @@ InputManager::InputManager() {
defaultKeyAssignments[{CTRL_MOD, SDLK_V}] = KEY_PASTE;
defaultKeyAssignments[{0, SDLK_B}] = KEY_DRAW_TOOL_BRUSH;
defaultKeyAssignments[{0, SDLK_E}] = KEY_DRAW_TOOL_ERASER;
defaultKeyAssignments[{0, SDLK_Z}] = KEY_DRAW_TOOL_ZOOM;
defaultKeyAssignments[{0, SDLK_L}] = KEY_DRAW_TOOL_LASSOSELECT;
defaultKeyAssignments[{0, SDLK_H}] = KEY_DRAW_TOOL_PAN;
defaultKeyAssignments[{0, SDLK_T}] = KEY_DRAW_TOOL_TEXTBOX;
defaultKeyAssignments[{0, SDLK_R}] = KEY_DRAW_TOOL_RECTANGLE;
defaultKeyAssignments[{0, SDLK_C}] = KEY_DRAW_TOOL_ELLIPSE;

View file

@ -151,6 +151,9 @@ struct InputManager {
KEY_PASTE,
KEY_DRAW_TOOL_BRUSH,
KEY_DRAW_TOOL_ERASER,
KEY_DRAW_TOOL_ZOOM,
KEY_DRAW_TOOL_PAN,
KEY_DRAW_TOOL_LASSOSELECT,
KEY_DRAW_TOOL_TEXTBOX,
KEY_DRAW_TOOL_RECTANGLE,
KEY_DRAW_TOOL_ELLIPSE,
@ -238,6 +241,9 @@ NLOHMANN_JSON_SERIALIZE_ENUM(InputManager::KeyCodeEnum, {
{InputManager::KEY_PASTE, "Paste"},
{InputManager::KEY_DRAW_TOOL_BRUSH, "Brush Tool"},
{InputManager::KEY_DRAW_TOOL_ERASER, "Eraser Tool"},
{InputManager::KEY_DRAW_TOOL_ZOOM, "Zoom Tool"},
{InputManager::KEY_DRAW_TOOL_LASSOSELECT, "Lasso Select Tool"},
{InputManager::KEY_DRAW_TOOL_PAN, "Pan Tool"},
{InputManager::KEY_DRAW_TOOL_TEXTBOX, "Textbox Tool"},
{InputManager::KEY_DRAW_TOOL_RECTANGLE, "Rectangle Tool"},
{InputManager::KEY_DRAW_TOOL_ELLIPSE, "Ellipse Tool"},