\hypertarget{a02262}{}\doxysection{AAX\+\_\+\+IEffect\+GUI Class Reference}
\label{a02262}\index{AAX\_IEffectGUI@{AAX\_IEffectGUI}}


{\ttfamily \#include $<$AAX\+\_\+\+IEffect\+GUI.\+h$>$}



Inheritance diagram for AAX\+\_\+\+IEffect\+GUI\+:
% FIG 0


Collaboration diagram for AAX\+\_\+\+IEffect\+GUI\+:
% FIG 1


\doxysubsection{Description}
The interface for a AAX Plug-\/in\textquotesingle{}s user interface. 

\begin{DoxyRefDesc}{\+:\+Implemented by the Plug-\/\+In}
\item[\mbox{\hyperlink{a00883__aax_plugin_implementation000003}{\+:\+Implemented by the Plug-\/\+In}}]\end{DoxyRefDesc}


This is the interface for an instance of a plug-\/in\textquotesingle{}s GUI that gets exposed to the host application. You need to inherit from this interface and override all of the virtual functions to create a plug-\/in GUI.

To create the GUI for an AAX plug-\/in it is required that you inherit from this interface and override all of the virtual functions from \mbox{\hyperlink{a02062}{AAX\+\_\+\+IACFEffect\+GUI}}. In nearly all cases you will be able to take advantage of the implementations in the AAX library\textquotesingle{}s \mbox{\hyperlink{a01846}{AAX\+\_\+\+CEffect\+GUI}} class and only override the few specific methods that you want to explicitly customize.

\begin{DoxyNote}{Note}
This class always inherits from the latest version of the interface and thus requires any subclass to implement all the methods in the latest version of the interface. 
\end{DoxyNote}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a02262_a8b48b2f7798aa1ad2ebb38a93ad409b9}{ACF\+\_\+\+DECLARE\+\_\+\+STANDARD\+\_\+\+UNKNOWN}} () ACFMETHOD(Internal\+Query\+Interface)(const \mbox{\hyperlink{a00308_a59df0b41744eee7a066787aaedf97f67}{acf\+IID}} \&riid
\item 
\mbox{\hyperlink{a02262_abee8b669ca6136a80364127f144d24c3}{AAX\+\_\+\+DELETE}} (\mbox{\hyperlink{a02262}{AAX\+\_\+\+IEffect\+GUI}} \&operator=(const \mbox{\hyperlink{a02262}{AAX\+\_\+\+IEffect\+GUI}} \&))
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a02062}{AAX\+\_\+\+IACFEffect\+GUI}}}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02062_aac9d8ab88172ac594d86ac2441522fec}{Initialize}} (\mbox{\hyperlink{a01770}{IACFUnknown}} $\ast$i\+Controller)=0
\begin{DoxyCompactList}\small\item\em Main GUI initialization. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02062_ab7d1c3c80a60637f9a9fd1860fe418cb}{Uninitialize}} ()=0
\begin{DoxyCompactList}\small\item\em Main GUI uninitialization. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02062_a11a15162cb3c7019d1fabf2994fba6c6}{Notification\+Received}} (\mbox{\hyperlink{a00542_ac678f9c1fbcc26315d209f71a147a175}{AAX\+\_\+\+CType\+ID}} in\+Notification\+Type, const void $\ast$in\+Notification\+Data, uint32\+\_\+t in\+Notification\+Data\+Size)=0
\begin{DoxyCompactList}\small\item\em Notification Hook. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02062_a50830385c58f104c87b6ef25144b30dd}{Set\+View\+Container}} (\mbox{\hyperlink{a01770}{IACFUnknown}} $\ast$i\+View\+Container)=0
\begin{DoxyCompactList}\small\item\em Provides a handle to the main plug-\/in window. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02062_ae67c876225e9b5c538560d19a842a34c}{Get\+View\+Size}} (\mbox{\hyperlink{a01998}{AAX\+\_\+\+Point}} $\ast$o\+View\+Size) const =0
\begin{DoxyCompactList}\small\item\em Retrieves the size of the plug-\/in window. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02062_a4b132a0bc22ba443027998a56e4eadfb}{Draw}} (\mbox{\hyperlink{a02002}{AAX\+\_\+\+Rect}} $\ast$i\+Draw\+Rect)=0
\begin{DoxyCompactList}\small\item\em DEPRECATED, Not called from host any longer. Your chosen graphics framework should be directly handling draw events from the OS. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02062_aafa484110d39046de1f927f30c9da387}{Timer\+Wakeup}} ()=0
\begin{DoxyCompactList}\small\item\em Periodic wakeup callback for idle-\/time operations. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02062_a45b468fef806611581f748af9301ab4d}{Parameter\+Updated}} (\mbox{\hyperlink{a00542_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} in\+Param\+ID)=0
\begin{DoxyCompactList}\small\item\em Notifies the GUI that a parameter value has changed. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02062_a81450c5272935689a4fb9c1820d6bba8}{Get\+Custom\+Label}} (\mbox{\hyperlink{a00446_a86f7310877399d9d4d2ea4863d472476}{AAX\+\_\+\+EPlug\+In\+Strings}} i\+Selector, \mbox{\hyperlink{a02330}{AAX\+\_\+\+IString}} $\ast$o\+String) const =0
\begin{DoxyCompactList}\small\item\em Called by host application to retrieve a custom plug-\/in string. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{a00542_a4d8f69a697df7f70c3a8e9b8ee130d2f}{AAX\+\_\+\+Result}} \mbox{\hyperlink{a02062_a3922a4b9fef09e88440d7655422c2b96}{Set\+Control\+Highlight\+Info}} (\mbox{\hyperlink{a00542_a1440c756fe5cb158b78193b2fc1780d1}{AAX\+\_\+\+CParam\+ID}} i\+Parameter\+ID, \mbox{\hyperlink{a00542_aa216506530f1d19a2965931ced2b274b}{AAX\+\_\+\+CBoolean}} i\+Is\+Highlighted, \mbox{\hyperlink{a00446_a143056a07989a48e5db3a101f1b12567}{AAX\+\_\+\+EHighlight\+Color}} i\+Color)=0
\begin{DoxyCompactList}\small\item\em Called by host application. Indicates that a control widget should be updated with a highlight color. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a01770}{IACFUnknown}}}
\begin{DoxyCompactItemize}
\item 
virtual BEGIN\+\_\+\+ACFINTERFACE ACFRESULT ACFMETHODCALLTYPE \mbox{\hyperlink{a01770_a8b7f0ae9c78d007ca76aa462ebe53135}{Query\+Interface}} (const \mbox{\hyperlink{a00308_a59df0b41744eee7a066787aaedf97f67}{acf\+IID}} \&iid, void $\ast$$\ast$pp\+Out)=0
\begin{DoxyCompactList}\small\item\em Returns pointers to supported interfaces. \end{DoxyCompactList}\item 
virtual acf\+UInt32 ACFMETHODCALLTYPE \mbox{\hyperlink{a01770_aa9c7a5b9dff341092b7b86bb9b3a58fb}{Add\+Ref}} (void)=0
\begin{DoxyCompactList}\small\item\em Increments reference count. \end{DoxyCompactList}\item 
virtual acf\+UInt32 ACFMETHODCALLTYPE \mbox{\hyperlink{a01770_afabd38cec0a9ed37f1d3e8644a70ac41}{Release}} (void)=0
\begin{DoxyCompactList}\small\item\em Decrements reference count. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
void $\ast$$\ast$ppv\+Obj\+Out \mbox{\hyperlink{a02262_ac29855141f7b2741fbe896c6ef40966e}{override}}
\end{DoxyCompactItemize}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{a02262_a8b48b2f7798aa1ad2ebb38a93ad409b9}\label{a02262_a8b48b2f7798aa1ad2ebb38a93ad409b9}} 
\index{AAX\_IEffectGUI@{AAX\_IEffectGUI}!ACF\_DECLARE\_STANDARD\_UNKNOWN@{ACF\_DECLARE\_STANDARD\_UNKNOWN}}
\index{ACF\_DECLARE\_STANDARD\_UNKNOWN@{ACF\_DECLARE\_STANDARD\_UNKNOWN}!AAX\_IEffectGUI@{AAX\_IEffectGUI}}
\doxysubsubsection{\texorpdfstring{ACF\_DECLARE\_STANDARD\_UNKNOWN()}{ACF\_DECLARE\_STANDARD\_UNKNOWN()}}
{\footnotesize\ttfamily AAX\+\_\+\+IEffect\+GUI\+::\+ACF\+\_\+\+DECLARE\+\_\+\+STANDARD\+\_\+\+UNKNOWN (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \&}

\mbox{\Hypertarget{a02262_abee8b669ca6136a80364127f144d24c3}\label{a02262_abee8b669ca6136a80364127f144d24c3}} 
\index{AAX\_IEffectGUI@{AAX\_IEffectGUI}!AAX\_DELETE@{AAX\_DELETE}}
\index{AAX\_DELETE@{AAX\_DELETE}!AAX\_IEffectGUI@{AAX\_IEffectGUI}}
\doxysubsubsection{\texorpdfstring{AAX\_DELETE()}{AAX\_DELETE()}}
{\footnotesize\ttfamily AAX\+\_\+\+IEffect\+GUI\+::\+AAX\+\_\+\+DELETE (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{a02262}{AAX\+\_\+\+IEffect\+GUI}} \&}]{operator = {\ttfamily (const~\mbox{\hyperlink{a02262}{AAX\+\_\+\+IEffect\+GUI}}~\&)} }\end{DoxyParamCaption})}



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{a02262_ac29855141f7b2741fbe896c6ef40966e}\label{a02262_ac29855141f7b2741fbe896c6ef40966e}} 
\index{AAX\_IEffectGUI@{AAX\_IEffectGUI}!override@{override}}
\index{override@{override}!AAX\_IEffectGUI@{AAX\_IEffectGUI}}
\doxysubsubsection{\texorpdfstring{override}{override}}
{\footnotesize\ttfamily void$\ast$$\ast$ ppv\+Obj\+Out AAX\+\_\+\+IEffect\+GUI\+::override}



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00593}{AAX\+\_\+\+IEffect\+GUI.\+h}}\end{DoxyCompactItemize}
