From 0f855f7125f37e55fa477a5d652d97ba1e010dcd Mon Sep 17 00:00:00 2001 From: shweet Date: Sun, 1 Mar 2026 03:28:23 -0500 Subject: [PATCH] cursor issue --- src/loader.cpp | 1 + src/state.cpp | 10 ++++++++++ src/state.hpp | 1 + src/state/main.cpp | 1 - 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/loader.cpp b/src/loader.cpp index 7c0d93c..fe11a2a 100644 --- a/src/loader.cpp +++ b/src/loader.cpp @@ -175,6 +175,7 @@ namespace game ImGuiIO& io = ImGui::GetIO(); io.IniFilename = nullptr; + io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange; ImGui::StyleColorsDark(); diff --git a/src/state.cpp b/src/state.cpp index b68c5d4..07cf37d 100644 --- a/src/state.cpp +++ b/src/state.cpp @@ -90,6 +90,16 @@ namespace game default: break; } + + auto isHideCursor = type == MAIN; + if (isHideCursor != isCursorHidden) + { + if (isHideCursor) + SDL_HideCursor(); + else + SDL_ShowCursor(); + isCursorHidden = isHideCursor; + } } void State::render() diff --git a/src/state.hpp b/src/state.hpp index 5d3be0c..e01400a 100644 --- a/src/state.hpp +++ b/src/state.hpp @@ -39,6 +39,7 @@ namespace game void render(); bool isRunning{true}; + bool isCursorHidden{}; Canvas canvas{}; diff --git a/src/state/main.cpp b/src/state/main.cpp index daa5dc2..7de551d 100644 --- a/src/state/main.cpp +++ b/src/state/main.cpp @@ -256,7 +256,6 @@ namespace game::state cursor.render(textureShader, rectShader, canvas); canvas.unbind(); - SDL_HideCursor(); } void Main::save(Resources& resources)