mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-20 09:49:15 +03:00
LibGUI: Consider content_margins for BoxLayout
This commit is contained in:
parent
4955769ab8
commit
70e5a77794
Notes:
sideshowbarker
2024-07-18 01:31:37 +09:00
Author: https://github.com/frhun Commit: https://github.com/SerenityOS/serenity/commit/70e5a77794f Pull-request: https://github.com/SerenityOS/serenity/pull/10246 Issue: https://github.com/SerenityOS/serenity/issues/5887 Reviewed-by: https://github.com/alimpfard Reviewed-by: https://github.com/awesomekling
@ -33,6 +33,7 @@ Gfx::IntSize BoxLayout::preferred_size() const
|
||||
|
||||
int BoxLayout::preferred_primary_size() const
|
||||
{
|
||||
auto widget = verify_cast<GUI::Widget>(parent());
|
||||
int size = 0;
|
||||
|
||||
for (auto& entry : m_entries) {
|
||||
@ -52,10 +53,11 @@ int BoxLayout::preferred_primary_size() const
|
||||
if (size > 0)
|
||||
size -= spacing();
|
||||
|
||||
auto content_margins = widget->content_margins();
|
||||
if (orientation() == Gfx::Orientation::Horizontal)
|
||||
size += margins().left() + margins().right();
|
||||
size += margins().left() + margins().right() + content_margins.left() + content_margins.right();
|
||||
else
|
||||
size += margins().top() + margins().bottom();
|
||||
size += margins().top() + margins().bottom() + content_margins.top() + content_margins.bottom();
|
||||
|
||||
if (!size)
|
||||
return -1;
|
||||
@ -64,6 +66,7 @@ int BoxLayout::preferred_primary_size() const
|
||||
|
||||
int BoxLayout::preferred_secondary_size() const
|
||||
{
|
||||
auto widget = verify_cast<GUI::Widget>(parent());
|
||||
int size = 0;
|
||||
for (auto& entry : m_entries) {
|
||||
if (!entry.widget || !entry.widget->is_visible())
|
||||
@ -77,10 +80,11 @@ int BoxLayout::preferred_secondary_size() const
|
||||
size = max(min_size, size);
|
||||
}
|
||||
|
||||
auto content_margins = widget->content_margins();
|
||||
if (orientation() == Gfx::Orientation::Horizontal)
|
||||
size += margins().top() + margins().bottom();
|
||||
size += margins().top() + margins().bottom() + content_margins.top() + content_margins.bottom();
|
||||
else
|
||||
size += margins().left() + margins().right();
|
||||
size += margins().left() + margins().right() + content_margins.left() + content_margins.right();
|
||||
|
||||
if (!size)
|
||||
return -1;
|
||||
|
Loading…
Reference in New Issue
Block a user