diff options
author | 2023-11-14 20:59:49 +0100 | |
---|---|---|
committer | 2023-11-14 20:59:49 +0100 | |
commit | b474a2b7a763dcde6a377cb409001a7b5285ee8d (patch) | |
tree | 6e751607bb103e7011807a45797923d86214d88d /renderer/src | |
parent | 817f72868746461891ca4e74473c555f3b5c5703 (diff) | |
parent | 0968c5b64a528ff92a5a93f6586eef557546da25 (diff) | |
download | iced-b474a2b7a763dcde6a377cb409001a7b5285ee8d.tar.gz iced-b474a2b7a763dcde6a377cb409001a7b5285ee8d.tar.bz2 iced-b474a2b7a763dcde6a377cb409001a7b5285ee8d.zip |
Merge pull request #2085 from bungoboingo/shader-widget
[Feature] Custom Shader Widget
Diffstat (limited to 'renderer/src')
-rw-r--r-- | renderer/src/lib.rs | 23 | ||||
-rw-r--r-- | renderer/src/widget.rs | 11 |
2 files changed, 23 insertions, 11 deletions
diff --git a/renderer/src/lib.rs b/renderer/src/lib.rs index 78dec847..1fc4c86b 100644 --- a/renderer/src/lib.rs +++ b/renderer/src/lib.rs @@ -1,6 +1,9 @@ #![forbid(rust_2018_idioms)] #![deny(unsafe_code, unused_results, rustdoc::broken_intra_doc_links)] #![cfg_attr(docsrs, feature(doc_auto_cfg))] +#[cfg(feature = "wgpu")] +pub use iced_wgpu as wgpu; + pub mod compositor; #[cfg(feature = "geometry")] @@ -271,3 +274,23 @@ impl<T> crate::graphics::geometry::Renderer for Renderer<T> { } } } + +#[cfg(feature = "wgpu")] +impl<T> iced_wgpu::primitive::pipeline::Renderer for Renderer<T> { + fn draw_pipeline_primitive( + &mut self, + bounds: Rectangle, + primitive: impl wgpu::primitive::pipeline::Primitive, + ) { + match self { + Self::TinySkia(_renderer) => { + log::warn!( + "Custom shader primitive is unavailable with tiny-skia." + ); + } + Self::Wgpu(renderer) => { + renderer.draw_pipeline_primitive(bounds, primitive); + } + } + } +} diff --git a/renderer/src/widget.rs b/renderer/src/widget.rs deleted file mode 100644 index 6c0c2a83..00000000 --- a/renderer/src/widget.rs +++ /dev/null @@ -1,11 +0,0 @@ -#[cfg(feature = "canvas")] -pub mod canvas; - -#[cfg(feature = "canvas")] -pub use canvas::Canvas; - -#[cfg(feature = "qr_code")] -pub mod qr_code; - -#[cfg(feature = "qr_code")] -pub use qr_code::QRCode; |