diff options
author | 2020-01-21 00:56:49 +0100 | |
---|---|---|
committer | 2020-01-21 00:56:49 +0100 | |
commit | 8957883a88ce98de3d37cdb1e658db5c6777ff1f (patch) | |
tree | f87a8f9113ff02402763ddfbd11415937b87e8d3 /wgpu | |
parent | 92af1b1c123983b94e38519943b6ad4fab3db9d7 (diff) | |
parent | 1ef7d09ce86cb54de35678ba22517df830660247 (diff) | |
download | iced-8957883a88ce98de3d37cdb1e658db5c6777ff1f.tar.gz iced-8957883a88ce98de3d37cdb1e658db5c6777ff1f.tar.bz2 iced-8957883a88ce98de3d37cdb1e658db5c6777ff1f.zip |
Merge branch 'feature/custom-runtime'
Diffstat (limited to '')
-rw-r--r-- | wgpu/Cargo.toml | 2 | ||||
-rw-r--r-- | wgpu/src/image.rs | 24 | ||||
-rw-r--r-- | wgpu/src/lib.rs | 4 | ||||
-rw-r--r-- | wgpu/src/renderer/widget.rs | 4 |
4 files changed, 25 insertions, 9 deletions
diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml index 19d41bba..60b98b40 100644 --- a/wgpu/Cargo.toml +++ b/wgpu/Cargo.toml @@ -17,8 +17,8 @@ wgpu = "0.4" glyph_brush = "0.6" wgpu_glyph = { version = "0.7", git = "https://github.com/hecrj/wgpu_glyph", branch = "fix/font-load-panic" } raw-window-handle = "0.3" -image = "0.22" glam = "0.8" font-kit = "0.4" log = "0.4" resvg = { version = "0.8", features = ["raqote-backend"], optional = true } +image = { version = "0.22", optional = true } diff --git a/wgpu/src/image.rs b/wgpu/src/image.rs index 4558ffb0..ccc956a9 100644 --- a/wgpu/src/image.rs +++ b/wgpu/src/image.rs @@ -1,3 +1,4 @@ +#[cfg(feature = "image")] mod raster; #[cfg(feature = "svg")] mod vector; @@ -5,10 +6,14 @@ mod vector; use crate::Transformation; use iced_native::{image, svg, Rectangle}; -use std::{cell::RefCell, mem}; +use std::mem; + +#[cfg(any(feature = "image", feature = "svg"))] +use std::cell::RefCell; #[derive(Debug)] pub struct Pipeline { + #[cfg(feature = "image")] raster_cache: RefCell<raster::Cache>, #[cfg(feature = "svg")] vector_cache: RefCell<vector::Cache>, @@ -191,6 +196,7 @@ impl Pipeline { }); Pipeline { + #[cfg(feature = "image")] raster_cache: RefCell::new(raster::Cache::new()), #[cfg(feature = "svg")] vector_cache: RefCell::new(vector::Cache::new()), @@ -205,6 +211,7 @@ impl Pipeline { } } + #[cfg(feature = "image")] pub fn dimensions(&self, handle: &image::Handle) -> (u32, u32) { let mut cache = self.raster_cache.borrow_mut(); let memory = cache.load(&handle); @@ -250,11 +257,17 @@ impl Pipeline { // [1]: https://github.com/nical/guillotiere for image in instances { let uploaded_texture = match &image.handle { - Handle::Raster(handle) => { - let mut cache = self.raster_cache.borrow_mut(); - let memory = cache.load(&handle); + Handle::Raster(_handle) => { + #[cfg(feature = "image")] + { + let mut cache = self.raster_cache.borrow_mut(); + let memory = cache.load(&_handle); - memory.upload(device, encoder, &self.texture_layout) + memory.upload(device, encoder, &self.texture_layout) + } + + #[cfg(not(feature = "image"))] + None } Handle::Vector(_handle) => { #[cfg(feature = "svg")] @@ -339,6 +352,7 @@ impl Pipeline { } pub fn trim_cache(&mut self) { + #[cfg(feature = "image")] self.raster_cache.borrow_mut().trim(); #[cfg(feature = "svg")] diff --git a/wgpu/src/lib.rs b/wgpu/src/lib.rs index ab14987c..b8cd3fce 100644 --- a/wgpu/src/lib.rs +++ b/wgpu/src/lib.rs @@ -22,8 +22,8 @@ #![deny(missing_docs)] #![deny(missing_debug_implementations)] #![deny(unused_results)] -#![deny(unsafe_code)] -#![deny(rust_2018_idioms)] +#![forbid(unsafe_code)] +#![forbid(rust_2018_idioms)] pub mod defaults; pub mod triangle; pub mod widget; diff --git a/wgpu/src/renderer/widget.rs b/wgpu/src/renderer/widget.rs index 2c75413f..84f908e7 100644 --- a/wgpu/src/renderer/widget.rs +++ b/wgpu/src/renderer/widget.rs @@ -2,7 +2,6 @@ mod button; mod checkbox; mod column; mod container; -mod image; mod progress_bar; mod radio; mod row; @@ -14,3 +13,6 @@ mod text_input; #[cfg(feature = "svg")] mod svg; + +#[cfg(feature = "image")] +mod image; |