// This file is part of VSTGUI. It is subject to the license terms // in the LICENSE file found in the top-level directory of this // distribution and at http://github.com/steinbergmedia/vstgui/LICENSE #pragma once #include //------------------------------------------------------------------------ namespace VSTGUI { class IPlatformFrameConfig; namespace Standalone { class IWindow; class IWindowController; class IWindowListener; class IPreference; class ICommandHandler; class IMenuBuilder; class IValue; class IStepValue; class IValueListener; class IValueConverter; class ISharedUIResources; class ICommonDirectories; using WindowPtr = std::shared_ptr; using WindowControllerPtr = std::shared_ptr; using ValuePtr = std::shared_ptr; using ValueConverterPtr = std::shared_ptr; using PlatformFrameConfigPtr = std::shared_ptr; struct Command; struct AlertBoxConfig; struct AlertBoxForWindowConfig; enum class AlertResult; //------------------------------------------------------------------------ namespace UIDesc { class IModelBinding; class ICustomization; using ModelBindingPtr = std::shared_ptr; using CustomizationPtr = std::shared_ptr; struct Config; //------------------------------------------------------------------------ } // UIDesc //------------------------------------------------------------------------ namespace Application { class IDelegate; using DelegatePtr = std::unique_ptr; //------------------------------------------------------------------------ } // Application //------------------------------------------------------------------------ namespace Async { struct Queue; using QueuePtr = std::shared_ptr; struct Group; using GroupPtr = std::shared_ptr; //------------------------------------------------------------------------ } // Async //------------------------------------------------------------------------ } // Standalone } // VSTGUI