timeline clickable

This commit is contained in:
2025-07-09 11:18:15 +02:00
parent 0ede0749f8
commit 536aad1270
3 changed files with 79 additions and 29 deletions

View File

@@ -1,9 +1,13 @@
mod polygon_draw;
use iced::widget::canvas::Program;
use polygon_draw::Polygon;
mod music;
use music::Music;
mod message;
use message::Message;
mod utils;
use utils::str_to_sec;
@@ -38,28 +42,6 @@ fn main() -> iced::Result {
.run_with(MyApp::new)
}
#[derive(Debug, Clone)]
enum Message {
ButtonPressedIncrement,
ButtonPressedDecrement,
Tick,
AddPolygon(String),
ChangeTeta(usize, f32),
Remove(usize),
ChangeColor(usize, String),
ChangeSound(usize, String),
ToggleSavePanel,
Save,
Load,
FileNameChanged(String),
TogglePaused,
SetMusicLength,
LengthChange(String),
ChangeDelta(f32),
AddPoint,
RemovePoint,
}
struct MyApp {
music: Music,
time_last_frame: Instant,
@@ -177,6 +159,9 @@ impl MyApp {
Message::RemovePoint => {
self.music.remove_point(self.current_delta);
}
Message::ClickedOnTimeLine(f) => {
self.update(Message::ChangeDelta(f));
}
}
}
@@ -324,10 +309,11 @@ impl MyApp {
]
.spacing(20),
column![
/*
slider(0.0..=self.music.length, self.current_delta, move |f| {
Message::ChangeDelta(f)
})
.step(&self.music.length / 10_000.),
.step(&self.music.length / 10_000.),*/
canvas(&self.music)
.height(Length::FillPortion(1))
.width(Length::FillPortion(1))