Introduce text::Shaping enum and replace magic boolean

This commit is contained in:
Héctor Ramón Jiménez 2023-04-19 02:00:45 +02:00
parent 33b5a90019
commit 4bd290afe7
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
25 changed files with 203 additions and 132 deletions

View file

@ -1,6 +1,6 @@
use crate::core::alignment;
use crate::core::font::{self, Font};
use crate::core::text::Hit;
use crate::core::text::{Hit, Shaping};
use crate::core::{Point, Rectangle, Size};
use crate::layer::Text;
@ -83,7 +83,7 @@ impl Pipeline {
height: (section.bounds.height * scale_factor)
.ceil(),
},
advanced_shape: section.advanced_shape,
shaping: section.shaping,
},
);
@ -214,7 +214,7 @@ impl Pipeline {
size: f32,
font: Font,
bounds: Size,
advanced_shape: bool,
shaping: Shaping,
) -> (f32, f32) {
let mut measurement_cache = self.measurement_cache.borrow_mut();
@ -225,7 +225,7 @@ impl Pipeline {
size,
font,
bounds,
advanced_shape,
shaping,
},
);
@ -245,9 +245,9 @@ impl Pipeline {
size: f32,
font: Font,
bounds: Size,
shaping: Shaping,
point: Point,
_nearest_only: bool,
advanced_shape: bool,
) -> Option<Hit> {
let mut measurement_cache = self.measurement_cache.borrow_mut();
@ -258,7 +258,7 @@ impl Pipeline {
size,
font,
bounds,
advanced_shape,
shaping,
},
);
@ -369,7 +369,7 @@ impl Cache {
.family(to_family(key.font.family))
.weight(to_weight(key.font.weight))
.stretch(to_stretch(key.font.stretch)),
!key.advanced_shape,
matches!(key.shaping, Shaping::Basic),
);
let _ = entry.insert(buffer);
@ -394,7 +394,7 @@ struct Key<'a> {
size: f32,
font: Font,
bounds: Size,
advanced_shape: bool,
shaping: Shaping,
}
type KeyHash = u64;