Store font ID with CacheKey

This commit is contained in:
Jeremy Soller 2022-10-24 11:47:49 -06:00
parent 1bce05d995
commit 81cc65ca01
No known key found for this signature in database
GPG key ID: 87F211AF2BE4C2FE
2 changed files with 4 additions and 2 deletions

View file

@ -1,5 +1,6 @@
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub struct CacheKey {
pub font_id: fontdb::ID,
pub glyph_id: u16,
pub font_size: i32,
pub x_bin: SubpixelBin,
@ -7,11 +8,12 @@ pub struct CacheKey {
}
impl CacheKey {
pub fn new(glyph_id: u16, font_size: i32, pos: (f32, f32)) -> (Self, i32, i32) {
pub fn new(font_id: fontdb::ID, glyph_id: u16, font_size: i32, pos: (f32, f32)) -> (Self, i32, i32) {
let (x, x_bin) = SubpixelBin::new(pos.0);
let (y, y_bin) = SubpixelBin::new(pos.1);
(
Self {
font_id,
glyph_id,
font_size,
x_bin,

View file

@ -17,7 +17,7 @@ impl<'a> FontShapeGlyph<'a> {
let y_offset = font_size as f32 * self.y_offset;
let x_advance = font_size as f32 * self.x_advance;
let inner = CacheKey::new(self.inner, font_size, (x + x_offset, y - y_offset));
let inner = CacheKey::new(self.font.info.id, self.inner, font_size, (x + x_offset, y - y_offset));
FontLayoutGlyph {
start: self.start,
end: self.end,