diff options
Diffstat (limited to 'public/game/client/iviewport.h')
| -rw-r--r-- | public/game/client/iviewport.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/public/game/client/iviewport.h b/public/game/client/iviewport.h new file mode 100644 index 0000000..a28d446 --- /dev/null +++ b/public/game/client/iviewport.h @@ -0,0 +1,65 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $Workfile: $ +// $Date: $ +// +//----------------------------------------------------------------------------- +// $Log: $ +// +// $NoKeywords: $ +//=============================================================================// +#if !defined( IVIEWPORT_H ) +#define IVIEWPORT_H +#ifdef _WIN32 +#pragma once +#endif + +#include <vgui/VGUI.h> + +#include "viewport_panel_names.h" + +#include "inputsystem/InputEnums.h" + +class KeyValues; + +abstract_class IViewPortPanel +{ + +public: + virtual ~IViewPortPanel() {}; + + virtual const char *GetName( void ) = 0;// return identifer name + virtual void SetData(KeyValues *data) = 0; // set ViewPortPanel data + virtual void Reset( void ) = 0; // clears internal state, deactivates it + virtual void Update( void ) = 0; // updates all (size, position, content, etc) + virtual bool NeedsUpdate( void ) = 0; // query panel if content needs to be updated + virtual bool HasInputElements( void ) = 0; // true if panel contains elments which accepts input + + virtual void ShowPanel( bool state ) = 0; // activate VGUI Frame + + virtual GameActionSet_t GetPreferredActionSet() = 0; + + // VGUI functions: + virtual vgui::VPANEL GetVPanel( void ) = 0; // returns VGUI panel handle + virtual bool IsVisible() = 0; // true if panel is visible + virtual void SetParent( vgui::VPANEL parent ) = 0; +}; + +abstract_class IViewPort +{ +public: + virtual void UpdateAllPanels( void ) = 0; + virtual void ShowPanel( const char *pName, bool state ) = 0; + virtual void ShowPanel( IViewPortPanel* pPanel, bool state ) = 0; + virtual void ShowBackGround(bool bShow) = 0; + virtual IViewPortPanel* FindPanelByName(const char *szPanelName) = 0; + virtual IViewPortPanel* GetActivePanel( void ) = 0; + virtual void PostMessageToPanel( const char *pName, KeyValues *pKeyValues ) = 0; +}; + +extern IViewPort *gViewPortInterface; + + +#endif // IVIEWPORT_H
\ No newline at end of file |