diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/replay/ireplaymoviemanager.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'common/replay/ireplaymoviemanager.h')
| -rw-r--r-- | common/replay/ireplaymoviemanager.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/common/replay/ireplaymoviemanager.h b/common/replay/ireplaymoviemanager.h new file mode 100644 index 0000000..40f605f --- /dev/null +++ b/common/replay/ireplaymoviemanager.h @@ -0,0 +1,56 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +//=======================================================================================// + +#ifndef IREPLAYMOVIEMANAGER_H +#define IREPLAYMOVIEMANAGER_H +#ifdef _WIN32 +#pragma once +#endif + +//---------------------------------------------------------------------------------------- + +#include "interface.h" +#include "utlstring.h" +#include "utllinkedlist.h" +#include "replay/replayhandle.h" + +//---------------------------------------------------------------------------------------- + +class IReplayMovie; +class CReplay; +struct RenderMovieParams_t; +class IQueryableReplayItem; + +//---------------------------------------------------------------------------------------- + +abstract_class IReplayMovieManager : public IBaseInterface +{ +public: + virtual int GetMovieCount() = 0; + virtual void GetMovieList( CUtlLinkedList< IReplayMovie * > &list ) = 0; // Fills the list with all movies + virtual IReplayMovie *GetMovie( ReplayHandle_t hMovie ) = 0; + virtual IReplayMovie *CreateAndAddMovie( ReplayHandle_t hReplay ) = 0; // Creates and adds a movie based on the given replay + virtual void DeleteMovie( ReplayHandle_t hMovie ) = 0; // Delete a movie + virtual int GetNumMoviesDependentOnReplay( const CReplay *pReplay ) = 0; // Get the number of movies that depend on the given replay + virtual void GetCachedMovieTitleAndClear( wchar_t *pOut, int nOutBufLength ) = 0; // TODO: This is a hack - fix this + virtual void SetPendingMovie( IReplayMovie *pMovie ) = 0; + virtual IReplayMovie *GetPendingMovie() = 0; + virtual void FlagMovieForFlush( IReplayMovie *pMovie, bool bImmediate ) = 0; + virtual void GetMoviesAsQueryableItems( CUtlLinkedList< IQueryableReplayItem *, int > &lstMovies ) = 0; + virtual const char *GetRenderDir() const = 0; + virtual const char *GetRawExportDir() const = 0; + + // TODO: Is this the best place for code that actually manages rendering? + virtual bool IsRendering() const = 0; + virtual bool RenderingCancelled() const = 0; + virtual void RenderMovie( RenderMovieParams_t const& params ) = 0; // Renders the given replay - or if params.hReplay is -1, render all unrendered replays + virtual void RenderNextMovie() = 0; + virtual void CompleteRender( bool bSuccess, bool bShowBrowser ) = 0; + virtual void CancelRender() = 0; + virtual void ClearRenderCancelledFlag() = 0; +}; + +//---------------------------------------------------------------------------------------- + +#endif // IREPLAYMOVIEMANAGER_H
\ No newline at end of file |