Clarifying that MovedWindow* apply to mouse moving only

This commit is contained in:
ocornut 2016-07-30 16:25:45 +02:00
parent f2d1472481
commit 4309b8c1ed
2 changed files with 3 additions and 3 deletions

View File

@ -2655,8 +2655,8 @@ void ImGui::NewFrame()
g.FramerateSecPerFrameIdx = (g.FramerateSecPerFrameIdx + 1) % IM_ARRAYSIZE(g.FramerateSecPerFrame); g.FramerateSecPerFrameIdx = (g.FramerateSecPerFrameIdx + 1) % IM_ARRAYSIZE(g.FramerateSecPerFrame);
g.IO.Framerate = 1.0f / (g.FramerateSecPerFrameAccum / (float)IM_ARRAYSIZE(g.FramerateSecPerFrame)); g.IO.Framerate = 1.0f / (g.FramerateSecPerFrameAccum / (float)IM_ARRAYSIZE(g.FramerateSecPerFrame));
// Handle user moving window (at the beginning of the frame to avoid input lag or sheering). Only valid for root windows. // Handle user moving window with mouse (at the beginning of the frame to avoid input lag or sheering). Only valid for root windows.
if (g.MovedWindowMoveId && g.MovedWindowMoveId == g.ActiveId) if (g.MovedWindowMoveId && g.MovedWindowMoveId == g.ActiveId && g.ActiveIdSource == ImGuiInputSource_Mouse)
{ {
KeepAliveID(g.MovedWindowMoveId); KeepAliveID(g.MovedWindowMoveId);
IM_ASSERT(g.MovedWindow && g.MovedWindow->RootWindow); IM_ASSERT(g.MovedWindow && g.MovedWindow->RootWindow);

View File

@ -393,7 +393,7 @@ struct ImGuiContext
ImVec2 ActiveIdClickOffset; // Clicked offset from upper-left corner, if applicable (currently only set by ButtonBehavior) ImVec2 ActiveIdClickOffset; // Clicked offset from upper-left corner, if applicable (currently only set by ButtonBehavior)
ImGuiWindow* ActiveIdWindow; ImGuiWindow* ActiveIdWindow;
ImGuiInputSource ActiveIdSource; // Activating with mouse or nav (gamepad/keyboard) ImGuiInputSource ActiveIdSource; // Activating with mouse or nav (gamepad/keyboard)
ImGuiWindow* MovedWindow; // Track the child window we clicked on to move a window. ImGuiWindow* MovedWindow; // Track the child window we clicked on to move a window (only apply to moving with mouse)
ImGuiID MovedWindowMoveId; // == MovedWindow->RootWindow->MoveId ImGuiID MovedWindowMoveId; // == MovedWindow->RootWindow->MoveId
ImVector<ImGuiIniData> Settings; // .ini Settings ImVector<ImGuiIniData> Settings; // .ini Settings
float SettingsDirtyTimer; // Save .ini Settings on disk when time reaches zero float SettingsDirtyTimer; // Save .ini Settings on disk when time reaches zero