diff options
Diffstat (limited to 'public/panorama/source2')
| -rw-r--r-- | public/panorama/source2/ipanoramaui.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/public/panorama/source2/ipanoramaui.h b/public/panorama/source2/ipanoramaui.h new file mode 100644 index 0000000..b5da2e8 --- /dev/null +++ b/public/panorama/source2/ipanoramaui.h @@ -0,0 +1,62 @@ +//===================== Copyright (c) Valve Corporation. All Rights Reserved. ====================== +// +//================================================================================================== + +#if !defined( __IPANORAMAUI_H__ ) +#define __IPANORAMAUI_H__ + + +#include "appframework/iappsystem.h" +#include "tier3/tier3.h" +#include "inputsystem/inputenums.h" +#include "inputsystem/buttoncode.h" +#include "tier1/refcount.h" +#include "../game/client/iwordfilter.h" +#include "vscript/ivscript.h" +#include "rendersystem/irenderdevice.h" + + +// Manages the communication between panorama_client-level code and +// the Panorama core in panorama.dll. +class IPanoramaUIEngine : public IAppSystem +{ +public: + virtual bool SetupUIEngine() = 0; + virtual void ShutdownUIEngine() = 0; + + // Access UI engine, generally use global panorama::UIEngine() accessor instead as shorthand + virtual panorama::IUIEngine * AccessUIEngine() = 0; + + virtual bool HandleInputEvent( const InputEvent_t &event, const CUtlVector<panorama::IUIWindow *> &vecWindowInputOrder, bool bOnlyIfFocused ) = 0; +}; + + +// +// Panorama class wrappers to make methods virtual for cross-DLL calling. +// + +class IPanoramaClientDebugger +{ +public: + virtual ~IPanoramaClientDebugger() {} + + virtual void BeginInspect() = 0; + virtual float GetSplitterPosition() = 0; + virtual void SetSplitterPosition( float flParentFlowValue ) = 0; +}; + +// Manages the communication between non-Panorama code and +// a component using panorama_client. +class IPanoramaUIClient : public IAppSystem +{ +public: + virtual panorama::IUIEngine *SetupUIEngine( const char *pszLanguage, PlatWindow_t hWindow ) = 0; + virtual void ShutdownUIEngine() = 0; + + virtual bool HandleInputEvent( const InputEvent_t &event, const CUtlVector<panorama::IUIWindow *> &vecWindowInputOrder, bool bOnlyIfFocused ) = 0; + + virtual panorama::IUIPanelClient *CreatePanel2D( panorama::IUIWindow *pParent, const char *pID ) = 0; + virtual IPanoramaClientDebugger *CreateDebugger( panorama::IUIWindow *pParent, const char *pID ) = 0; +}; + +#endif |