diff options
Diffstat (limited to 'examples/solar_system')
-rw-r--r-- | examples/solar_system/src/main.rs | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/examples/solar_system/src/main.rs b/examples/solar_system/src/main.rs index e96b53ff..cee9a02f 100644 --- a/examples/solar_system/src/main.rs +++ b/examples/solar_system/src/main.rs @@ -6,10 +6,15 @@ //! Inspired by the example found in the MDN docs[1]. //! //! [1]: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations#An_animated_solar_system +use iced::application; +use iced::canvas::{self, Cursor, Path, Stroke}; +use iced::executor; +use iced::theme::{self, Theme}; +use iced::time; +use iced::window; use iced::{ - canvas::{self, Cursor, Path, Stroke}, - executor, time, window, Application, Canvas, Color, Command, Element, - Length, Point, Rectangle, Settings, Size, Subscription, Vector, + Application, Canvas, Color, Command, Element, Length, Point, Rectangle, + Settings, Size, Subscription, Vector, }; use std::time::Instant; @@ -31,8 +36,9 @@ enum Message { } impl Application for SolarSystem { - type Executor = executor::Default; type Message = Message; + type Theme = Theme; + type Executor = executor::Default; type Flags = (); fn new(_flags: ()) -> (Self, Command<Message>) { @@ -48,10 +54,6 @@ impl Application for SolarSystem { String::from("Solar system - Iced") } - fn background_color(&self) -> Color { - Color::BLACK - } - fn update(&mut self, message: Message) -> Command<Message> { match message { Message::Tick(instant) => { @@ -73,6 +75,17 @@ impl Application for SolarSystem { .height(Length::Fill) .into() } + + fn theme(&self) -> Theme { + Theme::Dark + } + + fn style(&self) -> theme::Application { + theme::Application::Custom(|_theme| application::Appearance { + background_color: Color::BLACK, + text_color: Color::WHITE, + }) + } } #[derive(Debug)] @@ -135,6 +148,7 @@ impl State { impl<Message> canvas::Program<Message> for State { fn draw( &self, + _theme: &Theme, bounds: Rectangle, _cursor: Cursor, ) -> Vec<canvas::Geometry> { |