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.

56 lines
1.3 KiB

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