//===== Copyright © 1996-2005, 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