summaryrefslogtreecommitdiffstats
path: root/graphics/src
diff options
context:
space:
mode:
authorLibravatar bungoboingo <shankern@protonmail.com>2023-02-28 13:08:30 -0800
committerLibravatar bungoboingo <shankern@protonmail.com>2023-02-28 13:08:30 -0800
commit51296572c0189eaef8081c46270ff48b7e03258d (patch)
tree067b3a9102f92e4869f2a63d739a49379a9fb481 /graphics/src
parenta131f11a23d3430df58bf67a7c89f4b2284822af (diff)
parent86b85d1436a44e82a9765f9d82b026faf26e22de (diff)
downloadiced-51296572c0189eaef8081c46270ff48b7e03258d.tar.gz
iced-51296572c0189eaef8081c46270ff48b7e03258d.tar.bz2
iced-51296572c0189eaef8081c46270ff48b7e03258d.zip
Merge remote-tracking branch 'iced-main/master' into feat/multi-window-support
# Conflicts: # glutin/src/application.rs # winit/src/icon.rs
Diffstat (limited to 'graphics/src')
-rw-r--r--graphics/src/image/vector.rs17
1 files changed, 7 insertions, 10 deletions
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(),
)?;