From 431163dc3566aef1ffee123f1e2d07e36007e361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Fri, 16 Jun 2023 02:25:45 +0200 Subject: [PATCH] Consider the `centering_offset` for visibility in `LayoutRunIter` --- src/buffer.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/buffer.rs b/src/buffer.rs index 8879160..a98f58c 100644 --- a/src/buffer.rs +++ b/src/buffer.rs @@ -247,14 +247,13 @@ impl<'b> Iterator for LayoutRunIter<'b> { } let line_y = self.line_i as f32 * self.buffer.metrics.line_height; - - if line_y > self.buffer.height { - return None; - } - let glyph_height = layout_line.max_ascent + layout_line.max_descent; let centering_offset = (self.buffer.metrics.line_height - glyph_height) / 2.0; + if line_y + centering_offset > self.buffer.height { + return None; + } + return self.remaining_len.checked_sub(1).map(|num| { self.remaining_len = num; LayoutRun {