mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-22 11:57:00 +00:00
Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
This commit is contained in:
parent
2c07d581de
commit
1107bffe84
@ -87,6 +87,8 @@ Other changes:
|
|||||||
- Mostly legacy behavior when used inside old Columns(), as we favored that idiom back then,
|
- Mostly legacy behavior when used inside old Columns(), as we favored that idiom back then,
|
||||||
only different is left position follows indentation level, to match calling a Separator()
|
only different is left position follows indentation level, to match calling a Separator()
|
||||||
inside or outside Columns().
|
inside or outside Columns().
|
||||||
|
- Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value
|
||||||
|
to false when popup is closed in ways other than clicking the close button. (#6900)
|
||||||
- Drag and Drop: Rework drop target highlight: reduce rectangle to its visible portion, and
|
- Drag and Drop: Rework drop target highlight: reduce rectangle to its visible portion, and
|
||||||
then expand slightly. A full rectangle is always visible and it may protrude slightly. (#4281, #3272)
|
then expand slightly. A full rectangle is always visible and it may protrude slightly. (#4281, #3272)
|
||||||
- Drag and Drop: Fixed submitting a tooltip from drop target location when using AcceptDragDropPayload()
|
- Drag and Drop: Fixed submitting a tooltip from drop target location when using AcceptDragDropPayload()
|
||||||
|
@ -10577,7 +10577,9 @@ bool ImGui::BeginPopup(const char* str_id, ImGuiWindowFlags flags)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If 'p_open' is specified for a modal popup window, the popup will have a regular close button which will close the popup.
|
// If 'p_open' is specified for a modal popup window, the popup will have a regular close button which will close the popup.
|
||||||
// Note that popup visibility status is owned by Dear ImGui (and manipulated with e.g. OpenPopup) so the actual value of *p_open is meaningless here.
|
// Note that popup visibility status is owned by Dear ImGui (and manipulated with e.g. OpenPopup).
|
||||||
|
// - *p_open set back to false in BeginPopupModal() when popup is not open.
|
||||||
|
// - if you set *p_open to false before calling BeginPopupModal(), it will close the popup.
|
||||||
bool ImGui::BeginPopupModal(const char* name, bool* p_open, ImGuiWindowFlags flags)
|
bool ImGui::BeginPopupModal(const char* name, bool* p_open, ImGuiWindowFlags flags)
|
||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
@ -10586,6 +10588,8 @@ bool ImGui::BeginPopupModal(const char* name, bool* p_open, ImGuiWindowFlags fla
|
|||||||
if (!IsPopupOpen(id, ImGuiPopupFlags_None))
|
if (!IsPopupOpen(id, ImGuiPopupFlags_None))
|
||||||
{
|
{
|
||||||
g.NextWindowData.ClearFlags(); // We behave like Begin() and need to consume those values
|
g.NextWindowData.ClearFlags(); // We behave like Begin() and need to consume those values
|
||||||
|
if (p_open && *p_open)
|
||||||
|
*p_open = false;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user