mirror of https://github.com/ocornut/imgui
Combo: Cleaned up, removed unnecessary code (looks like this part went untouched for a long time!).
This commit is contained in:
parent
3fe2ecfd4c
commit
bbd6d5d5b5
29
imgui.cpp
29
imgui.cpp
|
@ -8632,7 +8632,10 @@ bool ImGui::BeginCombo(const char* label, const char* preview_value, ImVec2 popu
|
|||
return false;
|
||||
|
||||
const float arrow_size = SmallSquareSize();
|
||||
const bool hovered = IsHovered(frame_bb, id);
|
||||
|
||||
bool hovered, held;
|
||||
bool pressed = ButtonBehavior(frame_bb, id, &hovered, &held);
|
||||
|
||||
bool popup_open = IsPopupOpen(id);
|
||||
|
||||
const ImRect value_bb(frame_bb.Min, frame_bb.Max - ImVec2(arrow_size, 0.0f));
|
||||
|
@ -8646,28 +8649,10 @@ bool ImGui::BeginCombo(const char* label, const char* preview_value, ImVec2 popu
|
|||
if (label_size.x > 0)
|
||||
RenderText(ImVec2(frame_bb.Max.x + style.ItemInnerSpacing.x, frame_bb.Min.y + style.FramePadding.y), label);
|
||||
|
||||
bool popup_toggled = false;
|
||||
if (hovered)
|
||||
if (pressed && !popup_open)
|
||||
{
|
||||
SetHoveredID(id);
|
||||
if (g.IO.MouseClicked[0])
|
||||
{
|
||||
ClearActiveID();
|
||||
popup_toggled = true;
|
||||
}
|
||||
}
|
||||
if (popup_toggled)
|
||||
{
|
||||
if (popup_open)
|
||||
{
|
||||
ClosePopup(id);
|
||||
}
|
||||
else
|
||||
{
|
||||
FocusWindow(window);
|
||||
OpenPopupEx(id, false);
|
||||
}
|
||||
popup_open = !popup_open;
|
||||
OpenPopupEx(id, false);
|
||||
popup_open = true;
|
||||
}
|
||||
|
||||
if (!popup_open)
|
||||
|
|
Loading…
Reference in New Issue