From 39ed87570bdb2f86969d4be821c94b722dc71179 Mon Sep 17 00:00:00 2001 From: Joe Ludwig Date: Wed, 26 Jun 2013 15:22:04 -0700 Subject: First version of the SOurce SDK 2013 --- mp/src/game/client/game_controls/IconPanel.cpp | 68 ++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 mp/src/game/client/game_controls/IconPanel.cpp (limited to 'mp/src/game/client/game_controls/IconPanel.cpp') diff --git a/mp/src/game/client/game_controls/IconPanel.cpp b/mp/src/game/client/game_controls/IconPanel.cpp new file mode 100644 index 00000000..88fb8071 --- /dev/null +++ b/mp/src/game/client/game_controls/IconPanel.cpp @@ -0,0 +1,68 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#include "cbase.h" +#include "IconPanel.h" +#include "KeyValues.h" + +DECLARE_BUILD_FACTORY( CIconPanel ); + +CIconPanel::CIconPanel( vgui::Panel *parent, const char *name ) : vgui::Panel( parent, name ) +{ + m_szIcon[0] = '\0'; + m_icon = NULL; + m_bScaleImage = false; +} + +void CIconPanel::ApplySettings( KeyValues *inResourceData ) +{ + Q_strncpy( m_szIcon, inResourceData->GetString( "icon", "" ), sizeof( m_szIcon ) ); + + m_icon = gHUD.GetIcon( m_szIcon ); + + m_bScaleImage = inResourceData->GetInt("scaleImage", 0); + + BaseClass::ApplySettings( inResourceData ); +} + +void CIconPanel::SetIcon( const char *szIcon ) +{ + Q_strncpy( m_szIcon, szIcon, sizeof(m_szIcon) ); + + m_icon = gHUD.GetIcon( m_szIcon ); +} + +void CIconPanel::Paint() +{ + BaseClass::Paint(); + + if ( m_icon ) + { + int x, y, w, h; + GetBounds( x, y, w, h ); + + if ( m_bScaleImage ) + { + m_icon->DrawSelf( 0, 0, w, h, m_IconColor ); + } + else + { + m_icon->DrawSelf( 0, 0, m_IconColor ); + } + } +} + +void CIconPanel::ApplySchemeSettings( vgui::IScheme *pScheme ) +{ + BaseClass::ApplySchemeSettings( pScheme ); + + if ( m_szIcon[0] != '\0' ) + { + m_icon = gHUD.GetIcon( m_szIcon ); + } + + SetFgColor( pScheme->GetColor( "FgColor", Color( 255, 255, 255, 255 ) ) ); +} -- cgit v1.2.3