Audacity 3.2.0
AUControl.h
Go to the documentation of this file.
1/*!********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 @file AUControl.h
6
7 Leland Lucius
8
9**********************************************************************/
10#ifndef AUDACITY_AUCONTROL_H
11#define AUDACITY_AUCONTROL_H
12
13#if !defined(_LP64)
14#include <Carbon/Carbon.h>
15#endif
16
17#include <wx/osx/core/private.h>
18#include <wx/osx/cocoa/private.h>
19#include <wx/control.h>
20
21#include <AudioUnit/AudioComponent.h>
22#include <AudioUnit/AudioUnit.h>
23
24class AUControl final : public wxControl
25{
26public:
29
30 void Close();
31
32 bool Create(wxWindow *parent, AudioComponent comp, AudioUnit unit, bool custom);
37
38 void OnSize(wxSizeEvent & evt);
39
40#if !defined(_LP64)
44 static pascal OSStatus ControlEventHandlerCallback(EventHandlerCallRef handler,
45#endif
46
47private:
48 AudioComponent mComponent{};
49 AudioUnit mUnit{};
50
51 NSView *mAUView{};
52 NSView *mView{};
53
54 wxSize mLastMin{};
55 bool mSettingSize{ false };
56
57#if !defined(_LP64)
58 AudioComponentInstance mInstance{};
59 WindowRef mWindowRef{};
60 HIViewRef mHIView{};
61#endif
62
63 DECLARE_EVENT_TABLE()
64};
65
66#endif
void CreateGeneric()
void Close()
bool Create(wxWindow *parent, AudioComponent comp, AudioUnit unit, bool custom)
void OnSize(wxSizeEvent &evt)
void ForceRedraw()
void CreateCarbon()
void CocoaViewResized()
void CreateCocoa()
void CreateCarbonOverlay()
void CarbonViewResized()