diff options
author | 2019-12-15 06:45:20 +0100 | |
---|---|---|
committer | 2019-12-15 06:45:20 +0100 | |
commit | 232d4873ba0fb9b87d08c8d70b117e81aa7489b5 (patch) | |
tree | bfaac8e4887bbb0ea4ffa6a687151e13f4ae093e /wgpu/src/image.rs | |
parent | aa298499768bb50129cc3bd0dca6f3f858e5802e (diff) | |
download | iced-232d4873ba0fb9b87d08c8d70b117e81aa7489b5.tar.gz iced-232d4873ba0fb9b87d08c8d70b117e81aa7489b5.tar.bz2 iced-232d4873ba0fb9b87d08c8d70b117e81aa7489b5.zip |
Put `svg` rendering behind a feature gate
This reduces binary size when SVG supoprt is not needed.
Diffstat (limited to 'wgpu/src/image.rs')
-rw-r--r-- | wgpu/src/image.rs | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/wgpu/src/image.rs b/wgpu/src/image.rs index 01059d2d..e30f70a7 100644 --- a/wgpu/src/image.rs +++ b/wgpu/src/image.rs @@ -1,4 +1,5 @@ mod raster; +#[cfg(feature = "svg")] mod vector; use crate::Transformation; @@ -9,6 +10,7 @@ use std::{cell::RefCell, mem}; #[derive(Debug)] pub struct Pipeline { raster_cache: RefCell<raster::Cache>, + #[cfg(feature = "svg")] vector_cache: RefCell<vector::Cache>, pipeline: wgpu::RenderPipeline, @@ -190,6 +192,7 @@ impl Pipeline { Pipeline { raster_cache: RefCell::new(raster::Cache::new()), + #[cfg(feature = "svg")] vector_cache: RefCell::new(vector::Cache::new()), pipeline, @@ -209,6 +212,7 @@ impl Pipeline { memory.dimensions() } + #[cfg(feature = "svg")] pub fn viewport_dimensions(&self, handle: &svg::Handle) -> (u32, u32) { let mut cache = self.vector_cache.borrow_mut(); @@ -227,7 +231,7 @@ impl Pipeline { transformation: Transformation, bounds: Rectangle<u32>, target: &wgpu::TextureView, - scale: f32, + _scale: f32, ) { let uniforms_buffer = device .create_buffer_mapped(1, wgpu::BufferUsage::COPY_SRC) @@ -255,17 +259,23 @@ impl Pipeline { memory.upload(device, encoder, &self.texture_layout) } - Handle::Vector(handle) => { - let mut cache = self.vector_cache.borrow_mut(); - - cache.upload( - handle, - image.scale, - scale, - device, - encoder, - &self.texture_layout, - ) + Handle::Vector(_handle) => { + #[cfg(feature = "svg")] + { + let mut cache = self.vector_cache.borrow_mut(); + + cache.upload( + _handle, + image.scale, + _scale, + device, + encoder, + &self.texture_layout, + ) + } + + #[cfg(not(feature = "svg"))] + None } }; @@ -333,6 +343,8 @@ impl Pipeline { pub fn trim_cache(&mut self) { self.raster_cache.borrow_mut().trim(); + + #[cfg(feature = "svg")] self.vector_cache.borrow_mut().trim(); } } |