Reintroduce generic Message type for canvas::Program

As it is useful to make the `Message` completely free in many
implementations.
This commit is contained in:
Héctor Ramón Jiménez 2022-03-18 22:13:52 +07:00
parent d7100fd259
commit 32fd8dadda
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
10 changed files with 55 additions and 68 deletions

View file

@ -104,9 +104,7 @@ mod bezier {
curves: &'a [Curve],
}
impl<'a> canvas::Program for Bezier<'a> {
type Message = Curve;
impl<'a> canvas::Program<Curve> for Bezier<'a> {
fn update(
&mut self,
event: Event,

View file

@ -76,9 +76,7 @@ impl Application for Clock {
}
}
impl canvas::Program for Clock {
type Message = Message;
impl<Message> canvas::Program<Message> for Clock {
fn draw(&self, bounds: Rectangle, _cursor: Cursor) -> Vec<Geometry> {
let clock = self.clock.draw(bounds.size(), |frame| {
let center = frame.center();

View file

@ -235,9 +235,7 @@ impl Theme {
}
}
impl canvas::Program for Theme {
type Message = Message;
impl<Message> canvas::Program<Message> for Theme {
fn draw(&self, bounds: Rectangle, _cursor: Cursor) -> Vec<Geometry> {
let theme = self.canvas_cache.draw(bounds.size(), |frame| {
self.draw(frame);

View file

@ -328,9 +328,7 @@ mod grid {
}
}
impl<'a> canvas::Program for Grid {
type Message = Message;
impl<'a> canvas::Program<Message> for Grid {
fn update(
&mut self,
event: Event,

View file

@ -394,8 +394,7 @@ mod grid {
}
}
impl canvas::Program for Grid {
type Message = Message;
impl canvas::Program<Message> for Grid {
type State = Interaction;
fn update(

View file

@ -128,9 +128,7 @@ impl State {
}
}
impl canvas::Program for State {
type Message = Message;
impl<Message> canvas::Program<Message> for State {
fn draw(
&self,
bounds: Rectangle,