/*===================================================================================================
AAX_CommonInterface_GUI.doxygen

Copyright 2016, 2018, 2023-2024 Avid Technology, Inc. 
All rights reserved.

This file is part of the Avid AAX SDK.

The AAX SDK is subject to commercial or open-source licensing.

By using the AAX SDK, you agree to the terms of both the Avid AAX SDK License
Agreement and Avid Privacy Policy.

AAX SDK License: https://developer.avid.com/aax
Privacy Policy: https://www.avid.com/legal/privacy-policy-statement

Or: You may also use this code under the terms of the GPL v3 (see
www.gnu.org/licenses).

THE AAX SDK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
DISCLAIMED.

===================================================================================================*/

/** @defgroup CommonInterface_GUI GUI interface
	@ingroup MainInterface
	
	@brief The interface for a %AAX Plug-in's user interface
	
		The \ref AAX_IEffectGUI "GUI interface" includes methods for handling the plug-in's
		GUI window and events.
		
	\par Accessing the window
	
		In %AAX, the plug-in's window is provided as a native window pointer through the
		\ref AAX_IViewContainer interface.  The plug-in may also use this interface to forward
		events in its window back to the host for handling.
		
	\par Default implementation
		
		A default implementation of the GUI interface, \ref AAX_CEffectGUI, is compiled in to the
		%AAX library.  This class includes a few helper methods and other extensions to the base 
		interface.  Of particular note are several additional pure virtual methods that are used by
		this class to extend the GUI API, and which must be overridden by any inheriting class.
		
	\par Extensions
	
		The %AAX SDK includes several examples of how the basic GUI interface may be extended to
		support native or third-party GUI frameworks.  These examples are not a core part of the
		SDK, but are provided to developers as a convenience when incorporating their own chosen
		GUI framework.
		
 */
