Ver Fonte

Added IsAnyItemHovered() public helper.

ocornut há 10 anos atrás
pai
commit
8c4c421f74
2 ficheiros alterados com 8 adições e 3 exclusões
  1. 6 2
      imgui.cpp
  2. 2 1
      imgui.h

+ 6 - 2
imgui.cpp

@@ -2984,10 +2984,14 @@ bool ImGui::IsItemActive()
     return false;
 }
 
+bool ImGui::IsAnyItemHovered()
+{
+    return GImGui->HoveredId != 0 || GImGui->HoveredIdPreviousFrame != 0;
+}
+
 bool ImGui::IsAnyItemActive()
 {
-    ImGuiState& g = *GImGui;
-    return g.ActiveId != 0;
+    return GImGui->ActiveId != 0;
 }
 
 bool ImGui::IsItemVisible()

+ 2 - 1
imgui.h

@@ -333,8 +333,9 @@ namespace ImGui
     IMGUI_API bool          IsItemHovered();                                                    // was the last item hovered by mouse?
     IMGUI_API bool          IsItemHoveredRect();                                                // was the last item hovered by mouse? even if another item is active while we are hovering this
     IMGUI_API bool          IsItemActive();                                                     // was the last item active? (e.g. button being held, text field being edited- items that don't interact will always return false)
-    IMGUI_API bool          IsAnyItemActive();                                                  // 
     IMGUI_API bool          IsItemVisible();
+    IMGUI_API bool          IsAnyItemHovered();                                                 // 
+    IMGUI_API bool          IsAnyItemActive();                                                  // 
     IMGUI_API ImVec2        GetItemRectMin();                                                   // get bounding rect of last item in screen space
     IMGUI_API ImVec2        GetItemRectMax();                                                   // "
     IMGUI_API ImVec2        GetItemRectSize();                                                  // "