colorize arranger reticle

This commit is contained in:
🪞👃🪞 2024-12-23 20:21:51 +01:00
parent b68e259335
commit 473c9e4510

View file

@ -124,15 +124,23 @@ pub struct ArrangerVCursor {
cols: Vec<(usize, usize)>, cols: Vec<(usize, usize)>,
rows: Vec<(usize, usize)>, rows: Vec<(usize, usize)>,
color: ItemPalette, color: ItemPalette,
reticle: Reticle,
selected: ArrangerSelection, selected: ArrangerSelection,
scenes_w: u16, scenes_w: u16,
} }
from!(|args:(&ArrangerTui, usize)|ArrangerVCursor = Self { from!(|args:(&ArrangerTui, usize)|ArrangerVCursor = Self {
cols: ArrangerTrack::widths(args.0.tracks()), cols: ArrangerTrack::widths(args.0.tracks()),
rows: ArrangerScene::ppqs(args.0.scenes(), args.1), rows: ArrangerScene::ppqs(args.0.scenes(), args.1),
color: args.0.color,
selected: args.0.selected(), selected: args.0.selected(),
scenes_w: SCENES_W_OFFSET + ArrangerScene::longest_name(args.0.scenes()) as u16, scenes_w: SCENES_W_OFFSET + ArrangerScene::longest_name(args.0.scenes()) as u16,
color: args.0.color,
reticle: Reticle(Style {
fg: Some(args.0.color.lightest.rgb),
bg: None,
underline_color: None,
add_modifier: Modifier::empty(),
sub_modifier: Modifier::DIM
}),
}); });
render!(<Tui>|self: ArrangerVCursor|render(move|to: &mut TuiOutput|{ render!(<Tui>|self: ArrangerVCursor|render(move|to: &mut TuiOutput|{
let area = to.area(); let area = to.area();
@ -185,7 +193,7 @@ render!(<Tui>|self: ArrangerVCursor|render(move|to: &mut TuiOutput|{
to.render_in(if let Some(clip_area) = clip_area { clip_area } to.render_in(if let Some(clip_area) = clip_area { clip_area }
else if let Some(track_area) = track_area { track_area.clip_h(HEADER_H) } else if let Some(track_area) = track_area { track_area.clip_h(HEADER_H) }
else if let Some(scene_area) = scene_area { scene_area.clip_w(self.scenes_w) } else if let Some(scene_area) = scene_area { scene_area.clip_w(self.scenes_w) }
else { area.clip_w(self.scenes_w).clip_h(HEADER_H) }, &RETICLE)? else { area.clip_w(self.scenes_w).clip_h(HEADER_H) }, &self.reticle)?
}) })
})); }));
pub struct ArrangerVClips<'a> { pub struct ArrangerVClips<'a> {