ASPiK SDK
AAXPluginGUI.h
1 // -----------------------------------------------------------------------------
2 // ASPiK AAX Shell File: aaxplugingui.h
3 //
20 // -----------------------------------------------------------------------------
21 #pragma once
22 
23 #ifndef AAX_GUI_H
24 #define AAX_GUI_H
25 
26 #include "AAX_CEffectGUI.h"
27 #include "AAXPluginParameters.h"
28 #include "plugingui.h"
29 
30 #if defined AAXPLUGIN && !defined _WINDOWS && !defined _WINDLL
31 #include <CoreFoundation/CoreFoundation.h>
32 #endif
33 
34 #include "AAX_IViewContainer.h"
35 
53 class AAXPluginGUI : public AAX_CEffectGUI, public IGUIWindowFrame
54 {
55 public:
56  AAXPluginGUI(void);
57  ~AAXPluginGUI(void);
58 
60  static AAX_IEffectGUI* AAX_CALLBACK Create( void );
61 
62  // --- AAX_CEffectGUI overrides
63  virtual void CreateViewContainer();
64  virtual void DeleteViewContainer();
65  virtual void CreateViewContents();
66  virtual AAX_Result ParameterUpdated(const char* iParameterID);
67  virtual AAX_Result Draw(AAX_Rect* iDrawRect);
68  virtual AAX_Result TimerWakeup(void);
69 
71  virtual AAX_Result GetViewSize(AAX_Point* oEffectViewSize) const;
72 
74  virtual bool setWindowFrameSize(double left = 0, double top = 0, double right = 0, double bottom = 0)
75  {
76  AAX_IViewContainer* iVC = GetViewContainer();
77  if(iVC)
78  {
79  // --- NOTE: height, width
80  AAX_Point size( (float)(bottom - top), (float)(right - left) );
81  iVC->SetViewSize(size);
82  return true;
83  }
84 
85  return false;
86  }
87 
89  virtual bool getWindowFrameSize(double& left, double& top, double& right, double& bottom)
90  {
91  left = 0;
92  top = 0;
93  right = (VSTGUI::CCoord)guiWidth;
94  bottom = (VSTGUI::CCoord)guiHeight;
95  return true;
96  }
97 
98  protected:
99  int guiWidth = 100;
100  int guiHeight = 100;
103  bool pureCustomGUI = false;
104 };
105 
106 
107 
108 #endif
The PluginGUI object that maintains the entire GUI operation and has #defines to use with AAX...
Definition: plugingui.h:412
AAXPluginGUI(void)
object constructor
Definition: AAXPluginGUI.cpp:50
virtual void DeleteViewContainer()
AAX_CEffectGUI override.
Definition: AAXPluginGUI.cpp:307
virtual AAX_Result Draw(AAX_Rect *iDrawRect)
AAX_CEffectGUI override.
Definition: AAXPluginGUI.cpp:242
int guiWidth
size parameter
Definition: AAXPluginGUI.h:99
virtual AAX_Result ParameterUpdated(const char *iParameterID)
AAX_CEffectGUI override.
Definition: AAXPluginGUI.cpp:275
Structure of data that is passed to GUI object once at creation time.
Definition: AAXPluginParameters.h:78
virtual AAX_Result GetViewSize(AAX_Point *oEffectViewSize) const
for sizing the GUI
Definition: AAXPluginGUI.cpp:337
~AAXPluginGUI(void)
object destructor
Definition: AAXPluginGUI.cpp:69
VSTGUI::PluginGUI * pluginGUI
the ASPiK GUI - NOTE that this is maintained only for constructing and destroying the GUI ...
Definition: AAXPluginGUI.h:102
bool pureCustomGUI
not used
Definition: AAXPluginGUI.h:103
virtual void CreateViewContainer()
AAX_CEffectGUI override.
Definition: AAXPluginGUI.cpp:102
int guiHeight
size parameter
Definition: AAXPluginGUI.h:100
virtual bool setWindowFrameSize(double left=0, double top=0, double right=0, double bottom=0)
Definition: AAXPluginGUI.h:74
virtual bool getWindowFrameSize(double &left, double &top, double &right, double &bottom)
Definition: AAXPluginGUI.h:89
pluginCustomData customData
custom data struct used for moving information from parameters during early construction phase ...
Definition: AAXPluginGUI.h:101
static AAX_IEffectGUI *AAX_CALLBACK Create(void)
creation mechanism for this object
Definition: AAXPluginGUI.cpp:84
virtual void CreateViewContents()
AAX_CEffectGUI override.
Definition: AAXPluginGUI.cpp:354
Custom interface to allow resizing of GUI window; this is mainly used for the GUI designer...
Definition: pluginstructures.h:1431
The AAXPluginGUI is the GUI object for AAX. It creates and destroys the ASPiK GUI. It also synchronizes GUI and parameters as described in detail in the book source below.
Definition: AAXPluginGUI.h:53
virtual AAX_Result TimerWakeup(void)
AAX_CEffectGUI override.
Definition: AAXPluginGUI.cpp:255