Merge branch 'advanced-text' into feature/software-renderer

This commit is contained in:
Héctor Ramón Jiménez 2023-03-04 05:51:05 +01:00
commit bacbaeed99
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
2 changed files with 12 additions and 18 deletions

View file

@ -55,7 +55,7 @@ path = "../graphics"
[dependencies.glyphon]
version = "0.2"
git = "https://github.com/hecrj/glyphon.git"
rev = "65b481d758f50fd13fc21af2cc5ef62ddee64955"
rev = "810bc979f9005e2bd343b72b980e57e46174283f"
[dependencies.encase]
version = "0.3.0"

View file

@ -1,6 +1,6 @@
use crate::core::alignment;
use crate::core::text::Hit;
use crate::core::{Color, Font, Point, Rectangle, Size};
use crate::core::{Font, Point, Rectangle, Size};
use crate::layer::Text;
use rustc_hash::{FxHashMap, FxHashSet};
@ -109,7 +109,6 @@ impl Pipeline {
height: (section.bounds.height * scale_factor)
.ceil(),
},
color: section.color,
},
);
@ -161,6 +160,16 @@ impl Pipeline {
left: left as i32,
top: top as i32,
bounds,
default_color: {
let [r, g, b, a] = section.color.into_linear();
glyphon::Color::rgba(
(r * 255.0) as u8,
(g * 255.0) as u8,
(b * 255.0) as u8,
(a * 255.0) as u8,
)
},
}
});
@ -173,7 +182,6 @@ impl Pipeline {
height: target_size.height,
},
text_areas,
glyphon::Color::rgb(0, 0, 0),
&mut glyphon::SwashCache::new(fields.fonts),
);
@ -248,7 +256,6 @@ impl Pipeline {
size,
font,
bounds,
color: Color::BLACK,
},
);
@ -282,7 +289,6 @@ impl Pipeline {
size,
font,
bounds,
color: Color::BLACK,
},
);
@ -353,7 +359,6 @@ impl<'a> Cache<'a> {
key.font.hash(&mut hasher);
key.bounds.width.to_bits().hash(&mut hasher);
key.bounds.height.to_bits().hash(&mut hasher);
key.color.into_rgba8().hash(&mut hasher);
hasher.finish()
};
@ -370,16 +375,6 @@ impl<'a> Cache<'a> {
key.content,
glyphon::Attrs::new()
.family(to_family(key.font))
.color({
let [r, g, b, a] = key.color.into_linear();
glyphon::Color::rgba(
(r * 255.0) as u8,
(g * 255.0) as u8,
(b * 255.0) as u8,
(a * 255.0) as u8,
)
})
.monospaced(matches!(key.font, Font::Monospace)),
);
@ -411,7 +406,6 @@ struct Key<'a> {
size: f32,
font: Font,
bounds: Size,
color: Color,
}
type KeyHash = u64;