diff options
author | 2020-04-19 21:55:23 +0200 | |
---|---|---|
committer | 2020-04-19 21:55:23 +0200 | |
commit | 592cc685067c36cbba87e4db14f4ebc71d65b951 (patch) | |
tree | fec66717a6558ddfa31a90352724be13e6a2dfd9 /wgpu/src/widget/canvas/state.rs | |
parent | bb424e54c5083402225a0fdda6130de575592dca (diff) | |
download | iced-592cc685067c36cbba87e4db14f4ebc71d65b951.tar.gz iced-592cc685067c36cbba87e4db14f4ebc71d65b951.tar.bz2 iced-592cc685067c36cbba87e4db14f4ebc71d65b951.zip |
Remove `Layer` trait and simplify `Canvas`
Diffstat (limited to 'wgpu/src/widget/canvas/state.rs')
-rw-r--r-- | wgpu/src/widget/canvas/state.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/wgpu/src/widget/canvas/state.rs b/wgpu/src/widget/canvas/state.rs new file mode 100644 index 00000000..8388f94d --- /dev/null +++ b/wgpu/src/widget/canvas/state.rs @@ -0,0 +1,20 @@ +use crate::canvas::{Event, Geometry, Size}; + +pub trait State { + fn update(&mut self, _event: Event, _bounds: Size) {} + + fn draw(&self, bounds: Size) -> Vec<Geometry>; +} + +impl<T> State for &mut T +where + T: State, +{ + fn update(&mut self, event: Event, bounds: Size) { + T::update(self, event, bounds); + } + + fn draw(&self, bounds: Size) -> Vec<Geometry> { + T::draw(self, bounds) + } +} |