diff --git a/imgui.cpp b/imgui.cpp index 711b9ab..112ce24 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -2220,6 +2220,7 @@ if (new_best) { g.NavMoveResultId = *id; + g.NavMoveResultParentId = window->IDStack.back(); g.NavMoveResultRectRel = nav_bb_rel; } @@ -2856,6 +2857,7 @@ // Reset search g.NavMoveResultId = 0; + g.NavMoveResultParentId = 0; g.NavMoveResultDistAxial = g.NavMoveResultDistBox = g.NavMoveResultDistCenter = FLT_MAX; // When we have manually scrolled (without using navigation) and NavId becomes out of bounds, we clamp its bounding box (used for search) to the visible area to restart navigation within visible items diff --git a/imgui.cpp b/imgui.cpp index 711b9ab..112ce24 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -2220,6 +2220,7 @@ if (new_best) { g.NavMoveResultId = *id; + g.NavMoveResultParentId = window->IDStack.back(); g.NavMoveResultRectRel = nav_bb_rel; } @@ -2856,6 +2857,7 @@ // Reset search g.NavMoveResultId = 0; + g.NavMoveResultParentId = 0; g.NavMoveResultDistAxial = g.NavMoveResultDistBox = g.NavMoveResultDistCenter = FLT_MAX; // When we have manually scrolled (without using navigation) and NavId becomes out of bounds, we clamp its bounding box (used for search) to the visible area to restart navigation within visible items diff --git a/imgui_internal.h b/imgui_internal.h index 8c3a176..3798e7f 100644 --- a/imgui_internal.h +++ b/imgui_internal.h @@ -480,6 +480,7 @@ ImGuiDir NavMoveDir; // West/East/North/South ImGuiDir NavMoveDirLast; // ImGuiID NavMoveResultId; // Best move request candidate + ImGuiID NavMoveResultParentId; // float NavMoveResultDistBox; // Best move request candidate box distance to current NavId float NavMoveResultDistCenter; // Best move request candidate center distance to current NavId float NavMoveResultDistAxial; @@ -590,6 +591,7 @@ NavMoveRequestForwardStep = 0; NavMoveDir = NavMoveDirLast = ImGuiDir_None; NavMoveResultId = 0; + NavMoveResultParentId = 0; NavMoveResultDistBox = NavMoveResultDistCenter = NavMoveResultDistAxial = 0.0f; SetNextWindowPosVal = ImVec2(0.0f, 0.0f);