1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-01 16:19:43 +02:00

Delegate DoDetailedHitTest through base class WaveTrackSubView

This commit is contained in:
Paul Licameli 2019-07-11 10:37:30 -04:00
parent 54493f34a5
commit 633153c91f
4 changed files with 24 additions and 2 deletions

View File

@ -43,7 +43,7 @@ std::vector<UIHandlePtr> SpectrumView::DetailedHitTest(
{
const auto wt = std::static_pointer_cast< WaveTrack >( FindTrack() );
return WaveTrackView::DoDetailedHitTest(
return WaveTrackSubView::DoDetailedHitTest(
state, pProject, currentTool, bMultiTool, wt, *this
).second;
}

View File

@ -27,6 +27,19 @@ Paul Licameli split from TrackPanel.cpp
#include "../../../ui/TimeShiftHandle.h"
std::pair<
bool, // if true, hit-testing is finished
std::vector<UIHandlePtr>
> WaveTrackSubView::DoDetailedHitTest(
const TrackPanelMouseState &state,
const AudacityProject *pProject, int currentTool, bool bMultiTool,
const std::shared_ptr<WaveTrack> &wt,
CommonTrackView &view)
{
return WaveTrackView::DoDetailedHitTest(
state, pProject, currentTool, bMultiTool, wt, view);
}
WaveTrackView &WaveTrackView::Get( WaveTrack &track )
{
return static_cast< WaveTrackView& >( TrackView::Get( track ) );

View File

@ -22,6 +22,15 @@ public:
using CommonTrackView::CommonTrackView;
virtual WaveTrackViewConstants::Display SubViewType() const = 0;
std::pair<
bool, // if true, hit-testing is finished
std::vector<UIHandlePtr>
> DoDetailedHitTest(
const TrackPanelMouseState &state,
const AudacityProject *pProject, int currentTool, bool bMultiTool,
const std::shared_ptr<WaveTrack> &wt,
CommonTrackView &view);
};
struct WaveTrackSubViewPlacement {

View File

@ -46,7 +46,7 @@ std::vector<UIHandlePtr> WaveformView::DetailedHitTest(
auto &view = *this;
auto pair = WaveTrackView::DoDetailedHitTest(
auto pair = WaveTrackSubView::DoDetailedHitTest(
st, pProject, currentTool, bMultiTool, wt, view);
auto &results = pair.second;