Only render visible content in TextView

This commit is contained in:
FliegendeWurst 2021-05-15 12:28:11 +02:00 committed by GitHub
parent 4d49b4c1d1
commit 79bfabbc66
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -394,8 +394,13 @@ impl View for TextView {
let content = self.content.content.lock().unwrap(); let content = self.content.content.lock().unwrap();
let miny = printer.content_offset.y;
let maxy = printer.output_size.y + printer.content_offset.y;
printer.with_style(self.style, |printer| { printer.with_style(self.style, |printer| {
for (y, row) in self.rows.iter().enumerate() { for (y, row) in self.rows.iter().enumerate() {
if y < miny || y >= maxy {
continue;
}
let l = row.width; let l = row.width;
let mut x = self.align.h.get_offset(l, printer.size.x); let mut x = self.align.h.get_offset(l, printer.size.x);