IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)

This commit is contained in:
ocornut 2022-05-18 14:16:02 +02:00
parent 60bea052a9
commit e346059eef
3 changed files with 4 additions and 2 deletions

View File

@ -58,6 +58,8 @@ Other Changes:
Not that even thought you shouldn't need to disable io.ConfigInputTrickleEventQueue, you can Not that even thought you shouldn't need to disable io.ConfigInputTrickleEventQueue, you can
technically dynamically change its setting based on the context (e.g. disable only when hovering technically dynamically change its setting based on the context (e.g. disable only when hovering
or interacting with a game/3D view). or interacting with a game/3D view).
- IO: Fixed input queue trickling of mouse wheel events: multiple wheel events are merged, while
a mouse pos followed by a mouse wheel are now trickled. (#4921, #4821)
- Windows: Fixed first-time windows appearing in negative coordinates from being initialized - Windows: Fixed first-time windows appearing in negative coordinates from being initialized
with a wrong size. This would most often be noticeable in multi-viewport mode (docking branch) with a wrong size. This would most often be noticeable in multi-viewport mode (docking branch)
when spawning a window in a monitor with negative coordinates. (#5215, #3414) [@DimaKoltun] when spawning a window in a monitor with negative coordinates. (#5215, #3414) [@DimaKoltun]

View File

@ -7851,7 +7851,7 @@ void ImGui::UpdateInputEvents(bool trickle_fast_inputs)
if (e->MouseWheel.WheelX != 0.0f || e->MouseWheel.WheelY != 0.0f) if (e->MouseWheel.WheelX != 0.0f || e->MouseWheel.WheelY != 0.0f)
{ {
// Trickling Rule: Stop processing queued events if we got multiple action on the event // Trickling Rule: Stop processing queued events if we got multiple action on the event
if (trickle_fast_inputs && (mouse_wheeled || mouse_button_changed != 0)) if (trickle_fast_inputs && (mouse_moved || mouse_button_changed != 0))
break; break;
io.MouseWheelH += e->MouseWheel.WheelX; io.MouseWheelH += e->MouseWheel.WheelX;
io.MouseWheel += e->MouseWheel.WheelY; io.MouseWheel += e->MouseWheel.WheelY;

View File

@ -65,7 +65,7 @@ Index of this file:
// Version // Version
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens) // (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
#define IMGUI_VERSION "1.88 WIP" #define IMGUI_VERSION "1.88 WIP"
#define IMGUI_VERSION_NUM 18721 #define IMGUI_VERSION_NUM 18722
#define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx)) #define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))
#define IMGUI_HAS_TABLE #define IMGUI_HAS_TABLE