mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	Renamed Visible->Active internally
This commit is contained in:
		
							
								
								
									
										43
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -1262,8 +1262,8 @@ struct ImGuiWindow | ||||
|     float                   ScrollY; | ||||
|     float                   NextScrollY; | ||||
|     bool                    ScrollbarY; | ||||
|     bool                    Visible;                            // Set to true on Begin() | ||||
|     bool                    WasVisible; | ||||
|     bool                    Active;                             // Set to true on Begin() | ||||
|     bool                    WasActive; | ||||
|     bool                    Accessed;                           // Set to true when any widget access the current window | ||||
|     bool                    Collapsed;                          // Set when collapsing window to become only title-bar | ||||
|     bool                    SkipItems;                          // == Visible && !Collapsed | ||||
| @@ -1620,7 +1620,7 @@ ImGuiWindow::ImGuiWindow(const char* name) | ||||
|     ScrollY = 0.0f; | ||||
|     NextScrollY = 0.0f; | ||||
|     ScrollbarY = false; | ||||
|     Visible = WasVisible = false; | ||||
|     Active = WasActive = false; | ||||
|     Accessed = false; | ||||
|     Collapsed = false; | ||||
|     SkipItems = false; | ||||
| @@ -1717,7 +1717,7 @@ static void AddWindowToRenderList(ImVector<ImDrawList*>& out_render_list, ImGuiW | ||||
|     for (size_t i = 0; i < window->DC.ChildWindows.size(); i++) | ||||
|     { | ||||
|         ImGuiWindow* child = window->DC.ChildWindows[i]; | ||||
|         if (child->Visible)                 // clipped children may have been marked not Visible | ||||
|         if (child->Active)                 // clipped children may have been marked not active | ||||
|             AddWindowToRenderList(out_render_list, child); | ||||
|     } | ||||
| } | ||||
| @@ -2041,7 +2041,7 @@ void ImGui::NewFrame() | ||||
|  | ||||
|     // Pressing TAB activate widget focus | ||||
|     // NB: Don't discard FocusedWindow if it isn't active, so that a window that go on/off programatically won't lose its keyboard focus. | ||||
|     if (g.ActiveId == 0 && g.FocusedWindow != NULL && g.FocusedWindow->Visible && IsKeyPressedMap(ImGuiKey_Tab, false)) | ||||
|     if (g.ActiveId == 0 && g.FocusedWindow != NULL && g.FocusedWindow->Active && IsKeyPressedMap(ImGuiKey_Tab, false)) | ||||
|     { | ||||
|         g.FocusedWindow->FocusIdxTabRequestNext = 0; | ||||
|     } | ||||
| @@ -2050,8 +2050,8 @@ void ImGui::NewFrame() | ||||
|     for (size_t i = 0; i != g.Windows.size(); i++) | ||||
|     { | ||||
|         ImGuiWindow* window = g.Windows[i]; | ||||
|         window->WasVisible = window->Visible; | ||||
|         window->Visible = false; | ||||
|         window->WasActive = window->Active; | ||||
|         window->Active = false; | ||||
|         window->Accessed = false; | ||||
|     } | ||||
|  | ||||
| @@ -2136,7 +2136,7 @@ static int ChildWindowComparer(const void* lhs, const void* rhs) | ||||
| static void AddWindowToSortedBuffer(ImVector<ImGuiWindow*>& out_sorted_windows, ImGuiWindow* window) | ||||
| { | ||||
|     out_sorted_windows.push_back(window); | ||||
|     if (window->Visible) | ||||
|     if (window->Active) | ||||
|     { | ||||
|         const size_t count = window->DC.ChildWindows.size(); | ||||
|         if (count > 1) | ||||
| @@ -2144,7 +2144,7 @@ static void AddWindowToSortedBuffer(ImVector<ImGuiWindow*>& out_sorted_windows, | ||||
|         for (size_t i = 0; i < count; i++) | ||||
|         { | ||||
|             ImGuiWindow* child = window->DC.ChildWindows[i]; | ||||
|             if (child->Visible) | ||||
|             if (child->Active) | ||||
|                 AddWindowToSortedBuffer(out_sorted_windows, child); | ||||
|         } | ||||
|     } | ||||
| @@ -2189,7 +2189,7 @@ void ImGui::Render() | ||||
|         // Hide implicit window if it hasn't been used | ||||
|         IM_ASSERT(g.CurrentWindowStack.size() == 1);    // Mismatched Begin/End  | ||||
|         if (g.CurrentWindow && !g.CurrentWindow->Accessed) | ||||
|             g.CurrentWindow->Visible = false; | ||||
|             g.CurrentWindow->Active = false; | ||||
|         ImGui::End(); | ||||
|  | ||||
|         if (g.ActiveId == 0 && g.HoveredId == 0 && g.IO.MouseClicked[0]) | ||||
| @@ -2215,8 +2215,8 @@ void ImGui::Render() | ||||
|         for (size_t i = 0; i != g.Windows.size(); i++) | ||||
|         { | ||||
|             ImGuiWindow* window = g.Windows[i]; | ||||
|             if (window->Flags & ImGuiWindowFlags_ChildWindow)       // if a child is visible its parent will add it | ||||
|                 if (window->Visible) | ||||
|             if (window->Flags & ImGuiWindowFlags_ChildWindow)       // if a child is active its parent will add it | ||||
|                 if (window->Active) | ||||
|                     continue; | ||||
|             AddWindowToSortedBuffer(g.WindowsSortBuffer, window); | ||||
|         } | ||||
| @@ -2248,7 +2248,7 @@ void ImGui::Render() | ||||
|         for (size_t i = 0; i != g.Windows.size(); i++) | ||||
|         { | ||||
|             ImGuiWindow* window = g.Windows[i]; | ||||
|             if (window->Visible && (window->Flags & (ImGuiWindowFlags_ChildWindow)) == 0) | ||||
|             if (window->Active && (window->Flags & (ImGuiWindowFlags_ChildWindow)) == 0) | ||||
|             { | ||||
|                 // FIXME: Generalize this with a proper layering system so we can stack. | ||||
|                 if (window->Flags & ImGuiWindowFlags_Popup) | ||||
| @@ -2595,7 +2595,7 @@ static ImGuiWindow* FindHoveredWindow(ImVec2 pos, bool excluding_childs) | ||||
|     for (int i = (int)g.Windows.size()-1; i >= 0; i--) | ||||
|     { | ||||
|         ImGuiWindow* window = g.Windows[(size_t)i]; | ||||
|         if (!window->Visible) | ||||
|         if (!window->Active) | ||||
|             continue; | ||||
|         if (excluding_childs && (window->Flags & ImGuiWindowFlags_ChildWindow) != 0) | ||||
|             continue; | ||||
| @@ -3148,10 +3148,9 @@ bool ImGui::Begin(const char* name, bool* p_opened, const ImVec2& size_on_first_ | ||||
|     // When reusing window again multiple times a frame, just append content (don't need to setup again) | ||||
|     const int current_frame = ImGui::GetFrameCount(); | ||||
|     const bool first_begin_of_the_frame = (window->LastFrameDrawn != current_frame); | ||||
| 	const bool window_was_visible = (window->LastFrameDrawn == current_frame - 1); | ||||
|     if (first_begin_of_the_frame) | ||||
|     { | ||||
|         window->Visible = true; | ||||
|         window->Active = true; | ||||
|         window->DrawList->Clear(); | ||||
|         window->ClipRectStack.resize(0); | ||||
|         window->LastFrameDrawn = current_frame; | ||||
| @@ -3167,7 +3166,7 @@ bool ImGui::Begin(const char* name, bool* p_opened, const ImVec2& size_on_first_ | ||||
|     if (first_begin_of_the_frame) | ||||
|     { | ||||
|         // New windows appears in front | ||||
|         if (!window_was_visible) | ||||
|         if (!window->WasActive) | ||||
|         { | ||||
|             if (!(flags & ImGuiWindowFlags_ChildWindow) && !(flags & ImGuiWindowFlags_Tooltip)) | ||||
|             { | ||||
| @@ -3518,13 +3517,13 @@ bool ImGui::Begin(const char* name, bool* p_opened, const ImVec2& size_on_first_ | ||||
|         // We also hide the window from rendering because we've already added its border to the command list. | ||||
|         // (we could perform the check earlier in the function but it is simpler at this point) | ||||
|         if (window->Collapsed) | ||||
|             window->Visible = false; | ||||
|             window->Active = false; | ||||
|     } | ||||
|     if (style.Alpha <= 0.0f) | ||||
|         window->Visible = false; | ||||
|         window->Active = false; | ||||
|  | ||||
|     // Return false if we don't intend to display anything to allow user to perform an early out optimization | ||||
|     window->SkipItems = (window->Collapsed || !window->Visible) && window->AutoFitFrames <= 0; | ||||
|     window->SkipItems = (window->Collapsed || !window->Active) && window->AutoFitFrames <= 0; | ||||
|     return !window->SkipItems; | ||||
| } | ||||
|  | ||||
| @@ -4420,7 +4419,7 @@ static inline bool IsWindowContentHoverable(ImGuiWindow* window) | ||||
|     // An active popup disable hovering on other windows (apart from its own children) | ||||
|     if (ImGuiWindow* focused_window = g.FocusedWindow) | ||||
|         if (ImGuiWindow* focused_root_window = focused_window->RootWindow) | ||||
|             if ((focused_root_window->Flags & ImGuiWindowFlags_Popup) != 0 && focused_root_window->WasVisible && focused_root_window != window->RootWindow) | ||||
|             if ((focused_root_window->Flags & ImGuiWindowFlags_Popup) != 0 && focused_root_window->WasActive && focused_root_window != window->RootWindow) | ||||
|                 return false; | ||||
|  | ||||
|     return true; | ||||
| @@ -10732,7 +10731,7 @@ void ImGui::ShowMetricsWindow(bool* opened) | ||||
|  | ||||
|             static void NodeWindow(ImGuiWindow* window, const char* label) | ||||
|             { | ||||
|                 if (!ImGui::TreeNode(window, "%s '%s', %d @ 0x%p", label, window->Name, window->Visible, window)) | ||||
|                 if (!ImGui::TreeNode(window, "%s '%s', %d @ 0x%p", label, window->Name, window->Active, window)) | ||||
|                     return; | ||||
|                 NodeDrawList(window->DrawList, "DrawList"); | ||||
|                 if (window->RootWindow != window) NodeWindow(window->RootWindow, "RootWindow"); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user