diff options
author | 2024-03-21 23:30:36 +0100 | |
---|---|---|
committer | 2024-03-21 23:30:36 +0100 | |
commit | b972ebca8f8c23d2df1b45bb26038789766a5a65 (patch) | |
tree | dd6b0a68a7f6b0dfbf21e708f51fea93746385d0 /examples/bezier_tool | |
parent | 3d17cf8790a18bd0dfe968739c9802833c0bb647 (diff) | |
download | iced-b972ebca8f8c23d2df1b45bb26038789766a5a65.tar.gz iced-b972ebca8f8c23d2df1b45bb26038789766a5a65.tar.bz2 iced-b972ebca8f8c23d2df1b45bb26038789766a5a65.zip |
Restore `canvas::Program` API
Diffstat (limited to 'examples/bezier_tool')
-rw-r--r-- | examples/bezier_tool/src/main.rs | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/examples/bezier_tool/src/main.rs b/examples/bezier_tool/src/main.rs index e51f2a31..31d1e29c 100644 --- a/examples/bezier_tool/src/main.rs +++ b/examples/bezier_tool/src/main.rs @@ -52,7 +52,9 @@ impl Example { mod bezier { use iced::mouse; use iced::widget::canvas::event::{self, Event}; - use iced::widget::canvas::{self, frame, Canvas, Frame, Path, Stroke}; + use iced::widget::canvas::{ + self, frame, Canvas, Frame, Geometry, Path, Stroke, + }; use iced::{Element, Length, Point, Rectangle, Renderer, Theme}; #[derive(Default)] @@ -138,11 +140,11 @@ mod bezier { fn draw( &self, state: &Self::State, - renderer: &mut Renderer, + renderer: &Renderer, _theme: &Theme, bounds: Rectangle, cursor: mouse::Cursor, - ) { + ) -> Vec<Geometry> { let content = self.state.cache.draw(renderer, bounds.size(), |frame| { Curve::draw_all(self.curves, frame); @@ -153,10 +155,10 @@ mod bezier { ); }); - renderer.draw_geometry([content]); - if let Some(pending) = state { - pending.draw(renderer, bounds, cursor); + vec![content, pending.draw(renderer, bounds, cursor)] + } else { + vec![content] } } @@ -203,10 +205,10 @@ mod bezier { impl Pending { fn draw( &self, - renderer: &mut Renderer, + renderer: &Renderer, bounds: Rectangle, cursor: mouse::Cursor, - ) { + ) -> Geometry { let mut frame = frame(renderer, bounds.size()); if let Some(cursor_position) = cursor.position_in(bounds) { @@ -227,7 +229,7 @@ mod bezier { }; } - renderer.draw_geometry([frame]); + frame.into() } } } |