Nav: Fixed an issue with NavFlattened window flag where widgets not entirely fitting in child window (often selectable because of their extruded bits) would be not considered to navigate toward the child window. (#787)

This creates a little bit of tension because g.NavDisableHighlight tends to makes the reference point not always visible.
Amend c665c15a7d
This commit is contained in:
omar 2019-07-30 14:26:02 -07:00
parent 9183e7c426
commit 85ad8e0e2e

View File

@ -7761,7 +7761,7 @@ static bool NavScoreItem(ImGuiNavMoveResult* result, ImRect cand)
if (window->ParentWindow == g.NavWindow) if (window->ParentWindow == g.NavWindow)
{ {
IM_ASSERT((window->Flags | g.NavWindow->Flags) & ImGuiWindowFlags_NavFlattened); IM_ASSERT((window->Flags | g.NavWindow->Flags) & ImGuiWindowFlags_NavFlattened);
if (!window->ClipRect.Contains(cand)) if (!window->ClipRect.Overlaps(cand))
return false; return false;
cand.ClipWithFull(window->ClipRect); // This allows the scored item to not overlap other candidates in the parent window cand.ClipWithFull(window->ClipRect); // This allows the scored item to not overlap other candidates in the parent window
} }