1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-30 07:08:39 +02:00

Separate classes for waveform, spectrum VRulers, stub methods for now

This commit is contained in:
Paul Licameli 2019-07-06 11:11:21 -04:00
parent bc823294f2
commit cffbf6f401
5 changed files with 165 additions and 0 deletions

View File

@ -0,0 +1,13 @@
/**********************************************************************
Audacity: A Digital Audio Editor
SpectrumVRulerControls.cpp
Paul Licameli split from WaveTrackVRulerControls.cpp
**********************************************************************/
#include "SpectrumVRulerControls.h"
SpectrumVRulerControls::~SpectrumVRulerControls() = default;

View File

@ -0,0 +1,45 @@
/**********************************************************************
Audacity: A Digital Audio Editor
SpectrumVRulerControls.h
Paul Licameli split from WaveTrackVRulerControls.h
**********************************************************************/
#ifndef __AUDACITY_SPECTRUM_VRULER_CONTROLS__
#define __AUDACITY_SPECTRUM_VRULER_CONTROLS__
#include "../../../ui/TrackVRulerControls.h" // to inherit
class SpectrumVRulerControls final : public TrackVRulerControls
{
SpectrumVRulerControls(const SpectrumVRulerControls&) = delete;
SpectrumVRulerControls &operator=(const SpectrumVRulerControls&) = delete;
public:
explicit
SpectrumVRulerControls( const std::shared_ptr<TrackView> &pTrackView )
: TrackVRulerControls( pTrackView ) {}
~SpectrumVRulerControls() override;
std::vector<UIHandlePtr> HitTest(
const TrackPanelMouseState &state,
const AudacityProject *) override;
unsigned HandleWheelRotation(
const TrackPanelMouseEvent &event,
AudacityProject *pProject) override;
private:
// TrackPanelDrawable implementation
void Draw(
TrackPanelDrawingContext &context,
const wxRect &rect, unsigned iPass ) override;
// TrackVRulerControls implementation
void UpdateRuler( const wxRect &rect ) override;
};
#endif

View File

@ -16,6 +16,9 @@ Paul Licameli split from TrackPanel.cpp
#include "SpectrumVZoomHandle.h"
#include "WaveformVZoomHandle.h"
#include "SpectrumVRulerControls.h"
#include "WaveformVRulerControls.h"
#include "../../../../Experimental.h"
#include "../../../../HitTestResult.h"
@ -38,6 +41,20 @@ WaveTrackVRulerControls::~WaveTrackVRulerControls()
{
}
std::vector<UIHandlePtr> SpectrumVRulerControls::HitTest(
const TrackPanelMouseState &st,
const AudacityProject *pProject)
{
return {};
}
std::vector<UIHandlePtr> WaveformVRulerControls::HitTest(
const TrackPanelMouseState &st,
const AudacityProject *pProject)
{
return {};
}
std::vector<UIHandlePtr> WaveTrackVRulerControls::HitTest
(const TrackPanelMouseState &st,
const AudacityProject *pProject)
@ -60,6 +77,18 @@ std::vector<UIHandlePtr> WaveTrackVRulerControls::HitTest
return results;
}
unsigned WaveformVRulerControls::HandleWheelRotation(
const TrackPanelMouseEvent &evt, AudacityProject *pProject)
{
return 0;
}
unsigned SpectrumVRulerControls::HandleWheelRotation(
const TrackPanelMouseEvent &evt, AudacityProject *pProject)
{
return 0;
}
unsigned WaveTrackVRulerControls::HandleWheelRotation
(const TrackPanelMouseEvent &evt, AudacityProject *pProject)
{
@ -198,6 +227,18 @@ namespace {
}
}
void WaveformVRulerControls::Draw(
TrackPanelDrawingContext &context,
const wxRect &rect_, unsigned iPass )
{
}
void SpectrumVRulerControls::Draw(
TrackPanelDrawingContext &context,
const wxRect &rect_, unsigned iPass )
{
}
void WaveTrackVRulerControls::Draw(
TrackPanelDrawingContext &context,
const wxRect &rect_, unsigned iPass )
@ -250,6 +291,14 @@ void WaveTrackVRulerControls::Draw(
}
}
void WaveformVRulerControls::UpdateRuler( const wxRect &rect )
{
}
void SpectrumVRulerControls::UpdateRuler( const wxRect &rect )
{
}
void WaveTrackVRulerControls::UpdateRuler( const wxRect &rect )
{
const auto wt = std::static_pointer_cast< WaveTrack >( FindTrack() );

View File

@ -0,0 +1,13 @@
/**********************************************************************
Audacity: A Digital Audio Editor
WaveformVRulerControls.cpp
Paul Licameli split from WaveTrackVRulerControls.cpp
**********************************************************************/
#include "WaveformVRulerControls.h"
WaveformVRulerControls::~WaveformVRulerControls() = default;

View File

@ -0,0 +1,45 @@
/**********************************************************************
Audacity: A Digital Audio Editor
WaveformVRulerControls.h
Paul Licameli split from WaveTrackVRulerControls.h
**********************************************************************/
#ifndef __AUDACITY_WAVEFORM_VRULER_CONTROLS__
#define __AUDACITY_WAVEFORM_VRULER_CONTROLS__
#include "../../../ui/TrackVRulerControls.h" // to inherit
class WaveformVRulerControls final : public TrackVRulerControls
{
WaveformVRulerControls(const WaveformVRulerControls&) = delete;
WaveformVRulerControls &operator=(const WaveformVRulerControls&) = delete;
public:
explicit
WaveformVRulerControls( const std::shared_ptr<TrackView> &pTrackView )
: TrackVRulerControls( pTrackView ) {}
~WaveformVRulerControls() override;
std::vector<UIHandlePtr> HitTest(
const TrackPanelMouseState &state,
const AudacityProject *) override;
unsigned HandleWheelRotation(
const TrackPanelMouseEvent &event,
AudacityProject *pProject) override;
private:
// TrackPanelDrawable implementation
void Draw(
TrackPanelDrawingContext &context,
const wxRect &rect, unsigned iPass ) override;
// TrackVRulerControls implementation
void UpdateRuler( const wxRect &rect ) override;
};
#endif