Quellcode durchsuchen

SplitterBehavior: fix using IsItemHovered() after SplitterBehavior()

Rokas Kupstys vor 4 Jahren
Ursprung
Commit
d5828cd988
1 geänderte Dateien mit 2 neuen und 0 gelöschten Zeilen
  1. 2 0
      imgui_widgets.cpp

+ 2 - 0
imgui_widgets.cpp

@@ -1444,6 +1444,8 @@ bool ImGui::SplitterBehavior(const ImRect& bb, ImGuiID id, ImGuiAxis axis, float
     ImRect bb_interact = bb;
     bb_interact.Expand(axis == ImGuiAxis_Y ? ImVec2(0.0f, hover_extend) : ImVec2(hover_extend, 0.0f));
     ButtonBehavior(bb_interact, id, &hovered, &held, ImGuiButtonFlags_FlattenChildren | ImGuiButtonFlags_AllowItemOverlap);
+    if (hovered)
+        window->DC.LastItemStatusFlags |= ImGuiItemStatusFlags_HoveredRect; // for IsItemHovered(), because bb_interact is larger than bb
     if (g.ActiveId != id)
         SetItemAllowOverlap();