getting there, painstakingly 😄

This commit is contained in:
🪞👃🪞 2025-03-16 03:58:53 +02:00
parent 70ad0b343b
commit a4f0487324
4 changed files with 180 additions and 276 deletions

View file

@ -44,7 +44,7 @@ pub(crate) struct ArrangerView<'a> {
is_editing: bool,
width_total: u16,
width: u16,
width_mid: u16,
width_side: u16,
@ -54,12 +54,14 @@ pub(crate) struct ArrangerView<'a> {
outputs_count: usize,
outputs_height: u16,
scene_last: u16,
scene_scroll: u16,
scene_last: usize,
scene_count: usize,
scene_scroll: Fill<Fixed<ScrollbarV>>,
scene_selected: Option<usize>,
scenes_height: u16,
track_scroll: u16,
track_scroll: Fill<Fixed<ScrollbarH>>,
track_count: usize,
track_selected: Option<usize>,
tracks_height: u16,
}
@ -68,7 +70,9 @@ impl<'a> Content<TuiOut> for ArrangerView<'a> {
fn content (&self) -> impl Render<TuiOut> {
Bsp::s(self.inputs(),
Bsp::s(self.tracks(),
Bsp::n(self.outputs(), self.scenes())))
Bsp::n(self.outputs(), Tui::bg(Reset, Bsp::s(self.track_scroll,
Bsp::e(self.scene_scroll,
Fixed::y(self.scenes_height,self.scenes())))))))
}
}
@ -78,7 +82,7 @@ impl<'a> ArrangerView<'a> {
app,
is_editing: app.is_editing(),
width_total: app.w(),
width: app.w(),
width_mid: app.w_tracks_area(),
width_side: app.w_sidebar(),
@ -90,6 +94,7 @@ impl<'a> ArrangerView<'a> {
scenes_height: app.h_scenes(),
scene_selected: app.selected().scene(),
scene_count: app.scenes.len(),
scene_last: app.scenes.len().saturating_sub(1),
scene_scroll: Fill::y(Fixed::x(1, ScrollbarV {
offset: app.scene_scroll,
@ -98,8 +103,9 @@ impl<'a> ArrangerView<'a> {
})),
tracks_height: app.h_tracks_area(),
track_count: app.tracks.len(),
track_selected: app.selected().track(),
track_scroll: Fill::y(Fixed::x(1, ScrollbarV {
track_scroll: Fill::y(Fixed::x(1, ScrollbarH {
offset: app.scene_scroll,
length: app.h_tracks_area() as usize,
total: app.h_scenes() as usize,