You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.0 KiB
62 lines
2.0 KiB
//===================== 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
|
|
|