summaryrefslogtreecommitdiff
path: root/public/panorama/source2/ipanoramaui.h
diff options
context:
space:
mode:
Diffstat (limited to 'public/panorama/source2/ipanoramaui.h')
-rw-r--r--public/panorama/source2/ipanoramaui.h62
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