00001 //=================================================================================================// 00002 // filename: RmCoreHelpers.h // 00003 // // 00004 // ATI Research, Inc. // 00005 // 3D Application Research Group // 00006 // // 00007 // Description: Declaration for helper methods used outside of the main SDK // 00008 // // 00009 //=================================================================================================// 00010 // $File: //depot/3darg/Tools/RenderMonkey/sdk/Include/Core/RmCoreHelpers.h $ 00011 // $Author: bmistal $ $Revision: #8 $ 00012 //=================================================================================================// 00013 // (C) 2004 ATI Research, Inc. All rights reserved. // 00014 //=================================================================================================// 00015 00016 #ifndef _RM_CORE_HELPERS_H_ 00017 #define _RM_CORE_HELPERS_H_ 00018 00019 00020 //========================================// 00021 // Initialization/Uninitialization // 00022 //========================================// 00023 RM_API bool RmEffectInit(); 00024 RM_API void RmEffectUninitialize(); 00025 00026 #include <Core/RmVector.h> 00027 #include <Core/RmStateManager.h> 00028 #include <Core/RmVectorT.h> 00029 #include <Core/RmParser.h> 00030 #include <Core/RmStlUtil.h> 00031 00032 00033 //==========================================================// 00034 // RmTextBinding is used to bind a token to a runtime value // 00035 // this is used in the RenderMonkey state tokenizer // 00036 //==========================================================// 00037 struct RmTextBinding 00038 { 00039 RM_TCHAR token[64]; 00040 unsigned long value; 00041 00042 }; // End of struct RmTextBinding declaration 00043 00044 //=============================================================================// 00045 // RmStateBinding is used to bind tokens to runtime state values and arguments // 00046 //=============================================================================// 00047 struct RmStateBinding 00048 { 00049 RmTextBinding binding; 00050 int argType; 00051 static union 00052 { 00053 RmVector argVector; 00054 00055 struct 00056 { 00057 int argCount; 00058 int argInitAlloc; 00059 int argAllocCount; 00060 int argElementSize; 00061 int (*argCompare)(const void*, const void*); 00062 RmTextBinding *args; 00063 }; 00064 }; 00065 00066 }; // End of struct RmStateBinding declaration 00067 00068 //========================================// 00069 // Recursive File Search Utility Function // 00070 //========================================// 00071 RM_API bool RmSearchFileTree( RM_TCHAR *pStrRootDirectoryPath, 00072 RM_TCHAR *pStrFileName, 00073 RM_TCHAR *pStrNewFilePath, 00074 int nSize ); 00075 00076 RM_API bool RmCalculateNewPath( RM_TCHAR *pStrFileName, 00077 int nSize, 00078 RM_TCHAR *pStrDirectoryPath, 00079 bool bShowMessage ); 00080 00081 //============================================================================// 00082 //============================================================================// 00083 //============================================================================// 00084 // TEMPORARILY MOVING THESE DEFINITIONS INTO THIS FILE IN ORDER NOT TO EXPOSE // 00085 // THEM IN THE PUBLIC SDK. // 00086 //============================================================================// 00087 //============================================================================// 00088 //============================================================================// 00089 00090 //============================================================================= 00097 //============================================================================= 00098 class RM_API IRmWorkspaceEditorPlugIn : public IRmEditorPlugIn 00099 { 00100 public : 00101 //========================================================================== 00106 //========================================================================== 00107 virtual HWND CreateWorkspaceEditorHwnd( RmNode *pWorkspaceNode ) = 0; 00108 00109 }; // End of IRmWorkspaceEditorPlugIn interface declaration 00110 00111 00112 00113 #endif //__RM_CORE_HELPERS__
1.3.6