Team Fortress 2 Source Code as on 22/4/2020
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

  1. //===================== Copyright (c) Valve Corporation. All Rights Reserved. ======================
  2. //
  3. //==================================================================================================
  4. #if !defined( __IPANORAMAUI_H__ )
  5. #define __IPANORAMAUI_H__
  6. #include "appframework/iappsystem.h"
  7. #include "tier3/tier3.h"
  8. #include "inputsystem/inputenums.h"
  9. #include "inputsystem/buttoncode.h"
  10. #include "tier1/refcount.h"
  11. #include "../game/client/iwordfilter.h"
  12. #include "vscript/ivscript.h"
  13. #include "rendersystem/irenderdevice.h"
  14. // Manages the communication between panorama_client-level code and
  15. // the Panorama core in panorama.dll.
  16. class IPanoramaUIEngine : public IAppSystem
  17. {
  18. public:
  19. virtual bool SetupUIEngine() = 0;
  20. virtual void ShutdownUIEngine() = 0;
  21. // Access UI engine, generally use global panorama::UIEngine() accessor instead as shorthand
  22. virtual panorama::IUIEngine * AccessUIEngine() = 0;
  23. virtual bool HandleInputEvent( const InputEvent_t &event, const CUtlVector<panorama::IUIWindow *> &vecWindowInputOrder, bool bOnlyIfFocused ) = 0;
  24. };
  25. //
  26. // Panorama class wrappers to make methods virtual for cross-DLL calling.
  27. //
  28. class IPanoramaClientDebugger
  29. {
  30. public:
  31. virtual ~IPanoramaClientDebugger() {}
  32. virtual void BeginInspect() = 0;
  33. virtual float GetSplitterPosition() = 0;
  34. virtual void SetSplitterPosition( float flParentFlowValue ) = 0;
  35. };
  36. // Manages the communication between non-Panorama code and
  37. // a component using panorama_client.
  38. class IPanoramaUIClient : public IAppSystem
  39. {
  40. public:
  41. virtual panorama::IUIEngine *SetupUIEngine( const char *pszLanguage, PlatWindow_t hWindow ) = 0;
  42. virtual void ShutdownUIEngine() = 0;
  43. virtual bool HandleInputEvent( const InputEvent_t &event, const CUtlVector<panorama::IUIWindow *> &vecWindowInputOrder, bool bOnlyIfFocused ) = 0;
  44. virtual panorama::IUIPanelClient *CreatePanel2D( panorama::IUIWindow *pParent, const char *pID ) = 0;
  45. virtual IPanoramaClientDebugger *CreateDebugger( panorama::IUIWindow *pParent, const char *pID ) = 0;
  46. };
  47. #endif