//========= 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 ) ) ); }