Navigation: Moving NavInitWindow() around and making it static (#323)

This commit is contained in:
ocornut
2016-07-24 11:56:36 +02:00
parent b2ad33ce41
commit 4bbdaa4e3c
2 changed files with 18 additions and 19 deletions

View File

@ -2265,6 +2265,24 @@ int ImGui::GetFrameCount()
return GImGui->FrameCount;
}
// This needs to be called before we submit any widget (aka in or before Begin)
static void NavInitWindow(ImGuiWindow* window)
{
ImGuiContext& g = *GImGui;
if (!(window->Flags & ImGuiWindowFlags_ChildWindow) || (window->Flags & ImGuiWindowFlags_Popup) || (window->NavLastId == 0))
{
g.NavId = window->NavLastId = 0;
g.NavInitDefaultRequest = true;
g.NavInitDefaultResultExplicit = false;
g.NavInitDefaultResultId = 0;
}
else
{
g.NavId = window->NavLastId;
}
g.NavWindow = window;
}
static ImVec2 NavCalcPreferredMousePos()
{
ImGuiContext& g = *GImGui;
@ -5059,24 +5077,6 @@ void ImGui::FocusWindow(ImGuiWindow* window)
g.Windows.push_back(window);
}
// This needs to be called before we submit any widget (aka in or before Begin)
void ImGui::NavInitWindow(ImGuiWindow* window)
{
ImGuiContext& g = *GImGui;
if (!(window->Flags & ImGuiWindowFlags_ChildWindow) || (window->Flags & ImGuiWindowFlags_Popup) || (window->NavLastId == 0))
{
g.NavId = window->NavLastId = 0;
g.NavInitDefaultRequest = true;
g.NavInitDefaultResultExplicit = false;
g.NavInitDefaultResultId = 0;
}
else
{
g.NavId = window->NavLastId;
}
g.NavWindow = window;
}
void ImGui::PushItemWidth(float item_width)
{
ImGuiWindow* window = GetCurrentWindow();