diff options
Diffstat (limited to 'common/vgui/vgui_budgetpanelshared.h')
| -rw-r--r-- | common/vgui/vgui_budgetpanelshared.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/common/vgui/vgui_budgetpanelshared.h b/common/vgui/vgui_budgetpanelshared.h new file mode 100644 index 0000000..5713604 --- /dev/null +++ b/common/vgui/vgui_budgetpanelshared.h @@ -0,0 +1,71 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//===========================================================================// + +#ifndef VGUI_BUDGETPANELSHARED_H +#define VGUI_BUDGETPANELSHARED_H + +#ifdef _WIN32 +#pragma once +#endif + + +#include "vgui_basebudgetpanel.h" + + +class IConVar; + + +// Shared between the engine and dedicated server. +class CBudgetPanelShared : public CBaseBudgetPanel +{ + typedef CBaseBudgetPanel BaseClass; + +public: + + // budgetFlagsFilter is a combination of BUDGETFLAG_ defines that filters out which budget groups we are interested in. + CBudgetPanelShared( vgui::Panel *pParent, const char *pElementName, int budgetFlagsFilter ); + ~CBudgetPanelShared(); + + // Override this to set the window position. + virtual void SetupCustomConfigData( CBudgetPanelConfigData &data ); + + virtual void SetTimeLabelText(); + virtual void SetHistoryLabelText(); + + virtual void PaintBackground(); + virtual void Paint( void ); + virtual void PostChildPaint(); + + virtual void SnapshotVProfHistory( float filteredtime ); + + // Command handlers + void OnNumBudgetGroupsChanged( void ); + + void SendConfigDataToBase(); + + +public: + + static double g_fFrameTimeLessBudget; + static double g_fFrameRate; + + +private: + + void DrawColoredText( + vgui::HFont font, + int x, int y, + int r, int g, int b, int a, + PRINTF_FORMAT_STRING const char *pText, + ... ) FMTFUNCTION( 9, 10 ); +}; + + +// CVars that change the layout can hook this. +void PanelGeometryChangedCallBack( IConVar *var, const char *pOldString, float flOldValue ); + + +#endif // VGUI_BUDGETPANELSHARED_H |