Allow for undefined buffer width and/or height, fixes #70

This commit is contained in:
Jeremy Soller 2024-06-12 09:04:04 -06:00
parent cd1cd0a337
commit 93a7df859a
15 changed files with 99 additions and 72 deletions

View file

@ -89,8 +89,8 @@ impl DrawTestCfg {
let mut buffer = buffer.borrow_with(&mut font_system);
let margins = 5;
buffer.set_size(
(self.canvas_width - margins * 2) as f32,
(self.canvas_height - margins * 2) as f32,
Some((self.canvas_width - margins * 2) as f32),
Some((self.canvas_height - margins * 2) as f32),
);
buffer.set_text(&self.text, self.font.as_attrs(), Shaping::Advanced);
buffer.shape_until_scroll(true);

View file

@ -108,7 +108,7 @@ fn wrap_extra_line() {
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);
// Set a size for the text buffer, in pixels
buffer.set_size(50.0, 1000.0);
buffer.set_size(Some(50.0), Some(1000.0));
// Perform shaping as desired
buffer.shape_until_scroll(false);

View file

@ -16,17 +16,17 @@ fn wrap_word_fallback() {
buffer.set_wrap(Wrap::WordOrGlyph);
buffer.set_text("Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.", Attrs::new().family(cosmic_text::Family::Name("Inter")), Shaping::Advanced);
buffer.set_size(50.0, 1000.0);
buffer.set_size(Some(50.0), Some(1000.0));
buffer.shape_until_scroll(false);
let measured_size = measure(&buffer);
assert!(
measured_size <= buffer.size().0,
measured_size <= buffer.size().0.unwrap_or(0.0),
"Measured width is larger than buffer width\n{} <= {}",
measured_size,
buffer.size().0
buffer.size().0.unwrap_or(0.0)
);
}