summaryrefslogtreecommitdiffstats
path: root/renderer/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'renderer/src/lib.rs')
-rw-r--r--renderer/src/lib.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/renderer/src/lib.rs b/renderer/src/lib.rs
index 78dec847..8c5ee2f0 100644
--- a/renderer/src/lib.rs
+++ b/renderer/src/lib.rs
@@ -7,6 +7,7 @@ pub mod compositor;
pub mod geometry;
mod settings;
+pub mod widget;
pub use iced_graphics as graphics;
pub use iced_graphics::core;
@@ -59,6 +60,26 @@ impl<T> Renderer<T> {
}
}
}
+
+ pub fn draw_custom<P: widget::shader::Primitive>(
+ &mut self,
+ bounds: Rectangle,
+ primitive: P,
+ ) {
+ match self {
+ Renderer::TinySkia(_) => {
+ log::warn!(
+ "Custom shader primitive is unavailable with tiny-skia."
+ );
+ }
+ #[cfg(feature = "wgpu")]
+ Renderer::Wgpu(renderer) => {
+ renderer.draw_primitive(iced_wgpu::Primitive::Custom(
+ iced_wgpu::primitive::Custom::shader(bounds, primitive),
+ ))
+ }
+ }
+ }
}
impl<T> core::Renderer for Renderer<T> {