From 25641ae568fb01be5041c57b9da9908ec8cdcf64 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Wed, 21 Jun 2017 23:16:46 -0400 Subject: [PATCH] Highlight TCP buttons --- src/TrackPanel.cpp | 18 +++++++++--------- src/TrackPanel.h | 2 +- src/tracks/ui/ButtonHandle.cpp | 4 +++- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/TrackPanel.cpp b/src/TrackPanel.cpp index 58c7b4185..b14cb600b 100644 --- a/src/TrackPanel.cpp +++ b/src/TrackPanel.cpp @@ -1918,7 +1918,7 @@ void TrackInfo::CloseTitleDrawFunction bool hit = target && target->GetTrack().get() == pTrack; bool captured = hit && target->IsClicked(); bool down = captured && bev.Contains( context.lastState.GetPosition()); - AColor::Bevel2(*dc, !down, bev, selected ); + AColor::Bevel2(*dc, !down, bev, selected, hit ); #ifdef EXPERIMENTAL_THEMING wxPen pen( theTheme.Colour( clrTrackPanelText )); @@ -1954,7 +1954,7 @@ void TrackInfo::CloseTitleDrawFunction pTrack ? pTrack->GetName() : _("Name"); //bev.Inflate(-1, -1); - AColor::Bevel2(*dc, !down, bev, selected); + AColor::Bevel2(*dc, !down, bev, selected, hit); // Draw title text SetTrackInfoFont(dc); @@ -2024,7 +2024,7 @@ void TrackInfo::MinimizeSyncLockDrawFunction //AColor::MediumTrackInfo(dc, t->GetSelected()); //dc->DrawRectangle(bev); - AColor::Bevel2(*dc, !down, bev, selected); + AColor::Bevel2(*dc, !down, bev, selected, hit); #ifdef EXPERIMENTAL_THEMING wxColour c = theTheme.Colour(clrTrackPanelText); @@ -2123,7 +2123,7 @@ void TrackInfo::VelocitySliderDrawFunction void TrackInfo::MuteOrSoloDrawFunction ( wxDC *dc, const wxRect &bev, const Track *pTrack, bool down, bool captured, - bool solo ) + bool solo, bool hit ) { //bev.Inflate(-1, -1); bool selected = pTrack ? pTrack->GetSelected() : true; @@ -2163,7 +2163,7 @@ void TrackInfo::MuteOrSoloDrawFunction *dc, value == down, bev, - selected + selected, hit ); SetTrackInfoFont(dc); @@ -2183,7 +2183,7 @@ void TrackInfo::WideMuteDrawFunction bool hit = target && target->GetTrack().get() == pTrack; bool captured = hit && target->IsClicked(); bool down = captured && bev.Contains( context.lastState.GetPosition()); - MuteOrSoloDrawFunction( dc, bev, pTrack, down, captured, false ); + MuteOrSoloDrawFunction( dc, bev, pTrack, down, captured, false, hit ); } void TrackInfo::WideSoloDrawFunction @@ -2197,7 +2197,7 @@ void TrackInfo::WideSoloDrawFunction bool hit = target && target->GetTrack().get() == pTrack; bool captured = hit && target->IsClicked(); bool down = captured && bev.Contains( context.lastState.GetPosition()); - MuteOrSoloDrawFunction( dc, bev, pTrack, down, captured, true ); + MuteOrSoloDrawFunction( dc, bev, pTrack, down, captured, true, hit ); } void TrackInfo::MuteAndSoloDrawFunction @@ -2217,7 +2217,7 @@ void TrackInfo::MuteAndSoloDrawFunction bool hit = target && target->GetTrack().get() == pTrack; bool captured = hit && target->IsClicked(); bool down = captured && bev.Contains( context.lastState.GetPosition()); - MuteOrSoloDrawFunction( dc, bev, pTrack, down, captured, false ); + MuteOrSoloDrawFunction( dc, bev, pTrack, down, captured, false, hit ); } if( !bHasSoloButton ) @@ -2229,7 +2229,7 @@ void TrackInfo::MuteAndSoloDrawFunction bool hit = target && target->GetTrack().get() == pTrack; bool captured = hit && target->IsClicked(); bool down = captured && bev.Contains( context.lastState.GetPosition()); - MuteOrSoloDrawFunction( dc, bev, pTrack, down, captured, true ); + MuteOrSoloDrawFunction( dc, bev, pTrack, down, captured, true, hit ); } } diff --git a/src/TrackPanel.h b/src/TrackPanel.h index 11a7e03bc..943aeb540 100644 --- a/src/TrackPanel.h +++ b/src/TrackPanel.h @@ -139,7 +139,7 @@ public: static void MuteOrSoloDrawFunction ( wxDC *dc, const wxRect &rect, const Track *pTrack, bool down, - bool captured, bool solo ); + bool captured, bool solo, bool hit ); static void WideMuteDrawFunction ( TrackPanelDrawingContext &context, diff --git a/src/tracks/ui/ButtonHandle.cpp b/src/tracks/ui/ButtonHandle.cpp index 4e07932a0..54412c936 100644 --- a/src/tracks/ui/ButtonHandle.cpp +++ b/src/tracks/ui/ButtonHandle.cpp @@ -24,7 +24,9 @@ ButtonHandle::ButtonHandle ( const std::shared_ptr &pTrack, const wxRect &rect ) : mpTrack{ pTrack } , mRect{ rect } -{} +{ + mChangeHighlight = RefreshCode::RefreshCell; +} ButtonHandle::~ButtonHandle() {