summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGUI/GlyphMapWidget.cpp
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2023-03-03 19:32:19 +0100
committerAndreas Kling <kling@serenityos.org>2023-03-04 00:29:38 +0100
commitb71c7a6e44981c35ae93c91944e6cff70006285d (patch)
tree0b7fc5d68ed0559ecf6ce4db9a7f18f3334e3ee8 /Userland/Libraries/LibGUI/GlyphMapWidget.cpp
parent93c9344e3558fee71deb5067e68146582891b319 (diff)
downloadserenity-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.cpp22
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 } };
}