mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 01:17:00 +00:00
Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
Avoid width variation when resizing down a table hosting a child window. + shallow tweak to GetContentRegionMax().
This commit is contained in:
parent
e5977f05d8
commit
2bc5d17ac3
@ -64,6 +64,9 @@ Other changes:
|
|||||||
- InputText: Fixed a case where deactivation frame would write to underlying
|
- InputText: Fixed a case where deactivation frame would write to underlying
|
||||||
buffer or call CallbackResize although unnecessary, in a frame where the
|
buffer or call CallbackResize although unnecessary, in a frame where the
|
||||||
return value was false.
|
return value was false.
|
||||||
|
- Tables: fixed calculation of multi-instance shared decoration/scrollbar width of
|
||||||
|
scrolling tables, to avoid flickering width variation when resizing down a table
|
||||||
|
hosting a child window. (#5920, #6619)
|
||||||
- Scrollbar: layout needs to take account of window border size, so a border size
|
- Scrollbar: layout needs to take account of window border size, so a border size
|
||||||
will slightly reduce scrollbar size. Generally we tried to make it that window
|
will slightly reduce scrollbar size. Generally we tried to make it that window
|
||||||
border size has no incidence on layout but this can't work with thick borders. (#2522)
|
border size has no incidence on layout but this can't work with thick borders. (#2522)
|
||||||
|
@ -6738,6 +6738,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
|
|||||||
|
|
||||||
// [LEGACY] Content Region
|
// [LEGACY] Content Region
|
||||||
// FIXME-OBSOLETE: window->ContentRegionRect.Max is currently very misleading / partly faulty, but some BeginChild() patterns relies on it.
|
// FIXME-OBSOLETE: window->ContentRegionRect.Max is currently very misleading / partly faulty, but some BeginChild() patterns relies on it.
|
||||||
|
// Unless explicit content size is specified by user, this currently represent the region leading to no scrolling.
|
||||||
// Used by:
|
// Used by:
|
||||||
// - Mouse wheel scrolling + many other things
|
// - Mouse wheel scrolling + many other things
|
||||||
window->ContentRegionRect.Min.x = window->Pos.x - window->Scroll.x + window->WindowPadding.x + window->DecoOuterSizeX1;
|
window->ContentRegionRect.Min.x = window->Pos.x - window->Scroll.x + window->WindowPadding.x + window->DecoOuterSizeX1;
|
||||||
@ -9773,10 +9774,10 @@ ImVec2 ImGui::GetContentRegionMax()
|
|||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
ImGuiWindow* window = g.CurrentWindow;
|
ImGuiWindow* window = g.CurrentWindow;
|
||||||
ImVec2 mx = window->ContentRegionRect.Max - window->Pos;
|
ImVec2 mx = window->ContentRegionRect.Max;
|
||||||
if (window->DC.CurrentColumns || g.CurrentTable)
|
if (window->DC.CurrentColumns || g.CurrentTable)
|
||||||
mx.x = window->WorkRect.Max.x - window->Pos.x;
|
mx.x = window->WorkRect.Max.x;
|
||||||
return mx;
|
return mx - window->Pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
// [Internal] Absolute coordinate. Saner. This is not exposed until we finishing refactoring work rect features.
|
// [Internal] Absolute coordinate. Saner. This is not exposed until we finishing refactoring work rect features.
|
||||||
|
2
imgui.h
2
imgui.h
@ -26,7 +26,7 @@
|
|||||||
// Library Version
|
// Library Version
|
||||||
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
|
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
|
||||||
#define IMGUI_VERSION "1.89.8 WIP"
|
#define IMGUI_VERSION "1.89.8 WIP"
|
||||||
#define IMGUI_VERSION_NUM 18973
|
#define IMGUI_VERSION_NUM 18974
|
||||||
#define IMGUI_HAS_TABLE
|
#define IMGUI_HAS_TABLE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -410,7 +410,7 @@ bool ImGui::BeginTableEx(const char* name, ImGuiID id, int columns_count, ImG
|
|||||||
table->HasScrollbarYPrev = table->HasScrollbarYCurr;
|
table->HasScrollbarYPrev = table->HasScrollbarYCurr;
|
||||||
table->HasScrollbarYCurr = false;
|
table->HasScrollbarYCurr = false;
|
||||||
}
|
}
|
||||||
table->HasScrollbarYCurr |= (table->InnerWindow->ScrollMax.y > 0.0f);
|
table->HasScrollbarYCurr |= table->InnerWindow->ScrollbarY;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user