diff options
author | 2020-04-28 06:24:12 +0200 | |
---|---|---|
committer | 2020-04-28 06:24:12 +0200 | |
commit | 2539042b71d70afd4d8f262783d441e768811ee9 (patch) | |
tree | f3af8a86b700308ff5fe9f28f88a508b2fd8cdb5 /wgpu/src/widget/canvas/program.rs | |
parent | 7f1e7aea07bb448471470093a47898b059d940d3 (diff) | |
download | iced-2539042b71d70afd4d8f262783d441e768811ee9.tar.gz iced-2539042b71d70afd4d8f262783d441e768811ee9.tar.bz2 iced-2539042b71d70afd4d8f262783d441e768811ee9.zip |
Remove `Drawable` and rename `State` to `Program`
Diffstat (limited to 'wgpu/src/widget/canvas/program.rs')
-rw-r--r-- | wgpu/src/widget/canvas/program.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/wgpu/src/widget/canvas/program.rs b/wgpu/src/widget/canvas/program.rs new file mode 100644 index 00000000..8e35fdfb --- /dev/null +++ b/wgpu/src/widget/canvas/program.rs @@ -0,0 +1,22 @@ +use crate::canvas::{Event, Geometry, Size}; + +pub trait Program<Message> { + fn update(&mut self, _event: Event, _bounds: Size) -> Option<Message> { + None + } + + fn draw(&self, bounds: Size) -> Vec<Geometry>; +} + +impl<T, Message> Program<Message> for &mut T +where + T: Program<Message>, +{ + fn update(&mut self, event: Event, bounds: Size) -> Option<Message> { + T::update(self, event, bounds) + } + + fn draw(&self, bounds: Size) -> Vec<Geometry> { + T::draw(self, bounds) + } +} |