mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
This commit is contained in:
		
							
								
								
									
										10
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -4031,17 +4031,17 @@ bool ImGui::IsItemHovered(ImGuiHoveredFlags flags) | ||||
| bool ImGui::ItemHoverable(const ImRect& bb, ImGuiID id) | ||||
| { | ||||
|     ImGuiContext& g = *GImGui; | ||||
|     if (g.HoveredId != 0 && g.HoveredId != id && !g.HoveredIdAllowOverlap) | ||||
|         return false; | ||||
|  | ||||
|     ImGuiWindow* window = g.CurrentWindow; | ||||
|     if (g.HoveredWindow != window) | ||||
|         return false; | ||||
|     if (g.ActiveId != 0 && g.ActiveId != id && !g.ActiveIdAllowOverlap) | ||||
|         return false; | ||||
|     if (!IsMouseHoveringRect(bb.Min, bb.Max)) | ||||
|         return false; | ||||
|  | ||||
|     if (g.HoveredId != 0 && g.HoveredId != id && !g.HoveredIdAllowOverlap) | ||||
|         return false; | ||||
|     if (g.ActiveId != 0 && g.ActiveId != id && !g.ActiveIdAllowOverlap) | ||||
|         return false; | ||||
|  | ||||
|     // Done with rectangle culling so we can perform heavier checks now. | ||||
|     ImGuiItemFlags item_flags = (g.LastItemData.ID == id ? g.LastItemData.InFlags : g.CurrentItemFlags); | ||||
|     if (!(item_flags & ImGuiItemFlags_NoWindowHoverableCheck) && !IsWindowContentHoverable(window, ImGuiHoveredFlags_None)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user