Counter Strike : Global Offensive Source Code
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.

69 lines
1.3 KiB

  1. //========= Copyright � 1996-2005, 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, // the console, game menu
  25. PANEL_CLIENTDLL,
  26. PANEL_TOOLS,
  27. PANEL_INGAMESCREENS,
  28. PANEL_GAMEDLL,
  29. PANEL_CLIENTDLL_TOOLS,
  30. PANEL_GAMEUIBACKGROUND, // the console background, shows under all other stuff in 3d engine view
  31. PANEL_TRANSITIONEFFECT,
  32. PANEL_STEAMOVERLAY,
  33. };
  34. // In-game panels are cropped to the current engine viewport size
  35. enum PaintMode_t
  36. {
  37. PAINT_UIPANELS = (1<<0),
  38. PAINT_INGAMEPANELS = (1<<1),
  39. };
  40. abstract_class IEngineVGui
  41. {
  42. public:
  43. virtual ~IEngineVGui( void ) { }
  44. virtual vgui::VPANEL GetPanel( VGuiPanel_t type ) = 0;
  45. virtual bool IsGameUIVisible() = 0;
  46. virtual void ActivateGameUI() = 0;
  47. };
  48. #define VENGINE_VGUI_VERSION "VEngineVGui001"
  49. #if defined(_STATIC_LINKED) && defined(CLIENT_DLL)
  50. namespace Client
  51. {
  52. extern IEngineVGui *enginevgui;
  53. }
  54. #else
  55. extern IEngineVGui *enginevgui;
  56. #endif
  57. #endif // IENGINEVGUI_H