You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.1 KiB
79 lines
2.1 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: This is a panel which is rendered image on top of an entity |
|
// |
|
// $Revision: $ |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef VGUI_ENTITYIMAGEPANEL_H |
|
#define VGUI_ENTITYIMAGEPANEL_H |
|
|
|
#include "vgui_EntityPanel.h" |
|
#include "shareddefs.h" |
|
|
|
//----------------------------------------------------------------------------- |
|
// forward declarations |
|
//----------------------------------------------------------------------------- |
|
|
|
class C_BaseEntity; |
|
class KeyValues; |
|
class BitmapImage; |
|
|
|
//----------------------------------------------------------------------------- |
|
// This is a base class for a panel which always is rendered on top of an entity |
|
//----------------------------------------------------------------------------- |
|
|
|
class CEntityImagePanel : public CEntityPanel |
|
{ |
|
DECLARE_CLASS( CEntityImagePanel, CEntityPanel ); |
|
|
|
public: |
|
// constructor |
|
CEntityImagePanel( vgui::Panel* pParent, const char *panelName ); |
|
~CEntityImagePanel(); |
|
|
|
// initialization |
|
virtual bool Init( KeyValues* pInitData, C_BaseEntity* pEntity ); |
|
|
|
bool ShouldDraw(); |
|
|
|
virtual void Paint( void ); |
|
virtual void PaintBackground( void ) {} |
|
|
|
private: |
|
// The bitmap to render |
|
BitmapImage *m_pImage; |
|
|
|
protected: |
|
int m_r, m_g, m_b, m_a; |
|
}; |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Same as above, but understands how to parse color/material out of |
|
// Team1/Team2 sections |
|
//----------------------------------------------------------------------------- |
|
class CEntityTeamImagePanel : public CEntityImagePanel |
|
{ |
|
DECLARE_CLASS( CEntityTeamImagePanel, CEntityImagePanel ); |
|
|
|
public: |
|
CEntityTeamImagePanel( vgui::Panel* pParent, const char *panelName ); |
|
~CEntityTeamImagePanel( void ); |
|
// initialization |
|
virtual bool Init( KeyValues* pInitData, C_BaseEntity* pEntity ); |
|
|
|
virtual void Paint( void ); |
|
|
|
private: |
|
struct TEAMIMAGE |
|
{ |
|
BitmapImage *m_pImage; |
|
int m_r, m_g, m_b, m_a; |
|
}; |
|
|
|
TEAMIMAGE m_Images[ MAX_TEAMS ]; |
|
}; |
|
|
|
#endif // VGUI_ENTITYIMAGEPANEL_H
|