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.

58 lines
1.5 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef C_CSRootPanel_H
  8. #define C_CSRootPanel_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include <vgui_controls/Panel.h>
  13. #include <vgui_controls/EditablePanel.h>
  14. #include "utlvector.h"
  15. class CPanelEffect;
  16. class ITFHintItem;
  17. // Serial under of effect, for safe lookup
  18. typedef unsigned int EFFECT_HANDLE;
  19. //-----------------------------------------------------------------------------
  20. // Purpose: Sits between engine and client .dll panels
  21. // Responsible for drawing screen overlays
  22. //-----------------------------------------------------------------------------
  23. class C_CSRootPanel : public vgui::Panel
  24. {
  25. typedef vgui::Panel BaseClass;
  26. public:
  27. C_CSRootPanel( vgui::VPANEL parent, int slot, const char *panelName = "CounterStrike Root Panel" );
  28. virtual ~C_CSRootPanel( void );
  29. virtual void PaintTraverse( bool Repaint, bool allowForce = true );
  30. virtual void OnThink();
  31. // Draw Panel effects here
  32. virtual void PostChildPaint();
  33. // Clear list of Panel Effects
  34. virtual void LevelInit( void );
  35. virtual void LevelShutdown( void );
  36. // Run effects and let them decide whether to remove themselves
  37. void OnTick( void );
  38. private:
  39. // Render all panel effects
  40. void RenderPanelEffects( void );
  41. // List of current panel effects
  42. CUtlVector< CPanelEffect *> m_Effects;
  43. int m_nSplitSlot;
  44. };
  45. #endif // C_CSRootPanel_H