timeline clickable
This commit is contained in:
32
src/main.rs
32
src/main.rs
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user