mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-29 04:01:07 +01:00 
			
		
		
		
	Minor bits. Reduce usage of GImGui multiple times in same function.
This commit is contained in:
		
							
								
								
									
										18
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -825,8 +825,8 @@ ImGuiIO::ImGuiIO() | ||||
|     ImeWindowHandle = NULL; | ||||
|  | ||||
|     // Input (NB: we already have memset zero the entire structure) | ||||
|     MousePos = ImVec2(-FLT_MAX,-FLT_MAX); | ||||
|     MousePosPrev = ImVec2(-FLT_MAX,-FLT_MAX); | ||||
|     MousePos = ImVec2(-FLT_MAX, -FLT_MAX); | ||||
|     MousePosPrev = ImVec2(-FLT_MAX, -FLT_MAX); | ||||
|     MouseDragThreshold = 6.0f; | ||||
|     for (int i = 0; i < IM_ARRAYSIZE(MouseDownDuration); i++) MouseDownDuration[i] = MouseDownDurationPrev[i] = -1.0f; | ||||
|     for (int i = 0; i < IM_ARRAYSIZE(KeysDownDuration); i++) KeysDownDuration[i]  = KeysDownDurationPrev[i] = -1.0f; | ||||
| @@ -4058,17 +4058,20 @@ bool ImGui::IsItemClicked(int mouse_button) | ||||
|  | ||||
| bool ImGui::IsAnyItemHovered() | ||||
| { | ||||
|     return GImGui->HoveredId != 0 || GImGui->HoveredIdPreviousFrame != 0; | ||||
|     ImGuiContext& g = *GImGui; | ||||
|     return g.HoveredId != 0 || g.HoveredIdPreviousFrame != 0; | ||||
| } | ||||
|  | ||||
| bool ImGui::IsAnyItemActive() | ||||
| { | ||||
|     return GImGui->ActiveId != 0; | ||||
|     ImGuiContext& g = *GImGui; | ||||
|     return g.ActiveId != 0; | ||||
| } | ||||
|  | ||||
| bool ImGui::IsAnyItemFocused() | ||||
| { | ||||
|     return GImGui->NavId != 0 && !GImGui->NavDisableHighlight; | ||||
|     ImGuiContext& g = *GImGui; | ||||
|     return g.NavId != 0 && !g.NavDisableHighlight; | ||||
| } | ||||
|  | ||||
| bool ImGui::IsItemVisible() | ||||
| @@ -4406,6 +4409,7 @@ bool ImGui::BeginPopupContextVoid(const char* str_id, int mouse_button) | ||||
|  | ||||
| static bool BeginChildEx(const char* name, ImGuiID id, const ImVec2& size_arg, bool border, ImGuiWindowFlags extra_flags) | ||||
| { | ||||
|     ImGuiContext& g = *GImGui; | ||||
|     ImGuiWindow* parent_window = ImGui::GetCurrentWindow(); | ||||
|     ImGuiWindowFlags flags = ImGuiWindowFlags_NoTitleBar|ImGuiWindowFlags_NoResize|ImGuiWindowFlags_NoSavedSettings|ImGuiWindowFlags_ChildWindow; | ||||
|  | ||||
| @@ -4434,12 +4438,12 @@ static bool BeginChildEx(const char* name, ImGuiID id, const ImVec2& size_arg, b | ||||
|         child_window->Flags &= ~ImGuiWindowFlags_ShowBorders; | ||||
|  | ||||
|     // Process navigation-in immediately so NavInit can run on first frame | ||||
|     if (/*!(flags & ImGuiWindowFlags_NavFlattened) &&*/ (child_window->DC.NavLayerActiveFlags != 0 || child_window->DC.NavHasScroll) && GImGui->NavActivateId == id) | ||||
|     if (/*!(flags & ImGuiWindowFlags_NavFlattened) &&*/ (child_window->DC.NavLayerActiveFlags != 0 || child_window->DC.NavHasScroll) && g.NavActivateId == id) | ||||
|     { | ||||
|         ImGui::FocusWindow(child_window); | ||||
|         NavInitWindow(child_window, false); | ||||
|         ImGui::SetActiveIDNoNav(id+1, child_window); // Steal ActiveId with a dummy id so that key-press won't activate child item | ||||
|         GImGui->ActiveIdSource = ImGuiInputSource_Nav; | ||||
|         g.ActiveIdSource = ImGuiInputSource_Nav; | ||||
|     } | ||||
|  | ||||
|     return ret; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user