diff options
author | 2023-09-04 21:03:16 -0400 | |
---|---|---|
committer | 2023-09-04 21:03:16 -0400 | |
commit | 20681b4777a1954e6b7f659d5bc1817f7924f40d (patch) | |
tree | 275022f958b7daa78c7979645aa0a227aaf274cf /tiny_skia | |
parent | ef429fbea6e39efcfdc58fdd8a2fe365fd5314d9 (diff) | |
download | iced-20681b4777a1954e6b7f659d5bc1817f7924f40d.tar.gz iced-20681b4777a1954e6b7f659d5bc1817f7924f40d.tar.bz2 iced-20681b4777a1954e6b7f659d5bc1817f7924f40d.zip |
Ensure LineHeight is always > 0.0 for tiny skia.
Diffstat (limited to 'tiny_skia')
-rw-r--r-- | tiny_skia/src/text.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/tiny_skia/src/text.rs b/tiny_skia/src/text.rs index 08fde4bf..9b949218 100644 --- a/tiny_skia/src/text.rs +++ b/tiny_skia/src/text.rs @@ -54,7 +54,8 @@ impl Pipeline { pixels: &mut tiny_skia::PixmapMut<'_>, clip_mask: Option<&tiny_skia::Mask>, ) { - let line_height = f32::from(line_height.to_absolute(Pixels(size))); + let line_height = f32::from(line_height.to_absolute(Pixels(size))) + .max(f32::MIN_POSITIVE); let font_system = self.font_system.get_mut(); let key = Key { @@ -134,7 +135,8 @@ impl Pipeline { ) -> Size { let mut measurement_cache = self.cache.borrow_mut(); - let line_height = f32::from(line_height.to_absolute(Pixels(size))); + let line_height = f32::from(line_height.to_absolute(Pixels(size))) + .max(f32::MIN_POSITIVE); let (_, entry) = measurement_cache.allocate( &mut self.font_system.borrow_mut(), @@ -164,7 +166,8 @@ impl Pipeline { ) -> Option<Hit> { let mut measurement_cache = self.cache.borrow_mut(); - let line_height = f32::from(line_height.to_absolute(Pixels(size))); + let line_height = f32::from(line_height.to_absolute(Pixels(size))) + .max(f32::MIN_POSITIVE); let (_, entry) = measurement_cache.allocate( &mut self.font_system.borrow_mut(), @@ -405,7 +408,10 @@ impl Cache { } if let hash_map::Entry::Vacant(entry) = self.entries.entry(hash) { - let metrics = cosmic_text::Metrics::new(key.size, key.size * 1.2); + let metrics = cosmic_text::Metrics::new( + key.size, + (key.size * 1.2).max(f32::MIN_POSITIVE), + ); let mut buffer = cosmic_text::Buffer::new(font_system, metrics); buffer.set_size( |