From ced4276a5e37b17a1ac7a7886ab4a10c179d3216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Sat, 29 Mar 2025 21:24:48 +0100 Subject: [PATCH] Replace `Rc` with `Arc` in `tiny_skia` renderer --- tiny_skia/src/geometry.rs | 14 +++++++------- tiny_skia/src/layer.rs | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/tiny_skia/src/geometry.rs b/tiny_skia/src/geometry.rs index 0c2e8b1d..e089bbb1 100644 --- a/tiny_skia/src/geometry.rs +++ b/tiny_skia/src/geometry.rs @@ -7,7 +7,7 @@ use crate::graphics::geometry::stroke::{self, Stroke}; use crate::graphics::geometry::{self, Path, Style}; use crate::graphics::{self, Gradient, Image, Text}; -use std::rc::Rc; +use std::sync::Arc; #[derive(Debug)] pub enum Geometry { @@ -22,9 +22,9 @@ pub enum Geometry { #[derive(Debug, Clone)] pub struct Cache { - pub text: Rc<[Text]>, - pub images: Rc<[graphics::Image]>, - pub primitives: Rc<[Primitive]>, + pub text: Arc<[Text]>, + pub images: Arc<[graphics::Image]>, + pub primitives: Arc<[Primitive]>, pub clip_bounds: Rectangle, } @@ -43,9 +43,9 @@ impl Cached for Geometry { text, clip_bounds, } => Cache { - primitives: Rc::from(primitives), - images: Rc::from(images), - text: Rc::from(text), + primitives: Arc::from(primitives), + images: Arc::from(images), + text: Arc::from(text), clip_bounds, }, Self::Cache(cache) => cache, diff --git a/tiny_skia/src/layer.rs b/tiny_skia/src/layer.rs index a1ad1127..24e62ecb 100644 --- a/tiny_skia/src/layer.rs +++ b/tiny_skia/src/layer.rs @@ -8,7 +8,7 @@ use crate::graphics::layer; use crate::graphics::text::{Editor, Paragraph, Text}; use crate::graphics::{self, Image}; -use std::rc::Rc; +use std::sync::Arc; pub type Stack = layer::Stack; @@ -107,7 +107,7 @@ impl Layer { pub fn draw_text_cache( &mut self, - text: Rc<[Text]>, + text: Arc<[Text]>, clip_bounds: Rectangle, transformation: Transformation, ) { @@ -163,7 +163,7 @@ impl Layer { pub fn draw_primitive_cache( &mut self, - primitives: Rc<[Primitive]>, + primitives: Arc<[Primitive]>, clip_bounds: Rectangle, transformation: Transformation, ) { @@ -242,7 +242,7 @@ impl Layer { Item::Cached(cache_a, bounds_a, transformation_a), Item::Cached(cache_b, bounds_b, transformation_b), ) => { - Rc::ptr_eq(cache_a, cache_b) + Arc::ptr_eq(cache_a, cache_b) && bounds_a == bounds_b && transformation_a == transformation_b } @@ -304,7 +304,7 @@ impl graphics::Layer for Layer { pub enum Item { Live(T), Group(Vec, Rectangle, Transformation), - Cached(Rc<[T]>, Rectangle, Transformation), + Cached(Arc<[T]>, Rectangle, Transformation), } impl Item {