summaryrefslogtreecommitdiffstats
path: root/widget/src/canvas/program.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-21 22:27:17 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-21 22:27:17 +0100
commit3645d34d6a1ba1247238e830e9eefd52d9e5b986 (patch)
tree2d38961161df0a85c1667474b2b696aab86b7160 /widget/src/canvas/program.rs
parent7e4ae8450e1f28c15717ca5ca9748981af9c9541 (diff)
downloadiced-3645d34d6a1ba1247238e830e9eefd52d9e5b986.tar.gz
iced-3645d34d6a1ba1247238e830e9eefd52d9e5b986.tar.bz2
iced-3645d34d6a1ba1247238e830e9eefd52d9e5b986.zip
Implement composable, type-safe renderer fallback
Diffstat (limited to 'widget/src/canvas/program.rs')
-rw-r--r--widget/src/canvas/program.rs19
1 files changed, 6 insertions, 13 deletions
diff --git a/widget/src/canvas/program.rs b/widget/src/canvas/program.rs
index 0bff4bda..307686de 100644
--- a/widget/src/canvas/program.rs
+++ b/widget/src/canvas/program.rs
@@ -37,22 +37,15 @@ where
(event::Status::Ignored, None)
}
- /// Draws the state of the [`Program`], producing a bunch of [`Geometry`].
- ///
- /// [`Geometry`] can be easily generated with a [`Frame`] or stored in a
- /// [`Cache`].
- ///
- /// [`Geometry`]: crate::canvas::Geometry
- /// [`Frame`]: crate::canvas::Frame
- /// [`Cache`]: crate::canvas::Cache
+ /// Draws the state of the [`Program`] with the given [`Renderer`].
fn draw(
&self,
state: &Self::State,
- renderer: &Renderer,
+ renderer: &mut Renderer,
theme: &Theme,
bounds: Rectangle,
cursor: mouse::Cursor,
- ) -> Vec<Renderer::Geometry>;
+ );
/// Returns the current mouse interaction of the [`Program`].
///
@@ -90,12 +83,12 @@ where
fn draw(
&self,
state: &Self::State,
- renderer: &Renderer,
+ renderer: &mut Renderer,
theme: &Theme,
bounds: Rectangle,
cursor: mouse::Cursor,
- ) -> Vec<Renderer::Geometry> {
- T::draw(self, state, renderer, theme, bounds, cursor)
+ ) {
+ T::draw(self, state, renderer, theme, bounds, cursor);
}
fn mouse_interaction(