mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-30 00:31:14 +00:00
LibGUI: Round up font sizes in various widget size calculations
This commit is contained in:
parent
c44bc58aaa
commit
f1e0eb8a25
Notes:
sideshowbarker
2024-07-17 04:21:32 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/f1e0eb8a25
|
@ -279,8 +279,8 @@ Optional<UISize> Button::calculated_min_size() const
|
|||
|
||||
if (!text().is_empty()) {
|
||||
auto& font = this->font();
|
||||
horizontal = font.width(text()) + 2;
|
||||
vertical = font.glyph_height() + 4; // FIXME: Use actual maximum total height
|
||||
horizontal = static_cast<int>(ceilf(font.width(text()))) + 2;
|
||||
vertical = static_cast<int>(ceilf(font.pixel_size())) + 4; // FIXME: Use actual maximum total height
|
||||
}
|
||||
|
||||
if (m_icon) {
|
||||
|
|
|
@ -42,9 +42,9 @@ void CheckBox::paint_event(PaintEvent& event)
|
|||
auto text_rect = rect();
|
||||
if (m_checkbox_position == CheckBoxPosition::Left)
|
||||
text_rect.set_left(s_box_width + s_horizontal_padding);
|
||||
text_rect.set_width(font().width(text()));
|
||||
text_rect.set_top(height() / 2 - font().glyph_height() / 2);
|
||||
text_rect.set_height(font().glyph_height());
|
||||
text_rect.set_width(static_cast<int>(ceilf(font().width(text()))));
|
||||
text_rect.set_top(height() / 2 - static_cast<int>(ceilf(font().glyph_height()) / 2));
|
||||
text_rect.set_height(static_cast<int>(ceilf(font().glyph_height())));
|
||||
|
||||
if (fill_with_background_color())
|
||||
painter.fill_rect(rect(), palette().window());
|
||||
|
@ -85,7 +85,7 @@ void CheckBox::set_autosize(bool autosize)
|
|||
|
||||
void CheckBox::size_to_fit()
|
||||
{
|
||||
set_fixed_width(s_box_width + font().width(text()) + s_horizontal_padding * 2);
|
||||
set_fixed_width(s_box_width + static_cast<int>(ceilf(font().width(text()))) + s_horizontal_padding * 2);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ GroupBox::GroupBox(StringView title)
|
|||
Margins GroupBox::content_margins() const
|
||||
{
|
||||
return {
|
||||
(!m_title.is_empty() ? font().glyph_height() + 1 /*room for the focus rect*/ : 2),
|
||||
(!m_title.is_empty() ? static_cast<int>(ceilf(font().glyph_height())) + 1 /*room for the focus rect*/ : 2),
|
||||
2,
|
||||
2,
|
||||
2
|
||||
|
@ -38,7 +38,7 @@ void GroupBox::paint_event(PaintEvent& event)
|
|||
|
||||
Gfx::IntRect frame_rect {
|
||||
0, (!m_title.is_empty() ? font().glyph_height() / 2 : 0),
|
||||
width(), height() - (!m_title.is_empty() ? font().glyph_height() / 2 : 0)
|
||||
width(), height() - (!m_title.is_empty() ? static_cast<int>(ceilf(font().glyph_height())) / 2 : 0)
|
||||
};
|
||||
Gfx::StylePainter::paint_frame(painter, frame_rect, palette(), Gfx::FrameShape::Box, Gfx::FrameShadow::Sunken, 2);
|
||||
|
||||
|
|
|
@ -428,7 +428,7 @@ void IconView::get_item_rects(int item_index, ItemData& item_data, Gfx::Font con
|
|||
item_data.icon_offset_y = -font.glyph_height() - 6;
|
||||
item_data.icon_rect.translate_by(0, item_data.icon_offset_y);
|
||||
|
||||
int unwrapped_text_width = font.width(item_data.text);
|
||||
int unwrapped_text_width = static_cast<int>(ceilf(font.width(item_data.text)));
|
||||
int available_width = item_rect.width() - 6;
|
||||
|
||||
item_data.text_rect = { 0, item_data.icon_rect.bottom() + 6 + 1, 0, font.glyph_height() };
|
||||
|
|
|
@ -66,7 +66,7 @@ Optional<UISize> RadioButton::calculated_min_size() const
|
|||
int horizontal = 2 + 7, vertical = 0;
|
||||
auto& font = this->font();
|
||||
vertical = max(font.glyph_height(), circle_size().height());
|
||||
horizontal += font.width(text());
|
||||
horizontal += static_cast<int>(ceilf(font.width(text())));
|
||||
return UISize(horizontal, vertical);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue