diff options
author | 2023-06-07 15:19:11 -0700 | |
---|---|---|
committer | 2023-06-07 15:42:13 -0700 | |
commit | 2ebc92319711e6fa0dda310939257334625b59c9 (patch) | |
tree | 3643af813fbb72e4308893cd33d383c7a0c12986 /examples/progress_indicators/src/main.rs | |
parent | cdfb8b30680de164280b8b90fbc08a1638e597e2 (diff) | |
download | iced-2ebc92319711e6fa0dda310939257334625b59c9.tar.gz iced-2ebc92319711e6fa0dda310939257334625b59c9.tar.bz2 iced-2ebc92319711e6fa0dda310939257334625b59c9.zip |
feat: use lyon for easing
Diffstat (limited to 'examples/progress_indicators/src/main.rs')
-rw-r--r-- | examples/progress_indicators/src/main.rs | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/examples/progress_indicators/src/main.rs b/examples/progress_indicators/src/main.rs deleted file mode 100644 index 136b8d8c..00000000 --- a/examples/progress_indicators/src/main.rs +++ /dev/null @@ -1,104 +0,0 @@ -use iced::executor; -use iced::widget::{column, container, row, slider, text}; -use iced::{Application, Command, Element, Length, Settings, Theme}; - -use std::time::Duration; - -mod circular; -mod easing; -mod linear; - -use circular::Circular; -use linear::Linear; - -pub fn main() -> iced::Result { - ProgressIndicators::run(Settings { - antialiasing: true, - ..Default::default() - }) -} - -struct ProgressIndicators { - cycle_duration: f32, -} - -impl Default for ProgressIndicators { - fn default() -> Self { - Self { - cycle_duration: 2.0, - } - } -} - -#[derive(Debug, Clone, Copy)] -enum Message { - CycleDurationChanged(f32), -} - -impl Application for ProgressIndicators { - type Message = Message; - type Flags = (); - type Executor = executor::Default; - type Theme = Theme; - - fn new(_flags: Self::Flags) -> (Self, Command<Message>) { - (Self::default(), Command::none()) - } - - fn title(&self) -> String { - String::from("Progress Indicators - Iced") - } - - fn update(&mut self, message: Message) -> Command<Message> { - match message { - Message::CycleDurationChanged(duration) => { - self.cycle_duration = duration; - } - } - - Command::none() - } - - fn view(&self) -> Element<Message> { - let column = easing::EXAMPLES - .iter() - .zip(["Decelerating:", "Accelerating:", "Standard:"]) - .fold(column![], |column, (easing, label)| { - column.push( - row![ - text(label).width(150), - Linear::new().easing(easing).cycle_duration( - Duration::from_secs_f32(self.cycle_duration) - ), - Circular::new().easing(easing).cycle_duration( - Duration::from_secs_f32(self.cycle_duration) - ) - ] - .align_items(iced::Alignment::Center) - .spacing(20.0), - ) - }) - .spacing(20); - - container( - column.push( - row(vec![ - text("Cycle duration:").into(), - slider(1.0..=1000.0, self.cycle_duration * 100.0, |x| { - Message::CycleDurationChanged(x / 100.0) - }) - .width(150.0) - .into(), - text(format!("{:.2}s", self.cycle_duration)).into(), - ]) - .align_items(iced::Alignment::Center) - .spacing(20.0), - ), - ) - .width(Length::Fill) - .height(Length::Fill) - .center_x() - .center_y() - .into() - } -} |