mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 01:17:00 +00:00
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
|
- 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
|
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)
|
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
|
- 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
|
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).
|
introduced in 1.50 and broken in 1.60. (#1698, #894, #713).
|
||||||
|
@ -2933,6 +2933,10 @@ static void ImGui::UpdateMouseInputs()
|
|||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
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 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))
|
if (IsMousePosValid(&g.IO.MousePos) && IsMousePosValid(&g.IO.MousePosPrev))
|
||||||
g.IO.MouseDelta = g.IO.MousePos - g.IO.MousePosPrev;
|
g.IO.MouseDelta = g.IO.MousePos - g.IO.MousePosPrev;
|
||||||
|
Loading…
Reference in New Issue
Block a user