Update cosmic-text to 0.19

This commit is contained in:
Héctor Ramón Jiménez 2026-04-23 19:43:09 +09:00
parent 1d68895e9c
commit e429a025df
No known key found for this signature in database
5 changed files with 9 additions and 15 deletions

View file

@ -10,7 +10,7 @@ license = "MIT OR Apache-2.0 OR Zlib"
[dependencies]
wgpu = { version = "28", default-features = false, features = ["wgsl"] }
etagere = "0.2"
cosmic-text = "0.18"
cosmic-text = "0.19"
lru = { version = "0.16", default-features = false }
rustc-hash = "2"

View file

@ -73,8 +73,8 @@ fn run_bench(ctx: &mut Criterion) {
.copied()
.map(|s| {
let mut text_buffer = Buffer::new(&mut font_system, Metrics::relative(1.0, 10.0));
text_buffer.set_size(&mut font_system, Some(20.0), None);
text_buffer.set_text(&mut font_system, s, &attrs, shaping, None);
text_buffer.set_size(Some(20.0), None);
text_buffer.set_text(s, &attrs, shaping, None);
text_buffer.shape_until_scroll(&mut font_system, false);
text_buffer
})
@ -85,7 +85,7 @@ fn run_bench(ctx: &mut Criterion) {
let text_areas: Vec<TextArea> = buffers
.iter()
.map(|b| TextArea {
buffer: b,
text: b.layout_runs(),
left: 0.0,
top: 0.0,
scale: 1.0,

View file

@ -82,12 +82,8 @@ impl WindowState {
let physical_width = (physical_size.width as f64 * scale_factor) as f32;
let physical_height = (physical_size.height as f64 * scale_factor) as f32;
text_buffer.set_size(
&mut font_system,
Some(physical_width),
Some(physical_height),
);
text_buffer.set_text(&mut font_system, "Hello world! 👋\nThis is rendered with 🦅 glyphon 🦁\nThe text below should be partially clipped.\na b c d e f g h i j k l m n o p q r s t u v w x y z", &Attrs::new().family(Family::SansSerif), Shaping::Advanced, None);
text_buffer.set_size(Some(physical_width), Some(physical_height));
text_buffer.set_text("Hello world! 👋\nThis is rendered with 🦅 glyphon 🦁\nThe text below should be partially clipped.\na b c d e f g h i j k l m n o p q r s t u v w x y z", &Attrs::new().family(Family::SansSerif), Shaping::Advanced, None);
text_buffer.shape_until_scroll(&mut font_system, false);
Self {
@ -179,7 +175,7 @@ impl winit::application::ApplicationHandler for Application {
atlas,
viewport,
[TextArea {
buffer: text_buffer,
text: text_buffer.layout_runs(),
left: 10.0,
top: 10.0,
scale: 1.0,

View file

@ -102,10 +102,9 @@ impl Default for TextBounds {
}
/// A text area containing text to be rendered along with its overflow behavior.
#[derive(Clone)]
pub struct TextArea<'a> {
/// The buffer containing the text to be rendered.
pub buffer: &'a Buffer,
pub text: LayoutRunIter<'a>,
/// The left edge of the buffer.
pub left: f32,
/// The top edge of the buffer.

View file

@ -81,8 +81,7 @@ impl TextRenderer {
};
let layout_runs = text_area
.buffer
.layout_runs()
.text
.skip_while(|run| !is_run_visible(run))
.take_while(is_run_visible);