summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--examples/custom_shader/src/main.rs7
-rw-r--r--widget/src/helpers.rs11
2 files changed, 14 insertions, 4 deletions
diff --git a/examples/custom_shader/src/main.rs b/examples/custom_shader/src/main.rs
index f6370f46..e9b6776f 100644
--- a/examples/custom_shader/src/main.rs
+++ b/examples/custom_shader/src/main.rs
@@ -10,7 +10,7 @@ use crate::pipeline::Pipeline;
use iced::executor;
use iced::time::Instant;
use iced::widget::{
- checkbox, column, container, row, slider, text, vertical_space, Shader,
+ checkbox, column, container, row, shader, slider, text, vertical_space,
};
use iced::window;
use iced::{
@@ -150,9 +150,8 @@ impl Application for IcedCubes {
.spacing(10)
.align_items(Alignment::Center);
- let shader = Shader::new(&self.cubes)
- .width(Length::Fill)
- .height(Length::Fill);
+ let shader =
+ shader(&self.cubes).width(Length::Fill).height(Length::Fill);
container(
column![shader, controls, vertical_space(20),]
diff --git a/widget/src/helpers.rs b/widget/src/helpers.rs
index e0b58722..115198fb 100644
--- a/widget/src/helpers.rs
+++ b/widget/src/helpers.rs
@@ -385,6 +385,17 @@ where
crate::Canvas::new(program)
}
+/// Creates a new [`Shader`].
+///
+/// [`Shader`]: crate::Shader
+#[cfg(feature = "wgpu")]
+pub fn shader<Message, P>(program: P) -> crate::Shader<Message, P>
+where
+ P: crate::shader::Program<Message>,
+{
+ crate::Shader::new(program)
+}
+
/// Focuses the previous focusable widget.
pub fn focus_previous<Message>() -> Command<Message>
where