diff --git a/tiny_skia/src/text.rs b/tiny_skia/src/text.rs index dfd4d5f8..add4dee8 100644 --- a/tiny_skia/src/text.rs +++ b/tiny_skia/src/text.rs @@ -15,7 +15,6 @@ use std::collections::hash_map; pub struct Pipeline { glyph_cache: GlyphCache, cache: RefCell, - swash_cache: cosmic_text::SwashCache, } impl Pipeline { @@ -23,7 +22,6 @@ impl Pipeline { Pipeline { glyph_cache: GlyphCache::new(), cache: RefCell::new(Cache::new()), - swash_cache: cosmic_text::SwashCache::new(), } } @@ -56,7 +54,6 @@ impl Pipeline { draw( font_system.raw(), &mut self.glyph_cache, - &mut self.swash_cache, paragraph.buffer(), position, color, @@ -84,7 +81,6 @@ impl Pipeline { draw( font_system.raw(), &mut self.glyph_cache, - &mut self.swash_cache, editor.buffer(), position, color, @@ -146,7 +142,6 @@ impl Pipeline { draw( font_system, &mut self.glyph_cache, - &mut self.swash_cache, &entry.buffer, Point::new(x, y), color, @@ -170,7 +165,6 @@ impl Pipeline { draw( font_system.raw(), &mut self.glyph_cache, - &mut self.swash_cache, buffer, position, color, @@ -189,7 +183,6 @@ impl Pipeline { fn draw( font_system: &mut cosmic_text::FontSystem, glyph_cache: &mut GlyphCache, - swash_cache: &mut cosmic_text::SwashCache, buffer: &cosmic_text::Buffer, position: Point, color: Color, @@ -199,6 +192,8 @@ fn draw( ) { let position = position * transformation; + let mut swash = cosmic_text::SwashCache::new(); + for run in buffer.layout_runs() { for glyph in run.glyphs { let physical_glyph = glyph.physical( @@ -210,7 +205,7 @@ fn draw( physical_glyph.cache_key, glyph.color_opt.map(from_color).unwrap_or(color), font_system, - swash_cache, + &mut swash, ) { let pixmap = tiny_skia::PixmapRef::from_bytes( buffer, diff --git a/wgpu/src/text.rs b/wgpu/src/text.rs index 76b16c5c..b6d9e679 100644 --- a/wgpu/src/text.rs +++ b/wgpu/src/text.rs @@ -308,7 +308,6 @@ pub struct State { prepare_layer: usize, cache: BufferCache, storage: Storage, - swash_cache: cryoglyph::SwashCache, } impl State { @@ -353,7 +352,6 @@ impl State { renderer, &mut atlas, &mut self.cache, - &mut self.swash_cache, text, layer_bounds * layer_transformation, layer_transformation * *transformation, @@ -450,7 +448,6 @@ fn prepare( renderer: &mut cryoglyph::TextRenderer, atlas: &mut cryoglyph::TextAtlas, buffer_cache: &mut BufferCache, - swash_cache: &mut cryoglyph::SwashCache, sections: &[Text], layer_bounds: Rectangle, layer_transformation: Transformation, @@ -646,6 +643,6 @@ fn prepare( atlas, viewport, text_areas, - swash_cache, + &mut cryoglyph::SwashCache::new(), ) }