| 11470 | } |
| 11471 | |
| 11472 | static void NavUpdateWindowingHighlightWindow(int focus_change_dir) |
| 11473 | { |
| 11474 | ImGuiContext& g = *GImGui; |
| 11475 | IM_ASSERT(g.NavWindowingTarget); |
| 11476 | if (g.NavWindowingTarget->Flags & ImGuiWindowFlags_Modal) |
| 11477 | return; |
| 11478 | |
| 11479 | const int i_current = ImGui::FindWindowFocusIndex(g.NavWindowingTarget); |
| 11480 | ImGuiWindow* window_target = FindWindowNavFocusable(i_current + focus_change_dir, -INT_MAX, focus_change_dir); |
| 11481 | if (!window_target) |
| 11482 | window_target = FindWindowNavFocusable((focus_change_dir < 0) ? (g.WindowsFocusOrder.Size - 1) : 0, i_current, focus_change_dir); |
| 11483 | if (window_target) // Don't reset windowing target if there's a single window in the list |
| 11484 | { |
| 11485 | g.NavWindowingTarget = g.NavWindowingTargetAnim = window_target; |
| 11486 | g.NavWindowingAccumDeltaPos = g.NavWindowingAccumDeltaSize = ImVec2(0.0f, 0.0f); |
| 11487 | } |
| 11488 | g.NavWindowingToggleLayer = false; |
| 11489 | } |
| 11490 | |
| 11491 | // Windowing management mode |
| 11492 | // Keyboard: CTRL+Tab (change focus/move/resize), Alt (toggle menu layer) |
no test coverage detected