mirror of
https://github.com/cookiengineer/audacity
synced 2025-09-17 16:50:26 +02:00
Define drawing function of CellularPanel, which visits nodes
This commit is contained in:
parent
040decf9e3
commit
cb2ea25afc
@ -252,6 +252,7 @@ src/TrackPanel.h
|
|||||||
src/TrackPanelAx.cpp
|
src/TrackPanelAx.cpp
|
||||||
src/TrackPanelAx.h
|
src/TrackPanelAx.h
|
||||||
src/TrackPanelCell.h
|
src/TrackPanelCell.h
|
||||||
|
src/TrackPanelDrawable.h
|
||||||
src/TrackPanelDrawingContext.h
|
src/TrackPanelDrawingContext.h
|
||||||
src/TrackPanelListener.h
|
src/TrackPanelListener.h
|
||||||
src/TrackPanelMouseEvent.h
|
src/TrackPanelMouseEvent.h
|
||||||
|
@ -3238,6 +3238,7 @@
|
|||||||
5E19D64C217D51190024D0B1 /* PluginMenus.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PluginMenus.cpp; path = menus/PluginMenus.cpp; sourceTree = "<group>"; };
|
5E19D64C217D51190024D0B1 /* PluginMenus.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PluginMenus.cpp; path = menus/PluginMenus.cpp; sourceTree = "<group>"; };
|
||||||
5E19F59722A9665500E3F88E /* AutoRecoveryDialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AutoRecoveryDialog.cpp; sourceTree = "<group>"; };
|
5E19F59722A9665500E3F88E /* AutoRecoveryDialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AutoRecoveryDialog.cpp; sourceTree = "<group>"; };
|
||||||
5E19F59822A9665500E3F88E /* AutoRecoveryDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoRecoveryDialog.h; sourceTree = "<group>"; };
|
5E19F59822A9665500E3F88E /* AutoRecoveryDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoRecoveryDialog.h; sourceTree = "<group>"; };
|
||||||
|
5E1C3F4D218F7604002CD087 /* TrackPanelDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrackPanelDrawable.h; sourceTree = "<group>"; };
|
||||||
5E2A19921EED688500217B58 /* SelectionState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelectionState.cpp; sourceTree = "<group>"; };
|
5E2A19921EED688500217B58 /* SelectionState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SelectionState.cpp; sourceTree = "<group>"; };
|
||||||
5E2A19931EED688500217B58 /* SelectionState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelectionState.h; sourceTree = "<group>"; };
|
5E2A19931EED688500217B58 /* SelectionState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SelectionState.h; sourceTree = "<group>"; };
|
||||||
5E2B3E6022BF9621005042E1 /* RealtimeEffectManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RealtimeEffectManager.cpp; sourceTree = "<group>"; };
|
5E2B3E6022BF9621005042E1 /* RealtimeEffectManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RealtimeEffectManager.cpp; sourceTree = "<group>"; };
|
||||||
@ -4607,6 +4608,7 @@
|
|||||||
1790B0ED09883BFD008A330A /* TrackPanel.h */,
|
1790B0ED09883BFD008A330A /* TrackPanel.h */,
|
||||||
1790B0EF09883BFD008A330A /* TrackPanelAx.h */,
|
1790B0EF09883BFD008A330A /* TrackPanelAx.h */,
|
||||||
5E74D2D91CC4427B00D88B0B /* TrackPanelCell.h */,
|
5E74D2D91CC4427B00D88B0B /* TrackPanelCell.h */,
|
||||||
|
5E1C3F4D218F7604002CD087 /* TrackPanelDrawable.h */,
|
||||||
5E52335F1EFDD57D001E4BB8 /* TrackPanelDrawingContext.h */,
|
5E52335F1EFDD57D001E4BB8 /* TrackPanelDrawingContext.h */,
|
||||||
2803C8B619F35AA000278526 /* TrackPanelListener.h */,
|
2803C8B619F35AA000278526 /* TrackPanelListener.h */,
|
||||||
5E15123A1DB000C000702E29 /* TrackPanelMouseEvent.h */,
|
5E15123A1DB000C000702E29 /* TrackPanelMouseEvent.h */,
|
||||||
|
@ -1122,3 +1122,32 @@ std::shared_ptr<TrackPanelCell> CellularPanel::LastCell() const
|
|||||||
auto &state = *mState;
|
auto &state = *mState;
|
||||||
return state.mLastCell.lock();
|
return state.mLastCell.lock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CellularPanel::Draw( TrackPanelDrawingContext &context, unsigned nPasses )
|
||||||
|
{
|
||||||
|
const auto panelRect = GetClientRect();
|
||||||
|
auto lastCell = LastCell();
|
||||||
|
for ( unsigned iPass = 0; iPass < nPasses; ++iPass ) {
|
||||||
|
|
||||||
|
VisitPostorder( [&]( const wxRect &rect, TrackPanelNode &node ) {
|
||||||
|
|
||||||
|
// Draw the node
|
||||||
|
const auto newRect = node.DrawingArea( rect, panelRect, iPass );
|
||||||
|
if ( newRect.Intersects( panelRect ) )
|
||||||
|
node.Draw( context, newRect, iPass );
|
||||||
|
|
||||||
|
// Draw the current handle if it is associated with the node
|
||||||
|
if ( &node == lastCell.get() ) {
|
||||||
|
auto target = Target();
|
||||||
|
if ( target ) {
|
||||||
|
const auto targetRect =
|
||||||
|
target->DrawingArea( rect, panelRect, iPass );
|
||||||
|
if ( targetRect.Intersects( panelRect ) )
|
||||||
|
target->Draw( context, targetRect, iPass );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} ); // nodes
|
||||||
|
|
||||||
|
} // passes
|
||||||
|
}
|
||||||
|
@ -17,6 +17,7 @@ class ViewInfo;
|
|||||||
class AudacityProject;
|
class AudacityProject;
|
||||||
|
|
||||||
class TrackPanelCell;
|
class TrackPanelCell;
|
||||||
|
struct TrackPanelDrawingContext;
|
||||||
class TrackPanelGroup;
|
class TrackPanelGroup;
|
||||||
class TrackPanelNode;
|
class TrackPanelNode;
|
||||||
struct TrackPanelMouseEvent;
|
struct TrackPanelMouseEvent;
|
||||||
@ -108,6 +109,12 @@ public:
|
|||||||
|
|
||||||
void HandleCursorForPresentMouseState(bool doHit = true);
|
void HandleCursorForPresentMouseState(bool doHit = true);
|
||||||
|
|
||||||
|
// Visit the Draw functions of all cells that intersect the panel area,
|
||||||
|
// and of handles associated with such cells,
|
||||||
|
// and of all groups of cells,
|
||||||
|
// repeatedly with a pass count from 0 to nPasses - 1
|
||||||
|
void Draw( TrackPanelDrawingContext &context, unsigned nPasses );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool HasEscape();
|
bool HasEscape();
|
||||||
bool CancelDragging( bool escaping );
|
bool CancelDragging( bool escaping );
|
||||||
|
@ -298,6 +298,7 @@ audacity_SOURCES = \
|
|||||||
TrackPanelAx.cpp \
|
TrackPanelAx.cpp \
|
||||||
TrackPanelAx.h \
|
TrackPanelAx.h \
|
||||||
TrackPanelCell.h \
|
TrackPanelCell.h \
|
||||||
|
TrackPanelDrawable.h \
|
||||||
TrackPanelDrawingContext.h \
|
TrackPanelDrawingContext.h \
|
||||||
TrackPanelListener.h \
|
TrackPanelListener.h \
|
||||||
TrackPanelMouseEvent.h \
|
TrackPanelMouseEvent.h \
|
||||||
|
@ -345,26 +345,26 @@ am__audacity_SOURCES_DIST = BlockFile.cpp BlockFile.h DirManager.cpp \
|
|||||||
TimeTrack.h Track.cpp Track.h TrackArtist.cpp TrackArtist.h \
|
TimeTrack.h Track.cpp Track.h TrackArtist.cpp TrackArtist.h \
|
||||||
TrackInfo.cpp TrackInfo.h TrackPanel.cpp TrackPanel.h \
|
TrackInfo.cpp TrackInfo.h TrackPanel.cpp TrackPanel.h \
|
||||||
TrackPanelAx.cpp TrackPanelAx.h TrackPanelCell.h \
|
TrackPanelAx.cpp TrackPanelAx.h TrackPanelCell.h \
|
||||||
TrackPanelDrawingContext.h TrackPanelListener.h \
|
TrackPanelDrawable.h TrackPanelDrawingContext.h \
|
||||||
TrackPanelMouseEvent.h TrackPanelResizeHandle.cpp \
|
TrackPanelListener.h TrackPanelMouseEvent.h \
|
||||||
TrackPanelResizeHandle.h TrackPanelResizerCell.cpp \
|
TrackPanelResizeHandle.cpp TrackPanelResizeHandle.h \
|
||||||
TrackPanelResizerCell.h TrackUtilities.cpp TrackUtilities.h \
|
TrackPanelResizerCell.cpp TrackPanelResizerCell.h \
|
||||||
TranslatableStringArray.h UIHandle.h UIHandle.cpp \
|
TrackUtilities.cpp TrackUtilities.h TranslatableStringArray.h \
|
||||||
UndoManager.cpp UndoManager.h UserException.cpp \
|
UIHandle.h UIHandle.cpp UndoManager.cpp UndoManager.h \
|
||||||
UserException.h ViewInfo.cpp ViewInfo.h VoiceKey.cpp \
|
UserException.cpp UserException.h ViewInfo.cpp ViewInfo.h \
|
||||||
VoiceKey.h WaveClip.cpp WaveClip.h WaveTrack.cpp WaveTrack.h \
|
VoiceKey.cpp VoiceKey.h WaveClip.cpp WaveClip.h WaveTrack.cpp \
|
||||||
WaveTrackLocation.h WrappedType.cpp WrappedType.h ZoomInfo.cpp \
|
WaveTrack.h WaveTrackLocation.h WrappedType.cpp WrappedType.h \
|
||||||
ZoomInfo.h wxFileNameWrapper.h commands/AppCommandEvent.cpp \
|
ZoomInfo.cpp ZoomInfo.h wxFileNameWrapper.h \
|
||||||
commands/AppCommandEvent.h commands/AudacityCommand.cpp \
|
commands/AppCommandEvent.cpp commands/AppCommandEvent.h \
|
||||||
commands/AudacityCommand.h commands/BatchEvalCommand.cpp \
|
commands/AudacityCommand.cpp commands/AudacityCommand.h \
|
||||||
commands/BatchEvalCommand.h commands/Command.cpp \
|
commands/BatchEvalCommand.cpp commands/BatchEvalCommand.h \
|
||||||
commands/Command.h commands/CommandBuilder.cpp \
|
commands/Command.cpp commands/Command.h \
|
||||||
commands/CommandBuilder.h commands/CommandContext.cpp \
|
commands/CommandBuilder.cpp commands/CommandBuilder.h \
|
||||||
commands/CommandContext.h commands/CommandDirectory.cpp \
|
commands/CommandContext.cpp commands/CommandContext.h \
|
||||||
commands/CommandDirectory.h commands/CommandFlag.h \
|
commands/CommandDirectory.cpp commands/CommandDirectory.h \
|
||||||
commands/CommandFunctors.h commands/CommandHandler.cpp \
|
commands/CommandFlag.h commands/CommandFunctors.h \
|
||||||
commands/CommandHandler.h commands/CommandManager.cpp \
|
commands/CommandHandler.cpp commands/CommandHandler.h \
|
||||||
commands/CommandManager.h \
|
commands/CommandManager.cpp commands/CommandManager.h \
|
||||||
commands/CommandManagerWindowClasses.h commands/CommandMisc.h \
|
commands/CommandManagerWindowClasses.h commands/CommandMisc.h \
|
||||||
commands/CommandSignature.cpp commands/CommandSignature.h \
|
commands/CommandSignature.cpp commands/CommandSignature.h \
|
||||||
commands/CommandTargets.h commands/CommandType.cpp \
|
commands/CommandTargets.h commands/CommandType.cpp \
|
||||||
@ -1449,26 +1449,26 @@ audacity_SOURCES = $(libaudacity_la_SOURCES) AboutDialog.cpp \
|
|||||||
TimeTrack.h Track.cpp Track.h TrackArtist.cpp TrackArtist.h \
|
TimeTrack.h Track.cpp Track.h TrackArtist.cpp TrackArtist.h \
|
||||||
TrackInfo.cpp TrackInfo.h TrackPanel.cpp TrackPanel.h \
|
TrackInfo.cpp TrackInfo.h TrackPanel.cpp TrackPanel.h \
|
||||||
TrackPanelAx.cpp TrackPanelAx.h TrackPanelCell.h \
|
TrackPanelAx.cpp TrackPanelAx.h TrackPanelCell.h \
|
||||||
TrackPanelDrawingContext.h TrackPanelListener.h \
|
TrackPanelDrawable.h TrackPanelDrawingContext.h \
|
||||||
TrackPanelMouseEvent.h TrackPanelResizeHandle.cpp \
|
TrackPanelListener.h TrackPanelMouseEvent.h \
|
||||||
TrackPanelResizeHandle.h TrackPanelResizerCell.cpp \
|
TrackPanelResizeHandle.cpp TrackPanelResizeHandle.h \
|
||||||
TrackPanelResizerCell.h TrackUtilities.cpp TrackUtilities.h \
|
TrackPanelResizerCell.cpp TrackPanelResizerCell.h \
|
||||||
TranslatableStringArray.h UIHandle.h UIHandle.cpp \
|
TrackUtilities.cpp TrackUtilities.h TranslatableStringArray.h \
|
||||||
UndoManager.cpp UndoManager.h UserException.cpp \
|
UIHandle.h UIHandle.cpp UndoManager.cpp UndoManager.h \
|
||||||
UserException.h ViewInfo.cpp ViewInfo.h VoiceKey.cpp \
|
UserException.cpp UserException.h ViewInfo.cpp ViewInfo.h \
|
||||||
VoiceKey.h WaveClip.cpp WaveClip.h WaveTrack.cpp WaveTrack.h \
|
VoiceKey.cpp VoiceKey.h WaveClip.cpp WaveClip.h WaveTrack.cpp \
|
||||||
WaveTrackLocation.h WrappedType.cpp WrappedType.h ZoomInfo.cpp \
|
WaveTrack.h WaveTrackLocation.h WrappedType.cpp WrappedType.h \
|
||||||
ZoomInfo.h wxFileNameWrapper.h commands/AppCommandEvent.cpp \
|
ZoomInfo.cpp ZoomInfo.h wxFileNameWrapper.h \
|
||||||
commands/AppCommandEvent.h commands/AudacityCommand.cpp \
|
commands/AppCommandEvent.cpp commands/AppCommandEvent.h \
|
||||||
commands/AudacityCommand.h commands/BatchEvalCommand.cpp \
|
commands/AudacityCommand.cpp commands/AudacityCommand.h \
|
||||||
commands/BatchEvalCommand.h commands/Command.cpp \
|
commands/BatchEvalCommand.cpp commands/BatchEvalCommand.h \
|
||||||
commands/Command.h commands/CommandBuilder.cpp \
|
commands/Command.cpp commands/Command.h \
|
||||||
commands/CommandBuilder.h commands/CommandContext.cpp \
|
commands/CommandBuilder.cpp commands/CommandBuilder.h \
|
||||||
commands/CommandContext.h commands/CommandDirectory.cpp \
|
commands/CommandContext.cpp commands/CommandContext.h \
|
||||||
commands/CommandDirectory.h commands/CommandFlag.h \
|
commands/CommandDirectory.cpp commands/CommandDirectory.h \
|
||||||
commands/CommandFunctors.h commands/CommandHandler.cpp \
|
commands/CommandFlag.h commands/CommandFunctors.h \
|
||||||
commands/CommandHandler.h commands/CommandManager.cpp \
|
commands/CommandHandler.cpp commands/CommandHandler.h \
|
||||||
commands/CommandManager.h \
|
commands/CommandManager.cpp commands/CommandManager.h \
|
||||||
commands/CommandManagerWindowClasses.h commands/CommandMisc.h \
|
commands/CommandManagerWindowClasses.h commands/CommandMisc.h \
|
||||||
commands/CommandSignature.cpp commands/CommandSignature.h \
|
commands/CommandSignature.cpp commands/CommandSignature.h \
|
||||||
commands/CommandTargets.h commands/CommandType.cpp \
|
commands/CommandTargets.h commands/CommandType.cpp \
|
||||||
|
@ -1666,6 +1666,21 @@ void TrackPanel::OnTrackFocusChange( wxCommandEvent &event )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TrackPanelDrawable::~TrackPanelDrawable()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void TrackPanelDrawable::Draw(
|
||||||
|
TrackPanelDrawingContext &, const wxRect &, unsigned )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
wxRect TrackPanelDrawable::DrawingArea(
|
||||||
|
const wxRect &rect, const wxRect &, unsigned )
|
||||||
|
{
|
||||||
|
return rect;
|
||||||
|
}
|
||||||
|
|
||||||
TrackPanelNode::TrackPanelNode()
|
TrackPanelNode::TrackPanelNode()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -14,9 +14,11 @@ Paul Licameli
|
|||||||
#include "Audacity.h"
|
#include "Audacity.h"
|
||||||
|
|
||||||
#include "MemoryX.h"
|
#include "MemoryX.h"
|
||||||
|
#include "TrackPanelDrawable.h" // to inherit
|
||||||
|
|
||||||
class AudacityProject;
|
class AudacityProject;
|
||||||
struct HitTestPreview;
|
struct HitTestPreview;
|
||||||
|
struct TrackPanelDrawingContext;
|
||||||
struct TrackPanelMouseEvent;
|
struct TrackPanelMouseEvent;
|
||||||
struct TrackPanelMouseState;
|
struct TrackPanelMouseState;
|
||||||
class ViewInfo;
|
class ViewInfo;
|
||||||
@ -31,9 +33,9 @@ using UIHandlePtr = std::shared_ptr<UIHandle>;
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
/// \brief The TrackPanel is built up of nodes, subtrees of the CellularPanel's area
|
/// \brief The TrackPanel is built up of nodes, subtrees of the CellularPanel's area
|
||||||
/// This class itself has almost nothing in it. Other classes derived from it
|
/// Common base class for TrackPanelCell (leaf) and TrackPanelGroup (nonleaf)
|
||||||
/// build up the capabilities.
|
|
||||||
class AUDACITY_DLL_API /* not final */ TrackPanelNode
|
class AUDACITY_DLL_API /* not final */ TrackPanelNode
|
||||||
|
: public TrackPanelDrawable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TrackPanelNode();
|
TrackPanelNode();
|
||||||
|
51
src/TrackPanelDrawable.h
Normal file
51
src/TrackPanelDrawable.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/**********************************************************************
|
||||||
|
|
||||||
|
Audacity: A Digital Audio Editor
|
||||||
|
|
||||||
|
TrackPanelDrawable.h
|
||||||
|
|
||||||
|
Paul Licameli
|
||||||
|
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
#ifndef __AUDACITY_TRACK_PANEL_DRAWABLE__
|
||||||
|
#define __AUDACITY_TRACK_PANEL_DRAWABLE__
|
||||||
|
|
||||||
|
struct TrackPanelDrawingContext;
|
||||||
|
struct wxRect;
|
||||||
|
|
||||||
|
/// \brief Drawing interface common to cells, groups of cells, and temporary handles in CellularPanel
|
||||||
|
class TrackPanelDrawable {
|
||||||
|
public:
|
||||||
|
virtual ~TrackPanelDrawable() = 0;
|
||||||
|
|
||||||
|
// Drawing functions of the subdivision are visited repeatedly in one
|
||||||
|
// painting if their areas (as computed by DrawingArea) intersect the
|
||||||
|
// panel area, and depending on iPass may overpaint results of previous
|
||||||
|
// passes.
|
||||||
|
// Drawing function is given the rectangle computed by DrawingArea.
|
||||||
|
// iPass counts zero-based up to some limit given to CellularPanel::Draw.
|
||||||
|
// Default implementation does nothing.
|
||||||
|
virtual void Draw(
|
||||||
|
TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass );
|
||||||
|
|
||||||
|
// For drawing purposes, a cell might require a bigger rectangle than for
|
||||||
|
// hit-test purposes, spilling over into other parts of the partition of the
|
||||||
|
// panel area.
|
||||||
|
// Default implementation returns rect unchanged.
|
||||||
|
virtual wxRect DrawingArea(
|
||||||
|
const wxRect &rect, const wxRect &panelRect, unsigned iPass );
|
||||||
|
|
||||||
|
// Utilities for implementing DrawingArea:
|
||||||
|
static inline wxRect MaximizeWidth(
|
||||||
|
const wxRect &rect, const wxRect &panelRect ) {
|
||||||
|
return { panelRect.x, rect.y, panelRect.width, rect.height };
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline wxRect MaximizeHeight(
|
||||||
|
const wxRect &rect, const wxRect &panelRect ) {
|
||||||
|
return { rect.x, panelRect.y, rect.width, panelRect.height };
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -13,6 +13,7 @@ Paul Licameli
|
|||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include "MemoryX.h"
|
#include "MemoryX.h"
|
||||||
|
#include "TrackPanelDrawable.h" // to inherit
|
||||||
|
|
||||||
class wxDC;
|
class wxDC;
|
||||||
class wxRect;
|
class wxRect;
|
||||||
@ -27,10 +28,11 @@ struct TrackPanelMouseState;
|
|||||||
|
|
||||||
#include "MemoryX.h"
|
#include "MemoryX.h"
|
||||||
|
|
||||||
|
/// \brief Short-lived drawing and event-handling object associated with a TrackPanelCell
|
||||||
// A TrackPanelCell reports a handle object of some subclass, in response to a
|
// A TrackPanelCell reports a handle object of some subclass, in response to a
|
||||||
// hit test at a mouse position; then this handle processes certain events,
|
// hit test at a mouse position; then this handle processes certain events,
|
||||||
// and maintains necessary state through click-drag-release event sequences.
|
// and maintains necessary state through click-drag-release event sequences.
|
||||||
class UIHandle /* not final */
|
class UIHandle /* not final */ : public TrackPanelDrawable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// See RefreshCode.h for bit flags:
|
// See RefreshCode.h for bit flags:
|
||||||
|
@ -582,6 +582,7 @@
|
|||||||
<ClInclude Include="..\..\..\src\toolbars\SpectralSelectionBar.h" />
|
<ClInclude Include="..\..\..\src\toolbars\SpectralSelectionBar.h" />
|
||||||
<ClInclude Include="..\..\..\src\toolbars\SpectralSelectionBarListener.h" />
|
<ClInclude Include="..\..\..\src\toolbars\SpectralSelectionBarListener.h" />
|
||||||
<ClInclude Include="..\..\..\src\TrackPanelCell.h" />
|
<ClInclude Include="..\..\..\src\TrackPanelCell.h" />
|
||||||
|
<ClInclude Include="..\..\..\src\TrackPanelDrawable.h" />
|
||||||
<ClInclude Include="..\..\..\src\TrackPanelDrawingContext.h" />
|
<ClInclude Include="..\..\..\src\TrackPanelDrawingContext.h" />
|
||||||
<ClInclude Include="..\..\..\src\TrackPanelListener.h" />
|
<ClInclude Include="..\..\..\src\TrackPanelListener.h" />
|
||||||
<ClInclude Include="..\..\..\src\TrackPanelMouseEvent.h" />
|
<ClInclude Include="..\..\..\src\TrackPanelMouseEvent.h" />
|
||||||
|
@ -2404,6 +2404,9 @@
|
|||||||
<ClInclude Include="..\..\..\src\tracks\ui\TrackView.h">
|
<ClInclude Include="..\..\..\src\tracks\ui\TrackView.h">
|
||||||
<Filter>src\tracks\ui</Filter>
|
<Filter>src\tracks\ui</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\src\TrackPanelDrawable.h">
|
||||||
|
<Filter>src</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Image Include="..\..\audacity.ico">
|
<Image Include="..\..\audacity.ico">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user