mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-28 17:13:03 +00:00
69 lines
1.4 KiB
C++
69 lines
1.4 KiB
C++
//========= 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 ) ) );
|
|
}
|