Merge pull request #17 from sid293/more-keybinds

feat: Add Zoom, Lasso Select, and Pan drawing tools keybindings.
This commit is contained in:
Yousef Khadadeh 2025-12-10 17:42:11 +00:00 • committed by GitHub
commit d00179bf77
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 15 additions and 0 deletions

View file

@ -388,6 +388,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"},