diff options
author | Andreas Kling <kling@serenityos.org> | 2023-03-03 19:32:19 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2023-03-04 00:29:38 +0100 |
commit | b71c7a6e44981c35ae93c91944e6cff70006285d (patch) | |
tree | 0b7fc5d68ed0559ecf6ce4db9a7f18f3334e3ee8 /Userland/Libraries/LibGUI/GlyphMapWidget.cpp | |
parent | 93c9344e3558fee71deb5067e68146582891b319 (diff) | |
download | serenity-b71c7a6e44981c35ae93c91944e6cff70006285d.zip |
Userland: Use Font::pixel_size_rounded_up() instead of glyph_height()
The only remaining clients of this API are specific to bitmap fonts and
editing thereof.
Diffstat (limited to 'Userland/Libraries/LibGUI/GlyphMapWidget.cpp')
-rw-r--r-- | Userland/Libraries/LibGUI/GlyphMapWidget.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/Userland/Libraries/LibGUI/GlyphMapWidget.cpp b/Userland/Libraries/LibGUI/GlyphMapWidget.cpp index 2efdd54ec2..e63e3de1ab 100644 --- a/Userland/Libraries/LibGUI/GlyphMapWidget.cpp +++ b/Userland/Libraries/LibGUI/GlyphMapWidget.cpp @@ -102,9 +102,9 @@ Gfx::IntRect GlyphMapWidget::get_outer_rect(int glyph) const int column = glyph % columns(); return Gfx::IntRect { column * (font().max_glyph_width() + m_horizontal_spacing), - row * (font().glyph_height() + m_vertical_spacing), + row * (font().pixel_size_rounded_up() + m_vertical_spacing), font().max_glyph_width() + m_horizontal_spacing, - font().glyph_height() + m_vertical_spacing + font().pixel_size_rounded_up() + m_vertical_spacing } .translated(frame_thickness() - horizontal_scrollbar().value(), frame_thickness() - vertical_scrollbar().value()); } @@ -136,7 +136,7 @@ void GlyphMapWidget::paint_event(PaintEvent& event) outer_rect.x() + m_horizontal_spacing / 2, outer_rect.y() + m_vertical_spacing / 2, font().max_glyph_width(), - font().glyph_height()); + font().pixel_size_rounded_up()); if (m_selection.contains(glyph)) { painter.fill_rect(outer_rect, is_focused() ? palette().selection() : palette().inactive_selection()); if (font().contains_glyph(glyph)) @@ -184,7 +184,7 @@ Optional<int> GlyphMapWidget::glyph_at_position(Gfx::IntPoint position) const Gfx::IntPoint map_offset { frame_thickness() - horizontal_scrollbar().value(), frame_thickness() - vertical_scrollbar().value() }; auto map_position = position - map_offset; auto col = (map_position.x() - 1) / ((font().max_glyph_width() + m_horizontal_spacing)); - auto row = (map_position.y() - 1) / ((font().glyph_height() + m_vertical_spacing)); + auto row = (map_position.y() - 1) / ((font().pixel_size_rounded_up() + m_vertical_spacing)); auto glyph = row * columns() + col + m_active_range.first; if (row >= 0 && row < rows() && col >= 0 && col < columns() && glyph < m_glyph_count + m_active_range.first) return glyph; @@ -197,7 +197,7 @@ int GlyphMapWidget::glyph_at_position_clamped(Gfx::IntPoint position) const Gfx::IntPoint map_offset { frame_thickness() - horizontal_scrollbar().value(), frame_thickness() - vertical_scrollbar().value() }; auto map_position = position - map_offset; auto col = clamp((map_position.x() - 1) / ((font().max_glyph_width() + m_horizontal_spacing)), 0, columns() - 1); - auto row = clamp((map_position.y() - 1) / ((font().glyph_height() + m_vertical_spacing)), 0, rows() - 1); + auto row = clamp((map_position.y() - 1) / ((font().pixel_size_rounded_up() + m_vertical_spacing)), 0, rows() - 1); auto glyph = row * columns() + col + m_active_range.first; if (row == rows() - 1) glyph = min(glyph, m_glyph_count + m_active_range.first - 1); @@ -448,7 +448,7 @@ void GlyphMapWidget::keydown_event(KeyEvent& event) void GlyphMapWidget::did_change_font() { recalculate_content_size(); - vertical_scrollbar().set_step(font().glyph_height() + m_vertical_spacing); + vertical_scrollbar().set_step(font().pixel_size_rounded_up() + m_vertical_spacing); } void GlyphMapWidget::scroll_to_glyph(int glyph) @@ -458,9 +458,9 @@ void GlyphMapWidget::scroll_to_glyph(int glyph) int column = glyph % columns(); auto scroll_rect = Gfx::IntRect { column * (font().max_glyph_width() + m_horizontal_spacing), - row * (font().glyph_height() + m_vertical_spacing), + row * (font().pixel_size_rounded_up() + m_vertical_spacing), font().max_glyph_width() + m_horizontal_spacing, - font().glyph_height() + m_vertical_spacing + font().pixel_size_rounded_up() + m_vertical_spacing }; scroll_into_view(scroll_rect, true, true); } @@ -515,12 +515,12 @@ void GlyphMapWidget::recalculate_content_size() m_rows = ceil_div(m_glyph_count, m_columns); constexpr auto overdraw_margins = 2; - auto max_visible_rows = event_height / (font().glyph_height() + m_vertical_spacing); + auto max_visible_rows = event_height / (font().pixel_size_rounded_up() + m_vertical_spacing); m_visible_rows = min(max_visible_rows, m_rows); m_visible_glyphs = (m_visible_rows + overdraw_margins) * m_columns; int content_width = columns() * (font().max_glyph_width() + m_horizontal_spacing); - int content_height = rows() * (font().glyph_height() + m_vertical_spacing); + int content_height = rows() * (font().pixel_size_rounded_up() + m_vertical_spacing); set_content_size({ content_width, content_height }); scroll_to_glyph(m_active_glyph); @@ -590,7 +590,7 @@ void GlyphMapWidget::leave_event(Core::Event&) Optional<UISize> GlyphMapWidget::calculated_min_size() const { auto scrollbar = vertical_scrollbar().effective_min_size().height().as_int(); - auto min_height = max(font().glyph_height() + m_vertical_spacing, scrollbar); + auto min_height = max(font().pixel_size_rounded_up() + m_vertical_spacing, scrollbar); auto min_width = font().max_glyph_width() + m_horizontal_spacing + width_occupied_by_vertical_scrollbar(); return { { min_width + frame_thickness() * 2, min_height + frame_thickness() * 2 } }; } |