summaryrefslogtreecommitdiffstats
path: root/renderer/src
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector@hecrj.dev>2023-11-14 20:59:49 +0100
committerLibravatar GitHub <noreply@github.com>2023-11-14 20:59:49 +0100
commitb474a2b7a763dcde6a377cb409001a7b5285ee8d (patch)
tree6e751607bb103e7011807a45797923d86214d88d /renderer/src
parent817f72868746461891ca4e74473c555f3b5c5703 (diff)
parent0968c5b64a528ff92a5a93f6586eef557546da25 (diff)
downloadiced-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.rs23
-rw-r--r--renderer/src/widget.rs11
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;