feat: buffer setter methods are now lazy

This commit is contained in:
Hojjat 2026-02-25 23:14:56 -07:00 committed by Jeremy Soller
parent e5926aec74
commit 626f44dad8
14 changed files with 388 additions and 240 deletions

View file

@ -117,15 +117,10 @@ fn wrap_extra_line() {
let mut buffer = buffer.borrow_with(&mut font_system);
// Add some text!
// Configure wrap and size, then add text
buffer.set_wrap(Wrap::Word);
buffer.set_text("Lorem ipsum dolor sit amet, qui minim labore adipisicing\n\nweeewoooo minim sint cillum sint consectetur cupidatat.", &Attrs::new().family(cosmic_text::Family::Name("Inter")), Shaping::Advanced, None);
// Set a size for the text buffer, in pixels
buffer.set_size(Some(50.0), Some(1000.0));
// Perform shaping as desired
buffer.shape_until_scroll(false);
buffer.set_text("Lorem ipsum dolor sit amet, qui minim labore adipisicing\n\nweeewoooo minim sint cillum sint consectetur cupidatat.", &Attrs::new().family(cosmic_text::Family::Name("Inter")), Shaping::Advanced, None);
let empty_lines = buffer.layout_runs().filter(|x| x.line_w == 0.).count();
let overflow_lines = buffer.layout_runs().filter(|x| x.line_w > 50.).count();