diff options
Diffstat (limited to '')
| -rw-r--r-- | examples/custom_shader/src/main.rs | 7 | ||||
| -rw-r--r-- | widget/src/helpers.rs | 11 | 
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  | 
