hl2_src-leak-2017/src/utils/hlfaceposer/expressions.h

51 lines
1.4 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#if !defined( EXPRESSIONS_H )
#define EXPRESSIONS_H
#ifdef _WIN32
#pragma once
#endif
#include "studio.h"
#include "expression.h"
class FlexPanel;
class ControlPanel;
class MatSysWindow;
class CExpClass;
class ExpressionTool;
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
class IExpressionManager
{
public:
virtual void Reset( void ) = 0;
// File i/o
virtual void LoadClass( const char *filename ) = 0;
virtual void CreateNewClass( const char *filename ) = 0;
virtual bool CloseClass( CExpClass *cl ) = 0;
virtual void ActivateExpressionClass( CExpClass *cl ) = 0;
virtual CExpClass *AddCExpClass( const char *classname, const char *filename ) = 0;
virtual int GetNumClasses( void ) = 0;
virtual CExpression *GetCopyBuffer( void ) = 0;
virtual bool CanClose( void ) = 0;
virtual CExpClass *GetActiveClass( void ) = 0;
virtual CExpClass *GetClass( int num ) = 0;
virtual CExpClass *FindClass( const char *classname, bool bMatchBaseNameOnly ) = 0;
};
extern IExpressionManager *expressions;
#endif // EXPRESSIONS_H