mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 04:06:45 +01:00
getting there, painstakingly 😄
This commit is contained in:
parent
70ad0b343b
commit
a4f0487324
4 changed files with 180 additions and 276 deletions
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue