hl2_src-leak-2017/src/tools/vmt/vmttool.h

51 lines
1.7 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: VMT tool; main UI smarts class
//
//=============================================================================
#ifndef VMTTOOL_H
#define VMTTOOL_H
#ifdef _WIN32
#pragma once
#endif
//-----------------------------------------------------------------------------
// Forward declarations
//-----------------------------------------------------------------------------
class CDmeEditorTypeDictionary;
//-----------------------------------------------------------------------------
// Singleton interfaces
//-----------------------------------------------------------------------------
extern CDmeEditorTypeDictionary *g_pEditorTypeDict;
//-----------------------------------------------------------------------------
// Allows the doc to call back into the VMT editor tool
//-----------------------------------------------------------------------------
class IVMTDocCallback
{
public:
// Called by the doc when the data changes
virtual void OnDocChanged( const char *pReason, int nNotifySource, int nNotifyFlags ) = 0;
// Update the editor dict based on the current material parameters
virtual void AddShaderParameter( const char *pParam, const char *pWidget, const char *pTextType ) = 0;
// Update the editor dict based on the current material parameters
virtual void RemoveShaderParameter( const char *pParam ) = 0;
// Adds flags, tool parameters
virtual void AddFlagParameter( const char *pParam ) = 0;
virtual void AddToolParameter( const char *pParam, const char *pWidget = NULL, const char *pTextType = NULL ) = 0;
virtual void RemoveAllFlagParameters() = 0;
virtual void RemoveAllToolParameters() = 0;
};
#endif // VMTTOOL_H