From 97b7572504ba0faa23f4980ec949bf48366aa382 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Tue, 14 Jan 2020 14:35:50 -0500 Subject: [PATCH] Stroke clip edges in spectrum views too, improving split appearance --- .../playabletrack/wavetrack/ui/SpectrumView.cpp | 4 ++++ .../wavetrack/ui/WaveTrackView.cpp | 17 +++++++++++++++++ .../playabletrack/wavetrack/ui/WaveTrackView.h | 2 ++ .../playabletrack/wavetrack/ui/WaveformView.cpp | 14 +------------- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/tracks/playabletrack/wavetrack/ui/SpectrumView.cpp b/src/tracks/playabletrack/wavetrack/ui/SpectrumView.cpp index 56491c76e..d5b7cea50 100644 --- a/src/tracks/playabletrack/wavetrack/ui/SpectrumView.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/SpectrumView.cpp @@ -600,6 +600,10 @@ void DrawClipSpectrum(TrackPanelDrawingContext &context, memDC.SelectObject(converted); dc.Blit(mid.x, mid.y, mid.width, mid.height, &memDC, 0, 0, wxCOPY, FALSE); + + // Draw clip edges, as also in waveform view, which improves the appearance + // of split views + params.DrawClipEdges( dc, rect ); } } diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp b/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp index fc830866d..82697e037 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp @@ -15,6 +15,7 @@ Paul Licameli split from TrackPanel.cpp #include #include +#include "../../../../AColor.h" #include "../../../../WaveClip.h" #include "../../../../WaveTrack.h" @@ -909,6 +910,22 @@ ClipParameters::ClipParameters } } +void ClipParameters::DrawClipEdges( wxDC &dc, const wxRect &rect ) const +{ + // Draw clip edges + dc.SetPen(*wxGREY_PEN); + if (tpre < 0) { + AColor::Line(dc, + mid.x - 1, mid.y, + mid.x - 1, mid.y + rect.height); + } + if (tpost > t1) { + AColor::Line(dc, + mid.x + mid.width, mid.y, + mid.x + mid.width, mid.y + rect.height); + } +} + void WaveTrackView::Reparent( const std::shared_ptr &parent ) { // BuildSubViews(); // not really needed diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.h b/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.h index 94215796a..e688d47bf 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.h +++ b/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.h @@ -170,6 +170,8 @@ struct ClipParameters wxRect mid; int leftOffset; + + void DrawClipEdges( wxDC &dc, const wxRect &rect ) const; }; #endif diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveformView.cpp b/src/tracks/playabletrack/wavetrack/ui/WaveformView.cpp index 45eb16792..3ed5da033 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveformView.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/WaveformView.cpp @@ -903,19 +903,7 @@ void DrawClipWaveform(TrackPanelDrawingContext &context, if (h == 0.0 && tOffset < 0.0) { TrackArt::DrawNegativeOffsetTrackArrows( context, rect ); } - - // Draw clip edges - dc.SetPen(*wxGREY_PEN); - if (tpre < 0) { - AColor::Line(dc, - mid.x - 1, mid.y, - mid.x - 1, mid.y + rect.height); - } - if (tpost > t1) { - AColor::Line(dc, - mid.x + mid.width, mid.y, - mid.x + mid.width, mid.y + rect.height); - } + params.DrawClipEdges( dc, rect ); } void DrawTimeSlider( TrackPanelDrawingContext &context,