mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 01:17:00 +00:00
WIP Menus: don't clamp windows within display when a position has been explicitly set by user. Menu item spacing uses ItemSpacing. (#126)
This commit is contained in:
parent
e7097d6176
commit
e6b1e39847
@ -3577,7 +3577,7 @@ bool ImGui::Begin(const char* name, bool* p_opened, const ImVec2& size_on_first_
|
|||||||
// Clamp into display
|
// Clamp into display
|
||||||
if (!(flags & ImGuiWindowFlags_ChildWindow) && !(flags & ImGuiWindowFlags_Tooltip))
|
if (!(flags & ImGuiWindowFlags_ChildWindow) && !(flags & ImGuiWindowFlags_Tooltip))
|
||||||
{
|
{
|
||||||
if (window->AutoFitFrames <= 0 && g.IO.DisplaySize.x > 0.0f && g.IO.DisplaySize.y > 0.0f) // Ignore zero-sized display explicitly to avoid losing positions if a window manager reports zero-sized window when initializing or minimizing.
|
if (!window_pos_set_by_api && window->AutoFitFrames <= 0 && g.IO.DisplaySize.x > 0.0f && g.IO.DisplaySize.y > 0.0f) // Ignore zero-sized display explicitly to avoid losing positions if a window manager reports zero-sized window when initializing or minimizing.
|
||||||
{
|
{
|
||||||
ImVec2 padding = ImMax(style.DisplayWindowPadding, style.DisplaySafeAreaPadding);
|
ImVec2 padding = ImMax(style.DisplayWindowPadding, style.DisplaySafeAreaPadding);
|
||||||
window->PosFloat = ImMax(window->PosFloat + window->Size, padding) - window->Size;
|
window->PosFloat = ImMax(window->PosFloat + window->Size, padding) - window->Size;
|
||||||
@ -3741,7 +3741,7 @@ bool ImGui::Begin(const char* name, bool* p_opened, const ImVec2& size_on_first_
|
|||||||
window->DC.TreeDepth = 0;
|
window->DC.TreeDepth = 0;
|
||||||
window->DC.StateStorage = &window->StateStorage;
|
window->DC.StateStorage = &window->StateStorage;
|
||||||
window->DC.GroupStack.resize(0);
|
window->DC.GroupStack.resize(0);
|
||||||
window->MenuColumns.Update(3, style.ItemInnerSpacing.x, !window_was_visible);
|
window->MenuColumns.Update(3, style.ItemSpacing.x, !window_was_visible);
|
||||||
|
|
||||||
if (window->AutoFitFrames > 0)
|
if (window->AutoFitFrames > 0)
|
||||||
window->AutoFitFrames--;
|
window->AutoFitFrames--;
|
||||||
|
Loading…
Reference in New Issue
Block a user