summaryrefslogtreecommitdiff
path: root/public/panorama/iuilayoutmanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'public/panorama/iuilayoutmanager.h')
-rw-r--r--public/panorama/iuilayoutmanager.h64
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