Window, Inputs: Fixed resizing from edges when io.MousePos is not pixel-rounded by rounding mouse position input. (#2110)
This commit is contained in:
parent
ae7f833c69
commit
fbfe193fcd
@ -52,6 +52,7 @@ Other Changes:
|
||||
- Window: Resizing from edges (with io.ConfigResizeWindowsFromEdges Beta flag) extends the hit region
|
||||
of root floating windows outside the window, making it easier to resize windows. Resize grips are also
|
||||
extended accordingly so there are no discontinuity when hovering between borders and corners. (#1495, #822)
|
||||
- Window, Inputs: Fixed resizing from edges when io.MousePos is not pixel-rounded by rounding mouse position input. (#2110)
|
||||
- BeginChild(): Fixed BeginChild(const char*, ...) variation erroneously not applying the ID stack
|
||||
to the provided string to uniquely identify the child window. This was undoing an intentional change
|
||||
introduced in 1.50 and broken in 1.60. (#1698, #894, #713).
|
||||
|
@ -2933,6 +2933,10 @@ static void ImGui::UpdateMouseInputs()
|
||||
{
|
||||
ImGuiContext& g = *GImGui;
|
||||
|
||||
// Round mouse position to avoid spreading non-rounded position (e.g. UpdateManualResize doesn't support them well)
|
||||
if (IsMousePosValid(&g.IO.MousePos))
|
||||
g.IO.MousePos = ImFloor(g.IO.MousePos);
|
||||
|
||||
// If mouse just appeared or disappeared (usually denoted by -FLT_MAX components) we cancel out movement in MouseDelta
|
||||
if (IsMousePosValid(&g.IO.MousePos) && IsMousePosValid(&g.IO.MousePosPrev))
|
||||
g.IO.MouseDelta = g.IO.MousePos - g.IO.MousePosPrev;
|
||||
|
Loading…
Reference in New Issue
Block a user