returnImFloor(ImClamp(pos,visible_rect.Min,visible_rect.Max));// ImFloor() is important because non-integer mouse position application in backend might be lossy and result in undesirable non-zero delta.
}
@ -2584,7 +2584,7 @@ static void NavUpdate()
// Apply result from previous navigation init request (typically select the first item, unless SetItemDefaultFocus() has been called)
// When we have manually scrolled and NavId is out of bounds, we clamp its bounding box (used for search) to the visible area to restart navigation within visible items
window_rect_rel.Expand(ImVec2(-ImMin(window_rect_rel.GetWidth(),pad),-ImMin(window_rect_rel.GetHeight(),pad)));// Terrible approximation for the intend of starting navigation from first fully visible item
// For scoring we use a single segment on the left side our current item bounding box (not touching the edge to avoid box overlap with zero-spaced items)
ImVec2SetWindowPosPivot;// store window pivot for positioning. ImVec2(0,0) when positioning from top-left corner; ImVec2(0.5f,0.5f) for centering; ImVec2(1,1) for bottom right.
ImGuiIDNavLastIds[2];// Last known NavId for this window, per layer (0/1)
ImRectNavRefRectRel[2];// Reference rectangle, in window space
ImRectNavRectRel[2];// Reference rectangle, in window space
ImGuiDrawContextDC;// Temporary per-window data, reset at the beginning of the frame
ImVector<ImGuiID>IDStack;// ID stack. ID are hashes seeded with the value at the top of the stack