Counter Strike : Global Offensive Source Code
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.
|
|
//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef GRAPHICGROUP_H
#define GRAPHICGROUP_H
#ifdef _WIN32
#pragma once
#endif
#include "dmxloader/dmxelement.h"
#include "tier1/utlvector.h"
#include "tier1/utldict.h"
#include "gamegraphic.h"
#include "hitarea.h"
//-----------------------------------------------------------------------------
// A class that holds a group of graphics.
//-----------------------------------------------------------------------------
class CGraphicGroup : public CGameGraphic { DECLARE_DMXELEMENT_UNPACK()
public:
CGraphicGroup(); virtual ~CGraphicGroup();
bool Unserialize( CDmxElement *pElement, CUtlDict< CGameGraphic *, int > &unserializedGraphicMapping );
virtual void UpdateGeometry(); void UpdateRenderData( color32 parentColor ); virtual void UpdateRenderTransforms( const StageRenderInfo_t &stageRenderInfo );
color32 GetResultantColor() const { return m_ResultantColor; } // needed by group children.
virtual void GetRenderTransform( matrix3x4_t &relToScreen, bool bMaintainAspectRatio ) const; // needed by group children.
void AddToGroup( CGameGraphic *pGraphic ); void RemoveFromGroup( CGameGraphic *pGraphic );
// From GameGraphic
virtual bool HasState( const char *pStateName ); virtual void SetState( const char *pStateName ); virtual void StartPlaying(); virtual void StopPlaying(); virtual void AdvanceState();
virtual bool IsGroup() const { return true; } virtual bool IsStageGroup()const { return false; }
CHitArea *GetKeyFocusRequestGraphic();
virtual CGameGraphic *FindGraphicByName( const char *pName ) const;
virtual void SetVisible( bool bVisible );
bool MaintainAspectRatio() const;
protected:
CUtlVector< CGameGraphic * > m_MemberList; color32 m_ResultantColor;
private:
matrix3x4_t m_RelToScreenHoldAspectRatio; };
#endif // GRAPHICGROUP_H
|