1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-03 09:09:47 +02:00
audacity/src/tracks/timetrack/ui/TimeTrackUI.cpp
Paul Licameli b0c6a67c33 TrackPanelMouseEvent stores shared_ptr to cell; some handles too...
... those handles that force a simulated button-up when play interrupts drag,
and can assume that pointers to tracks remain nonNULL and part of the current
project state (not the undo history).

Also pass shared_ptr to Track into more hit test routines.
2017-06-28 01:46:56 -04:00

38 lines
999 B
C++

/**********************************************************************
Audacity: A Digital Audio Editor
TimeTrackUI.cpp
Paul Licameli split from TrackPanel.cpp
**********************************************************************/
#include "../../../TimeTrack.h"
#include "TimeTrackControls.h"
#include "TimeTrackVRulerControls.h"
#include "../../../HitTestResult.h"
#include "../../../TrackPanelMouseEvent.h"
#include "../../../Project.h"
#include "../../ui/EnvelopeHandle.h"
HitTestResult TimeTrack::DetailedHitTest
(const TrackPanelMouseEvent &event,
const AudacityProject *pProject, int, bool)
{
return EnvelopeHandle::TimeTrackHitTest
( event.event, event.rect, pProject, Pointer<TimeTrack>(this) );
}
std::shared_ptr<TrackControls> TimeTrack::GetControls()
{
return std::make_shared<TimeTrackControls>( Pointer( this ) );
}
std::shared_ptr<TrackVRulerControls> TimeTrack::GetVRulerControls()
{
return std::make_shared<TimeTrackVRulerControls>( Pointer( this ) );
}