Fixed mouse click detection to be more friendly to DeltaTime 0.0 (#338)

This commit is contained in:
ocornut
2015-09-17 23:42:34 +01:00
parent 3b01b0a2f2
commit c4562ac573
2 changed files with 6 additions and 5 deletions

View File

@ -1842,10 +1842,10 @@ void ImGui::NewFrame()
g.IO.MousePosPrev = g.IO.MousePos;
for (int i = 0; i < IM_ARRAYSIZE(g.IO.MouseDown); i++)
{
g.IO.MouseClicked[i] = g.IO.MouseDown[i] && g.IO.MouseDownDuration[i] < 0.0f;
g.IO.MouseReleased[i] = !g.IO.MouseDown[i] && g.IO.MouseDownDurationPrev[i] >= 0.0f;
g.IO.MouseDownDurationPrev[i] = g.IO.MouseDownDuration[i];
g.IO.MouseDownDuration[i] = g.IO.MouseDown[i] ? (g.IO.MouseDownDuration[i] < 0.0f ? 0.0f : g.IO.MouseDownDuration[i] + g.IO.DeltaTime) : -1.0f;
g.IO.MouseClicked[i] = g.IO.MouseDownDuration[i] == 0.0f;
g.IO.MouseReleased[i] = g.IO.MouseDownDurationPrev[i] >= 0.0f && !g.IO.MouseDown[i];
g.IO.MouseDoubleClicked[i] = false;
if (g.IO.MouseClicked[i])
{