From cadf3f8419fd540b2d7a95610564d047029500be Mon Sep 17 00:00:00 2001 From: Christian Heinemann Date: Sun, 29 Dec 2024 07:50:20 +0100 Subject: [PATCH] notify release mouse button in case of !WantCaptureMouse --- .../Gui/SimulationInteractionController.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/source/Gui/SimulationInteractionController.cpp b/source/Gui/SimulationInteractionController.cpp index 3c4035589..62709588d 100644 --- a/source/Gui/SimulationInteractionController.cpp +++ b/source/Gui/SimulationInteractionController.cpp @@ -121,9 +121,6 @@ void SimulationInteractionController::processEvents() if (ImGui::GetIO().MouseWheel > 0) { mouseWheelUp(mousePosInt, std::abs(ImGui::GetIO().MouseWheel)); } - if (ImGui::IsMouseReleased(ImGuiMouseButton_Left)) { - leftMouseButtonReleased(mousePosInt, prevMousePosInt); - } if (ImGui::IsMouseClicked(ImGuiMouseButton_Right)) { rightMouseButtonPressed(mousePosInt); @@ -134,9 +131,6 @@ void SimulationInteractionController::processEvents() if (ImGui::GetIO().MouseWheel < 0) { mouseWheelDown(mousePosInt, std::abs(ImGui::GetIO().MouseWheel)); } - if (ImGui::IsMouseReleased(ImGuiMouseButton_Right)) { - rightMouseButtonReleased(); - } if (ImGui::IsMouseClicked(ImGuiMouseButton_Middle)) { middleMouseButtonPressed(mousePosInt); @@ -144,11 +138,18 @@ void SimulationInteractionController::processEvents() if (ImGui::IsMouseDown(ImGuiMouseButton_Middle)) { middleMouseButtonHold(mousePosInt); } - if (ImGui::IsMouseReleased(ImGuiMouseButton_Middle)) { - middleMouseButtonReleased(); - } drawCursor(); } + if (ImGui::IsMouseReleased(ImGuiMouseButton_Left)) { + leftMouseButtonReleased(mousePosInt, prevMousePosInt); + } + if (ImGui::IsMouseReleased(ImGuiMouseButton_Right)) { + rightMouseButtonReleased(); + } + if (ImGui::IsMouseReleased(ImGuiMouseButton_Middle)) { + middleMouseButtonReleased(); + } + processMouseWheel(mousePosInt); _prevMousePosInt = mousePosInt;