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 {