|
@@ -5704,8 +5704,8 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl
|
|
|
ItemSize(size, 0.0f);
|
|
|
|
|
|
// Fill horizontal space
|
|
|
- const float min_x = (flags & ImGuiSelectableFlags_SpanAllColumns) ? window->ContentRegionRect.Min.x : pos.x;
|
|
|
- const float max_x = (flags & ImGuiSelectableFlags_SpanAllColumns) ? window->ContentRegionRect.Max.x : GetContentRegionMaxAbs().x;
|
|
|
+ const float min_x = (flags & ImGuiSelectableFlags_SpanAllColumns) ? window->ParentWorkRect.Min.x : pos.x;
|
|
|
+ const float max_x = (flags & ImGuiSelectableFlags_SpanAllColumns) ? window->ParentWorkRect.Max.x : window->WorkRect.Max.x;
|
|
|
if (size_arg.x == 0.0f || (flags & ImGuiSelectableFlags_SpanAvailWidth))
|
|
|
size.x = ImMax(label_size.x, max_x - min_x);
|
|
|
|
|
@@ -7665,7 +7665,8 @@ void ImGui::BeginColumns(const char* str_id, int columns_count, ImGuiColumnsFlag
|
|
|
columns->HostCursorPosY = window->DC.CursorPos.y;
|
|
|
columns->HostCursorMaxPosX = window->DC.CursorMaxPos.x;
|
|
|
columns->HostInitialClipRect = window->ClipRect;
|
|
|
- columns->HostWorkRect = window->WorkRect;
|
|
|
+ columns->HostBackupParentWorkRect = window->ParentWorkRect;
|
|
|
+ window->ParentWorkRect = window->WorkRect;
|
|
|
|
|
|
// Set state for first column
|
|
|
// We aim so that the right-most column will have the same clipping width as other after being clipped by parent ClipRect
|
|
@@ -7845,7 +7846,8 @@ void ImGui::EndColumns()
|
|
|
}
|
|
|
columns->IsBeingResized = is_being_resized;
|
|
|
|
|
|
- window->WorkRect = columns->HostWorkRect;
|
|
|
+ window->WorkRect = window->ParentWorkRect;
|
|
|
+ window->ParentWorkRect = columns->HostBackupParentWorkRect;
|
|
|
window->DC.CurrentColumns = NULL;
|
|
|
window->DC.ColumnsOffset.x = 0.0f;
|
|
|
window->DC.CursorPos.x = IM_FLOOR(window->Pos.x + window->DC.Indent.x + window->DC.ColumnsOffset.x);
|