From 5eeb47d996932395073e4fb8471ebe97e60bec78 Mon Sep 17 00:00:00 2001 From: unspeaker Date: Tue, 20 Aug 2024 14:43:39 +0300 Subject: [PATCH] arranger, sequencer: borders --- crates/tek_sequencer/src/arranger_view.rs | 30 ++++++++++++++------ crates/tek_sequencer/src/sequencer_render.rs | 30 ++++++++++++++------ 2 files changed, 42 insertions(+), 18 deletions(-) diff --git a/crates/tek_sequencer/src/arranger_view.rs b/crates/tek_sequencer/src/arranger_view.rs index 14ea851e..0c7fc983 100644 --- a/crates/tek_sequencer/src/arranger_view.rs +++ b/crates/tek_sequencer/src/arranger_view.rs @@ -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)?; diff --git a/crates/tek_sequencer/src/sequencer_render.rs b/crates/tek_sequencer/src/sequencer_render.rs index 57052d97..c44121e2 100644 --- a/crates/tek_sequencer/src/sequencer_render.rs +++ b/crates/tek_sequencer/src/sequencer_render.rs @@ -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 {