diff options
| -rw-r--r-- | graphics/Cargo.toml | 12 | ||||
| -rw-r--r-- | graphics/src/image/vector.rs | 17 | 
2 files changed, 9 insertions, 20 deletions
diff --git a/graphics/Cargo.toml b/graphics/Cargo.toml index 13ab61d8..a37c99a2 100644 --- a/graphics/Cargo.toml +++ b/graphics/Cargo.toml @@ -11,7 +11,7 @@ keywords = ["gui", "ui", "graphics", "interface", "widgets"]  categories = ["gui"]  [features] -svg = ["resvg", "usvg", "tiny-skia"] +svg = ["resvg"]  image = ["png", "jpeg", "jpeg_rayon", "gif", "webp", "bmp"]  png = ["image_rs/png"]  jpeg = ["image_rs/jpeg"] @@ -71,15 +71,7 @@ default-features = false  optional = true  [dependencies.resvg] -version = "0.18" -optional = true - -[dependencies.usvg] -version = "0.18" -optional = true - -[dependencies.tiny-skia] -version = "0.6" +version = "0.29"  optional = true  [dependencies.kamadak-exif] diff --git a/graphics/src/image/vector.rs b/graphics/src/image/vector.rs index 82d77aff..c950ccd6 100644 --- a/graphics/src/image/vector.rs +++ b/graphics/src/image/vector.rs @@ -5,6 +5,8 @@ use crate::Color;  use iced_native::svg;  use iced_native::Size; +use resvg::tiny_skia; +use resvg::usvg;  use std::collections::{HashMap, HashSet};  use std::fs; @@ -21,7 +23,7 @@ impl Svg {      pub fn viewport_dimensions(&self) -> Size<u32> {          match self {              Svg::Loaded(tree) => { -                let size = tree.svg_node().size; +                let size = tree.size;                  Size::new(size.width() as u32, size.height() as u32)              } @@ -51,20 +53,14 @@ impl<T: Storage> Cache<T> {          let svg = match handle.data() {              svg::Data::Path(path) => {                  let tree = fs::read_to_string(path).ok().and_then(|contents| { -                    usvg::Tree::from_str( -                        &contents, -                        &usvg::Options::default().to_ref(), -                    ) -                    .ok() +                    usvg::Tree::from_str(&contents, &usvg::Options::default()) +                        .ok()                  });                  tree.map(Svg::Loaded).unwrap_or(Svg::NotFound)              }              svg::Data::Bytes(bytes) => { -                match usvg::Tree::from_data( -                    bytes, -                    &usvg::Options::default().to_ref(), -                ) { +                match usvg::Tree::from_data(bytes, &usvg::Options::default()) {                      Ok(tree) => Svg::Loaded(tree),                      Err(_) => Svg::NotFound,                  } @@ -125,6 +121,7 @@ impl<T: Storage> Cache<T> {                      } else {                          usvg::FitTo::Height(height)                      }, +                    tiny_skia::Transform::default(),                      img.as_mut(),                  )?;  | 
