|
|
|
@ -4050,20 +4050,22 @@ bool ImGui::ItemHoverable(const ImRect& bb, ImGuiID id) |
|
|
|
|
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) |
|
|
|
|
{ |
|
|
|
|
// Drag source doesn't report as hovered
|
|
|
|
|
if (g.DragDropActive && g.DragDropPayload.SourceId == id && !(g.DragDropSourceFlags & ImGuiDragDropFlags_SourceNoDisableHover)) |
|
|
|
|
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); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// When disabled we'll return false but still set HoveredId
|
|
|
|
|
if (item_flags & ImGuiItemFlags_Disabled) |
|
|
|
|
{ |
|
|
|
|
// Release active id if turning disabled
|
|
|
|
|
if (g.ActiveId == id) |
|
|
|
|
if (g.ActiveId == id && id != 0) |
|
|
|
|
ClearActiveID(); |
|
|
|
|
g.HoveredIdDisabled = true; |
|
|
|
|
return false; |
|
|
|
|