1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-14 17:14:07 +01:00

Highlighting of Wave and Note track vertical rulers

This commit is contained in:
Paul Licameli
2017-06-22 19:20:16 -04:00
parent ed4057ae1b
commit b11c3c8ccf
3 changed files with 17 additions and 4 deletions

View File

@@ -518,6 +518,11 @@ void TrackArtist::DrawVRuler
(TrackPanelDrawingContext &context, const Track *t, wxRect & rect)
{
auto dc = &context.dc;
bool highlight = false;
#ifdef EXPERIMENTAL_TRACK_PANEL_HIGHLIGHTING
highlight = rect.Contains(context.lastState.GetPosition());
#endif
int kind = t->GetKind();
// Label and Time tracks do not have a vruler
@@ -560,7 +565,7 @@ void TrackArtist::DrawVRuler
wxRect bev = rect;
bev.Inflate(-1, 0);
bev.width += 1;
AColor::BevelTrackInfo(*dc, true, bev);
AColor::BevelTrackInfo(*dc, true, bev, highlight);
// Right align the ruler
wxRect rr = rect;
@@ -583,7 +588,7 @@ void TrackArtist::DrawVRuler
if (kind == Track::Note) {
UpdateVRuler(t, rect);
dc->SetPen(*wxTRANSPARENT_PEN);
dc->SetPen(highlight ? AColor::uglyPen : *wxTRANSPARENT_PEN);
dc->SetBrush(*wxWHITE_BRUSH);
wxRect bev = rect;
bev.x++;

View File

@@ -10,6 +10,7 @@ Paul Licameli split from TrackPanel.cpp
#include "../../../../Audacity.h"
#include "NoteTrackVZoomHandle.h"
#include "../../../../Experimental.h"
#include "NoteTrackVRulerControls.h"
#include "../../../../HitTestResult.h"
@@ -38,7 +39,11 @@ NoteTrackVZoomHandle::NoteTrackVZoomHandle
(const std::shared_ptr<NoteTrack> &pTrack, const wxRect &rect, int y)
: mZoomStart(y), mZoomEnd(y), mRect(rect)
, mpTrack{ pTrack }
{}
{
#ifdef EXPERIMENTAL_TRACK_PANEL_HIGHLIGHTING
mChangeHighlight = RefreshCode::RefreshCell;
#endif
}
HitTestPreview NoteTrackVZoomHandle::HitPreview(const wxMouseState &state)
{

View File

@@ -10,6 +10,7 @@ Paul Licameli split from TrackPanel.cpp
#include "../../../../Audacity.h"
#include "WaveTrackVZoomHandle.h"
#include "../../../../Experimental.h"
#include "WaveTrackVRulerControls.h"
#include "../../../../HitTestResult.h"
@@ -47,7 +48,9 @@ WaveTrackVZoomHandle::WaveTrackVZoomHandle
(const std::shared_ptr<WaveTrack> &pTrack, const wxRect &rect, int y)
: mZoomStart(y), mZoomEnd(y), mRect(rect)
, mpTrack{ pTrack }
{}
{
mChangeHighlight = RefreshCode::RefreshCell;
}
void WaveTrackVZoomHandle::DoZoom
(AudacityProject *pProject,