arranger, sequencer: borders

This commit is contained in:
🪞👃🪞 2024-08-20 14:43:39 +03:00
parent 8e22cb6eb5
commit 5eeb47d996
2 changed files with 42 additions and 18 deletions

View file

@ -21,15 +21,27 @@ impl ArrangerViewMode {
}
render!(Arranger |self, buf, area| {
let arrangement = |buf, area| match self.mode {
ArrangerViewMode::Horizontal =>
super::arranger_view_h::draw(self, buf, area),
ArrangerViewMode::VerticalCompact1 =>
super::arranger_view_v::draw_compact_1(self, buf, area),
ArrangerViewMode::VerticalCompact2 =>
super::arranger_view_v::draw_compact_2(self, buf, area),
ArrangerViewMode::VerticalExpanded =>
super::arranger_view_v::draw_expanded(self, buf, area),
let arrangement = |buf: &mut Buffer, area: Rect| {
let area = Rect {
x: area.x + 1, width: area.width - 2, y: area.y + 1, height: area.height - 2
};
let area = match self.mode {
ArrangerViewMode::Horizontal =>
super::arranger_view_h::draw(self, buf, area),
ArrangerViewMode::VerticalCompact1 =>
super::arranger_view_v::draw_compact_1(self, buf, area),
ArrangerViewMode::VerticalCompact2 =>
super::arranger_view_v::draw_compact_2(self, buf, area),
ArrangerViewMode::VerticalExpanded =>
super::arranger_view_v::draw_expanded(self, buf, area),
}?;
let area = Rect {
x: area.x - 1,
width: area.width + 2,
y: area.y - 1,
height: area.height + 2,
};
Lozenge(Style::default().fg(Nord::bg_hi(false, false))).draw(buf, area)
};
let area = if let Some(direction) = self.show_sequencer {
let arrangement = arrangement(buf, area)?;

View file

@ -58,17 +58,29 @@ impl Sequencer {
const H_KEYS_OFFSET: usize = 5;
fn horizontal_draw (&self, buf: &mut Buffer, mut area: Rect) -> Usually<()> {
Lozenge(Style::default().fg(Nord::bg_hi(false, false))).draw(buf, Rect {
x: area.x, y: area.y + 1, width: 15, height: 4
})?;
"Start 1.1.1".blit(buf, area.x + 1, area.y + 2, None)?;
"End 2.1.1".blit(buf, area.x + 1, area.y + 3, None)?;
"[ Loop off ] ".blit(buf, area.x + 1, area.y + 5, None)?;
"Loop 1.1.1".blit(buf, area.x + 1, area.y + 6, None)?;
"Length 1.0.0".blit(buf, area.x + 1, area.y + 7, None)?;
"Notes -------".blit(buf, area.x + 1, area.y + 9, None)?;
"[ /2 ] [ x2 ]".blit(buf, area.x + 1, area.y + 10, None)?;
"[ Reverse ]".blit(buf, area.x + 1, area.y + 11, None)?;
"[ Invert ]".blit(buf, area.x + 1, area.y + 12, None)?;
"[ Duplicate ]".blit(buf, area.x + 1, area.y + 13, None)?;
area.x = area.x + 16;
Lozenge(Style::default().fg(Nord::bg_hi(false, false))).draw(buf, Rect {
x: area.x, y: area.y + 5, width: 15, height: 5
})?;
"[ Loop off ] ".blit(buf, area.x + 1, area.y + 6, None)?;
"Loop 1.1.1".blit(buf, area.x + 1, area.y + 7, None)?;
"Length 1.0.0".blit(buf, area.x + 1, area.y + 8, None)?;
Lozenge(Style::default().fg(Nord::bg_hi(false, false))).draw(buf, Rect {
x: area.x, y: area.y + 10, width: 15, height: 7
})?;
"Notes -------".blit(buf, area.x + 1, area.y + 11, None)?;
"[ /2 ] [ x2 ]".blit(buf, area.x + 1, area.y + 12, None)?;
"[ Reverse ]".blit(buf, area.x + 1, area.y + 13, None)?;
"[ Invert ]".blit(buf, area.x + 1, area.y + 14, None)?;
"[ Duplicate ]".blit(buf, area.x + 1, area.y + 15, None)?;
area.x = area.x + 15;
area.width = area.width.saturating_sub(12);
self.horizontal_keys(buf, area)?;
if let Some(ref phrase) = self.phrase {