diff options
author | 2022-11-05 03:13:04 +0100 | |
---|---|---|
committer | 2022-11-05 03:19:38 +0100 | |
commit | 8ce8d374b1e8d1d394a42a5ee2bca8af790f0b71 (patch) | |
tree | 40cf3587e2a08f845c9a8d89108b1b3d8cd86213 /wgpu/src/image.rs | |
parent | 5575e6ea0897e406674e7e4239808fbf9daa07c3 (diff) | |
download | iced-8ce8d374b1e8d1d394a42a5ee2bca8af790f0b71.tar.gz iced-8ce8d374b1e8d1d394a42a5ee2bca8af790f0b71.tar.bz2 iced-8ce8d374b1e8d1d394a42a5ee2bca8af790f0b71.zip |
Refactor some `image` traits a bit
- Use `Size<u32>` were applicable.
- Rename `TextureStore` to `image::Storage`.
- Rename `TextureStoreEntry` to `image::storage::Entry`.
- Wire up `viewport_dimensions` to `iced_glow` for `Svg`.
Diffstat (limited to 'wgpu/src/image.rs')
-rw-r--r-- | wgpu/src/image.rs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/wgpu/src/image.rs b/wgpu/src/image.rs index b9f165f0..a4a422ce 100644 --- a/wgpu/src/image.rs +++ b/wgpu/src/image.rs @@ -10,7 +10,8 @@ use crate::Transformation; use atlas::Atlas; use iced_graphics::layer; -use iced_native::Rectangle; +use iced_native::{Rectangle, Size}; + use std::cell::RefCell; use std::mem; @@ -262,7 +263,7 @@ impl Pipeline { } #[cfg(feature = "image_rs")] - pub fn dimensions(&self, handle: &image::Handle) -> (u32, u32) { + pub fn dimensions(&self, handle: &image::Handle) -> Size<u32> { let mut cache = self.raster_cache.borrow_mut(); let memory = cache.load(handle); @@ -270,7 +271,7 @@ impl Pipeline { } #[cfg(feature = "svg")] - pub fn viewport_dimensions(&self, handle: &svg::Handle) -> (u32, u32) { + pub fn viewport_dimensions(&self, handle: &svg::Handle) -> Size<u32> { let mut cache = self.vector_cache.borrow_mut(); let svg = cache.load(handle); @@ -515,15 +516,18 @@ fn add_instances( add_instance(image_position, image_size, allocation, instances); } atlas::Entry::Fragmented { fragments, size } => { - let scaling_x = image_size[0] / size.0 as f32; - let scaling_y = image_size[1] / size.1 as f32; + let scaling_x = image_size[0] / size.width as f32; + let scaling_y = image_size[1] / size.height as f32; for fragment in fragments { let allocation = &fragment.allocation; let [x, y] = image_position; let (fragment_x, fragment_y) = fragment.position; - let (fragment_width, fragment_height) = allocation.size(); + let Size { + width: fragment_width, + height: fragment_height, + } = allocation.size(); let position = [ x + fragment_x as f32 * scaling_x, @@ -549,7 +553,7 @@ fn add_instance( instances: &mut Vec<Instance>, ) { let (x, y) = allocation.position(); - let (width, height) = allocation.size(); + let Size { width, height } = allocation.size(); let layer = allocation.layer(); let instance = Instance { |