1 /**********************************************************************
2 
3   Audacity: A Digital Audio Editor
4 
5   VSTControlOSX.h
6 
7   Leland Lucius
8 
9 **********************************************************************/
10 
11 #ifndef AUDACITY_VSTCONTROLOSX_H
12 #define AUDACITY_VSTCONTROLOSX_H
13 
14 #if !defined(_LP64)
15 #include <Carbon/Carbon.h>
16 #endif
17 
18 #include <wx/osx/core/private.h>
19 #include <wx/osx/cocoa/private.h>
20 
21 #include "VSTControl.h"
22 
23 class VSTControlImpl final : public wxWidgetCocoaImpl
24 {
25 public :
26    VSTControlImpl(wxWindowMac *peer, NSView *view);
27    ~VSTControlImpl();
28 };
29 
30 class VSTControl : public VSTControlBase
31 {
32 public:
33    VSTControl();
34    ~VSTControl();
35 
36    bool Create(wxWindow *parent, VSTEffectLink *link);
37    void Close();
38 
39 private:
40    void CreateCocoa();
41 
42 #if !defined(_LP64)
43    void CreateCarbon();
44    void OnSize(wxSizeEvent & evt);
45 #endif
46 
47 private:
48    NSView *mVSTView;
49    NSView *mView;
50 
51 #if !defined(_LP64)
52    WindowRef mWindowRef;
53    HIViewRef mHIView;
54 #endif
55 };
56 
57 #endif
58