diff --git a/src/DrawingProgram/DrawingProgram.cpp b/src/DrawingProgram/DrawingProgram.cpp index fe71a3a..09d9271 100644 --- a/src/DrawingProgram/DrawingProgram.cpp +++ b/src/DrawingProgram/DrawingProgram.cpp @@ -254,7 +254,7 @@ void DrawingProgram::update() { if(world.main.toolbar.paintPopupLocation) world.main.toolbar.paintPopupLocation = std::nullopt; else - world.main.toolbar.paintPopupLocation = world.main.input.mouse.pos / world.main.window.scale; + world.main.toolbar.paintPopupLocation = world.main.input.mouse.pos / world.main.toolbar.final_gui_scale(); } controls.previousMouseWorldPos = controls.currentMouseWorldPos; diff --git a/src/Toolbar.cpp b/src/Toolbar.cpp index a428205..7888c84 100644 --- a/src/Toolbar.cpp +++ b/src/Toolbar.cpp @@ -1673,7 +1673,7 @@ void Toolbar::start_gui() { io->mouse.rightClick = main.input.mouse.rightClicks; io->mouse.leftHeld = main.input.mouse.leftDown; io->mouse.rightHeld = main.input.mouse.rightDown; - io->mouse.globalPos = main.input.mouse.pos / (guiScale * main.window.scale); + io->mouse.globalPos = main.input.mouse.pos / final_gui_scale(); io->mouse.scroll = main.input.mouse.scrollAmount; io->deltaTime = main.deltaTime; @@ -1707,6 +1707,10 @@ void Toolbar::start_gui() { gui.begin(); } +float Toolbar::final_gui_scale() { + return guiScale * main.window.scale; +} + void Toolbar::end_gui() { gui.end(); if(io->acceptingTextInput) @@ -1718,7 +1722,7 @@ void Toolbar::end_gui() { void Toolbar::draw(SkCanvas* canvas) { if(!main.takingScreenshot) { canvas->save(); - canvas->scale(guiScale * main.window.scale, guiScale * main.window.scale); + canvas->scale(final_gui_scale(), final_gui_scale()); gui.draw(canvas); canvas->restore(); } diff --git a/src/Toolbar.hpp b/src/Toolbar.hpp index 05de11d..fe69b56 100644 --- a/src/Toolbar.hpp +++ b/src/Toolbar.hpp @@ -77,6 +77,8 @@ class Toolbar { Vector4f* colorLeft = nullptr; Vector4f* colorRight = nullptr; std::optional paintPopupLocation; + + float final_gui_scale(); private: static void sdl_open_file_dialog_callback(void* userData, const char * const * fileList, int filter); @@ -128,14 +130,14 @@ class Toolbar { bool justAssignedColorLeft = false; bool justAssignedColorRight = false; - float guiScale = 1.0f; - bool showPerformance = false; bool menuPopUpOpen = false; bool optionsMenuOpen = false; bool playerMenuOpen = false; + float guiScale = 1.0f; + enum { CHATBOXSTATE_OPEN, CHATBOXSTATE_JUSTOPEN,