summaryrefslogtreecommitdiffstats
path: root/examples/clock/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/clock/src/main.rs')
-rw-r--r--examples/clock/src/main.rs31
1 files changed, 22 insertions, 9 deletions
diff --git a/examples/clock/src/main.rs b/examples/clock/src/main.rs
index 325ccc1a..8818fb54 100644
--- a/examples/clock/src/main.rs
+++ b/examples/clock/src/main.rs
@@ -1,7 +1,9 @@
+use iced::executor;
+use iced::widget::canvas::{Cache, Cursor, Geometry, LineCap, Path, Stroke};
+use iced::widget::{canvas, container};
use iced::{
- canvas::{self, Cache, Canvas, Cursor, Geometry, LineCap, Path, Stroke},
- executor, Application, Color, Command, Container, Element, Length, Point,
- Rectangle, Settings, Subscription, Vector,
+ Application, Color, Command, Element, Length, Point, Rectangle, Settings,
+ Subscription, Theme, Vector,
};
pub fn main() -> iced::Result {
@@ -22,8 +24,9 @@ enum Message {
}
impl Application for Clock {
- type Executor = executor::Default;
type Message = Message;
+ type Theme = Theme;
+ type Executor = executor::Default;
type Flags = ();
fn new(_flags: ()) -> (Self, Command<Message>) {
@@ -65,10 +68,12 @@ impl Application for Clock {
})
}
- fn view(&mut self) -> Element<Message> {
- let canvas = Canvas::new(self).width(Length::Fill).height(Length::Fill);
+ fn view(&self) -> Element<Message> {
+ let canvas = canvas(self as &Self)
+ .width(Length::Fill)
+ .height(Length::Fill);
- Container::new(canvas)
+ container(canvas)
.width(Length::Fill)
.height(Length::Fill)
.padding(20)
@@ -76,8 +81,16 @@ impl Application for Clock {
}
}
-impl canvas::Program<Message> for Clock {
- fn draw(&self, bounds: Rectangle, _cursor: Cursor) -> Vec<Geometry> {
+impl<Message> canvas::Program<Message> for Clock {
+ type State = ();
+
+ fn draw(
+ &self,
+ _state: &Self::State,
+ _theme: &Theme,
+ bounds: Rectangle,
+ _cursor: Cursor,
+ ) -> Vec<Geometry> {
let clock = self.clock.draw(bounds.size(), |frame| {
let center = frame.center();
let radius = frame.width().min(frame.height()) / 2.0;