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

More uses of AUDACITY_DLL_API...

... in many places where the function call will later need to be between
modules (or libraries, or the executable) and the annotation will be a necessity
to keep the linkage working on Windows.

That's all that this sweeping commit does.
This commit is contained in:
Paul Licameli
2020-09-28 08:50:18 -04:00
committed by Paul Licameli
parent fbfccf1393
commit 406b23cae7
151 changed files with 428 additions and 310 deletions

View File

@@ -36,7 +36,7 @@ constexpr int MAX_NUM_ROWS =80;
class wxKeyEvent;
class LabelTrackView final : public CommonTrackView
class AUDACITY_DLL_API LabelTrackView final : public CommonTrackView
{
LabelTrackView( const LabelTrackView& ) = delete;
LabelTrackView &operator=( const LabelTrackView& ) = delete;

View File

@@ -14,7 +14,7 @@ Paul Licameli split from TrackPanel.cpp
#include "../../ui/ButtonHandle.h"
class wxMouseState;
class MuteButtonHandle final : public ButtonHandle
class AUDACITY_DLL_API MuteButtonHandle final : public ButtonHandle
{
MuteButtonHandle(const MuteButtonHandle&) = delete;
@@ -45,7 +45,7 @@ public:
////////////////////////////////////////////////////////////////////////////////
class SoloButtonHandle final : public ButtonHandle
class AUDACITY_DLL_API SoloButtonHandle final : public ButtonHandle
{
SoloButtonHandle(const SoloButtonHandle&) = delete;

View File

@@ -16,7 +16,8 @@
class wxRect;
class Track;
class PlayableTrackControls /* not final */ : public CommonTrackControls
class AUDACITY_DLL_API PlayableTrackControls /* not final */
: public CommonTrackControls
{
public:
// To help subclasses define GetTCPLines

View File

@@ -23,7 +23,7 @@ class WaveTrack;
class wxEvent;
class wxWindow;
class WaveTrackControls final : public PlayableTrackControls
class AUDACITY_DLL_API WaveTrackControls final : public PlayableTrackControls
{
WaveTrackControls(const WaveTrackControls&) = delete;
WaveTrackControls &operator=(const WaveTrackControls&) = delete;
@@ -70,7 +70,7 @@ private:
#include "../../../../widgets/PopupMenuTable.h"
struct WaveTrackPopupMenuTable : public PopupMenuTable
struct AUDACITY_DLL_API WaveTrackPopupMenuTable : public PopupMenuTable
{
using PopupMenuTable::PopupMenuTable;
PlayableTrackControls::InitMenuData *mpData{};
@@ -81,6 +81,7 @@ protected:
};
// Expose the wave track menu table to registration of menu items
AUDACITY_DLL_API
WaveTrackPopupMenuTable &GetWaveTrackMenuTable();
#endif

View File

@@ -18,9 +18,9 @@ class WaveTrack;
namespace WaveTrackVRulerControls
{
Ruler &ScratchRuler();
AUDACITY_DLL_API Ruler &ScratchRuler();
void DoDraw( TrackVRulerControls &controls,
AUDACITY_DLL_API void DoDraw( TrackVRulerControls &controls,
TrackPanelDrawingContext &context,
const wxRect &rect, unsigned iPass );
};

View File

@@ -23,8 +23,10 @@ namespace WaveTrackVZoomHandle
// See RefreshCode.h for bit flags:
using Result = unsigned;
AUDACITY_DLL_API
HitTestPreview HitPreview(const wxMouseState &state);
AUDACITY_DLL_API
bool IsDragZooming(int zoomStart, int zoomEnd);
using DoZoomFunction = void (*)( AudacityProject *pProject,
@@ -33,27 +35,31 @@ namespace WaveTrackVZoomHandle
const wxRect &rect, int zoomStart, int zoomEnd,
bool fixedMousePoint);
AUDACITY_DLL_API
Result DoDrag(
const TrackPanelMouseEvent &event, AudacityProject *pProject,
int zoomStart, int &zoomEnd );
AUDACITY_DLL_API
Result DoRelease(
const TrackPanelMouseEvent &event, AudacityProject *pProject,
wxWindow *pParent, WaveTrack *pTrack, const wxRect &mRect,
DoZoomFunction doZoom, PopupMenuTable &table,
int zoomStart, int zoomEnd );
AUDACITY_DLL_API
void DoDraw(
TrackPanelDrawingContext &context,
const wxRect &rect, unsigned iPass, int zoomStart, int zoomEnd );
AUDACITY_DLL_API
wxRect DoDrawingArea(
const wxRect &rect, const wxRect &panelRect, unsigned iPass );
};
#include "../../../../widgets/PopupMenuTable.h" // to inherit
class WaveTrackVRulerMenuTable
class AUDACITY_DLL_API WaveTrackVRulerMenuTable
: public PopupMenuTable
, private PrefsListener
{

View File

@@ -21,7 +21,7 @@ class TranslatableString;
class WaveTrack;
class WaveTrackView;
class WaveTrackSubView : public CommonTrackView
class AUDACITY_DLL_API WaveTrackSubView : public CommonTrackView
{
public:
@@ -65,7 +65,7 @@ using WaveTrackSubViews = ClientData::Site<
WaveTrackView, WaveTrackSubView, ClientData::SkipCopying, std::shared_ptr
>;
class WaveTrackView final
class AUDACITY_DLL_API WaveTrackView final
: public CommonTrackView
, public WaveTrackSubViews
{
@@ -156,7 +156,7 @@ class SelectedRegion;
class WaveClip;
class ZoomInfo;
struct ClipParameters
struct AUDACITY_DLL_API ClipParameters
{
// Do a bunch of calculations common to waveform and spectrum drawing.
ClipParameters

View File

@@ -83,12 +83,12 @@ namespace WaveTrackViewConstants
Display ConvertLegacyDisplayValue(int oldValue);
//! String identifier for a preference for one of each type of view
extern const EnumValueSymbol MultiViewSymbol;
extern AUDACITY_DLL_API const EnumValueSymbol MultiViewSymbol;
}
#include <vector>
struct WaveTrackSubViewType {
struct AUDACITY_DLL_API WaveTrackSubViewType {
using Display = WaveTrackViewConstants::Display;
// Identifies the type session-wide, and determines relative position in
@@ -105,7 +105,7 @@ struct WaveTrackSubViewType {
{ return id == other.id; }
// Typically a file scope statically constructed object
struct RegisteredType {
struct AUDACITY_DLL_API RegisteredType {
RegisteredType( WaveTrackSubViewType type );
};

View File

@@ -22,7 +22,7 @@ class TranslatableString;
/// \brief A UIHandle for a TrackPanel button, such as the Mute and Solo
/// buttons.
class ButtonHandle /* not final */ : public UIHandle
class AUDACITY_DLL_API ButtonHandle /* not final */ : public UIHandle
{
ButtonHandle(const ButtonHandle&) = delete;

View File

@@ -23,7 +23,7 @@ class TrackSelectHandle;
namespace TrackInfo{ struct TCPLine; }
using TCPLines = std::vector< TrackInfo::TCPLine >;
class CommonTrackControls /* not final */ : public TrackControls
class AUDACITY_DLL_API CommonTrackControls /* not final */ : public TrackControls
{
public:
using TrackControls::TrackControls;

View File

@@ -16,7 +16,7 @@ Paul Licameli split from class TrackView
class SelectHandle;
class TimeShiftHandle;
class CommonTrackView /* not final */ : public TrackView
class AUDACITY_DLL_API CommonTrackView /* not final */ : public TrackView
{
public:
using TrackView::TrackView;

View File

@@ -24,7 +24,7 @@ class ViewInfo;
class TimeTrack;
class WaveTrack;
class EnvelopeHandle final : public UIHandle
class AUDACITY_DLL_API EnvelopeHandle final : public UIHandle
{
EnvelopeHandle(const EnvelopeHandle&) = delete;
EnvelopeHandle &operator=(const EnvelopeHandle&) = delete;

View File

@@ -37,7 +37,7 @@ class TranslatableString;
#endif
// Scrub state object
class Scrubber final
class AUDACITY_DLL_API Scrubber final
: public wxEvtHandler
, public ClientData::Base
, private PrefsListener

View File

@@ -27,7 +27,7 @@ class ViewInfo;
class WaveTrack;
class wxMouseState;
class SelectHandle : public UIHandle
class AUDACITY_DLL_API SelectHandle : public UIHandle
{
SelectHandle(const SelectHandle&);

View File

@@ -18,7 +18,7 @@ class LWSlider;
class Track;
class TranslatableString;
class SliderHandle /* not final */ : public UIHandle
class AUDACITY_DLL_API SliderHandle /* not final */ : public UIHandle
{
SliderHandle(const SliderHandle&) = delete;

View File

@@ -28,7 +28,7 @@ class TrackInterval;
class ViewInfo;
//! Abstract base class for policies to manipulate a track type with the Time Shift tool
class TrackShifter {
class AUDACITY_DLL_API TrackShifter {
public:
TrackShifter();
TrackShifter(const TrackShifter&) PROHIBITED;
@@ -199,7 +199,7 @@ using MakeTrackShifter = AttachedVirtualFunction<
class ViewInfo;
struct ClipMoveState {
struct AUDACITY_DLL_API ClipMoveState {
ClipMoveState() = default;
ClipMoveState(const ClipMoveState&) PROHIBITED;
@@ -251,7 +251,7 @@ struct ClipMoveState {
}
};
class TimeShiftHandle final : public UIHandle
class AUDACITY_DLL_API TimeShiftHandle final : public UIHandle
{
TimeShiftHandle(const TimeShiftHandle&) = delete;
static HitTestPreview HitPreview

View File

@@ -15,7 +15,7 @@ Paul Licameli split from TrackPanel.cpp
class Track;
class TrackControls /* not final */ : public CommonTrackCell
class AUDACITY_DLL_API TrackControls /* not final */ : public CommonTrackCell
, public std::enable_shared_from_this< TrackControls >
{
public:

View File

@@ -19,7 +19,8 @@ class wxDC;
const int kGuard = 5; // 5 pixels to reduce risk of VZooming accidentally
class TrackVRulerControls /* not final */ : public CommonTrackPanelCell
class AUDACITY_DLL_API TrackVRulerControls /* not final */
: public CommonTrackPanelCell
, public std::enable_shared_from_this< TrackVRulerControls >
{
public:

View File

@@ -19,7 +19,7 @@ class TrackList;
class TrackVRulerControls;
class TrackPanelResizerCell;
class TrackView /* not final */ : public CommonTrackCell
class AUDACITY_DLL_API TrackView /* not final */ : public CommonTrackCell
, public std::enable_shared_from_this<TrackView>
{
TrackView( const TrackView& ) = delete;