diff options
Diffstat (limited to 'public/panorama/iuilayoutmanager.h')
| -rw-r--r-- | public/panorama/iuilayoutmanager.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/public/panorama/iuilayoutmanager.h b/public/panorama/iuilayoutmanager.h new file mode 100644 index 0000000..3d67cdb --- /dev/null +++ b/public/panorama/iuilayoutmanager.h @@ -0,0 +1,64 @@ +//=========== Copyright Valve Corporation, All rights reserved. ===============// +// +// Purpose: +//=============================================================================// + +#ifndef IUILAYOUTMANAGER_H +#define IUILAYOUTMANAGER_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "panoramatypes.h" +#include "panoramasymbol.h" +#include "layout/stylefiletypes.h" + +namespace panorama +{ + +class CStyleAnimation; + +class IUILayoutFile +{ +public: + virtual bool BReplaceDefines( CPanoramaSymbol symStyleFile, char *rgchBuffer, uint cubBuffer ) = 0; + virtual void BuildMatchingStyleList( CUtlVector< CascadeStyleFileInfo_t > &vecStyles, const CPanelIdentifiers &panelID, IUILayoutFile *pPreviousLayoutFile ) = 0; + + virtual CPanoramaSymbol GetStyleFileSymbol( int i ) const = 0; + virtual CPanoramaSymbol GetLayoutFileSymbol() const = 0; + + virtual const CStyleAnimation *GetAnimation( CPanoramaSymbol symName ) = 0; + + virtual const char *GetDefine( const char *pchName ) = 0; + + virtual bool ApplyMatchedStylesToPanelStyle( IUIPanelStyle *pPanelStyle, const CUtlVector< CascadeStyleFileInfo_t > &vecStyles, EStyleRepaint &eRepaint, bool &bInheritablePropertiesChanged ) = 0; +}; + +//----------------------------------------------------------------------------- +// Purpose: Public interface to layout mamanger. Manages layout files, styles, etc. +//----------------------------------------------------------------------------- +class IUILayoutManager +{ +public: + + // in memory updates + enum EUpdateStyleType + { + k_EUpdateStyleStyle = 0, + k_EUpdateStyleKeyframes = 1, + }; + + virtual IUILayoutFile *GetLayoutFile( const char *pchFile, bool bPartialLayout ) = 0; + virtual IUILayoutFile *GetLayoutFile( CPanoramaSymbol symPath ) = 0; + virtual void SaveInMemoryFiles() = 0; + virtual void RevertInMemoryFiles() = 0; + virtual bool BHasFilesInMemory() const = 0; + virtual bool LoadStyleIntoBuffer( CPanoramaSymbol symFile, CUtlBuffer &buffer ) = 0; + virtual bool UpdateStyleInMemory( EUpdateStyleType eUpdateType, CPanoramaSymbol symStyleFile, uint unLocation, const char *pchUpdatedStyle ) = 0; + virtual bool BConvertHTTPPathToLocalP4Path( const char *pchFile, CUtlString &strOut ) = 0; +}; + +} // namespace panorama + +#endif // IUILAYOUTMANAGER_H
\ No newline at end of file |