Internals: Allow ItemHoverable() to be used with id==0 to facilitate high-level read-only hover test in widget code.

This commit is contained in:
ocornut 2020-06-15 19:06:20 +02:00
parent 99ab521024
commit 1dfd0634cb

View File

@ -3172,6 +3172,10 @@ bool ImGui::ItemHoverable(const ImRect& bb, ImGuiID id)
if (window->DC.ItemFlags & ImGuiItemFlags_Disabled) if (window->DC.ItemFlags & ImGuiItemFlags_Disabled)
return false; return false;
// We exceptionally allow this function to be called with id==0 to allow using it for easy high-level
// hover test in widgets code. We could also decide to split this function is two.
if (id != 0)
{
SetHoveredID(id); SetHoveredID(id);
// [DEBUG] Item Picker tool! // [DEBUG] Item Picker tool!
@ -3183,6 +3187,7 @@ bool ImGui::ItemHoverable(const ImRect& bb, ImGuiID id)
GetForegroundDrawList()->AddRect(bb.Min, bb.Max, IM_COL32(255, 255, 0, 255)); GetForegroundDrawList()->AddRect(bb.Min, bb.Max, IM_COL32(255, 255, 0, 255));
if (g.DebugItemPickerBreakId == id) if (g.DebugItemPickerBreakId == id)
IM_DEBUG_BREAK(); IM_DEBUG_BREAK();
}
return true; return true;
} }