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.

65 lines
1.2 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $Workfile: $
  6. // $Date: $
  7. // $NoKeywords: $
  8. //=============================================================================//
  9. #if !defined( IENGINEVGUI_H )
  10. #define IENGINEVGUI_H
  11. #ifdef _WIN32
  12. #pragma once
  13. #endif
  14. #include "interface.h"
  15. #include "vgui/VGUI.h"
  16. // Forward declarations.
  17. namespace vgui
  18. {
  19. class Panel;
  20. };
  21. enum VGuiPanel_t
  22. {
  23. PANEL_ROOT = 0,
  24. PANEL_GAMEUIDLL,
  25. PANEL_CLIENTDLL,
  26. PANEL_TOOLS,
  27. PANEL_INGAMESCREENS,
  28. PANEL_GAMEDLL,
  29. PANEL_CLIENTDLL_TOOLS
  30. };
  31. // In-game panels are cropped to the current engine viewport size
  32. enum PaintMode_t
  33. {
  34. PAINT_UIPANELS = (1<<0),
  35. PAINT_INGAMEPANELS = (1<<1),
  36. PAINT_CURSOR = (1<<2), // software cursor, if appropriate
  37. };
  38. abstract_class IEngineVGui
  39. {
  40. public:
  41. virtual ~IEngineVGui( void ) { }
  42. virtual vgui::VPANEL GetPanel( VGuiPanel_t type ) = 0;
  43. virtual bool IsGameUIVisible() = 0;
  44. };
  45. #define VENGINE_VGUI_VERSION "VEngineVGui001"
  46. #if defined(_STATIC_LINKED) && defined(CLIENT_DLL)
  47. namespace Client
  48. {
  49. extern IEngineVGui *enginevgui;
  50. }
  51. #else
  52. extern IEngineVGui *enginevgui;
  53. #endif
  54. #endif // IENGINEVGUI_H