00001 //============================================================================= 00002 // filename: RmUtilities.h 00003 // 00004 // ATI Research, Inc. 00005 // 3D Application Research Group 00006 // 00007 // description: General include files for Utilities library 00008 // 00009 //============================================================================= 00010 // (C) 2004 ATI Research, Inc. All rights reserved. 00011 //============================================================================= 00012 00013 #ifndef _RM_UTILITIES_H_ 00014 #define _RM_UTILITIES_H_ 00015 00016 #include <Core/RmCore.h> 00017 00018 #include <Utilities/RmUtilTypes.h> 00019 #include <Utilities/RmUtilTrackball.h> 00020 #include <Utilities/RmUtilSmartBackgroundErase.h> 00021 #include <Utilities/RmUtilProcessMessage.h> 00022 00023 //============================================================================= 00027 //============================================================================= 00028 00029 // For the following user window messages: 00030 // WPARAM = Window handle of control that initiated the change 00031 // LPARAM = Ununsed at this point 00032 00033 #define RM_VALUE_CHANGED_FLOAT ( WM_USER + 8108 ) 00034 #define RM_COLOR_CHANGED_FLOAT ( WM_USER + 8109 ) 00035 #define RM_CHILD_WINDOW_RESIZE ( WM_USER + 8110 ) 00036 #define RM_VALUE_CHANGE_START ( WM_USER + 8111 ) 00037 #define RM_VALUE_CHANGE_END ( WM_USER + 8112 ) 00038 00039 // WPARAM = Window handle of control that initiated the change 00040 // LPARAM = LOWORD = Horizontal ScrollAmount, HIWORD = Vertical Scroll Amount 00041 #define RM_CHILD_WINDOW_SCROLL ( WM_USER + 8113 ) 00042 00043 //============================================================================= 00049 //============================================================================= 00050 class RMUTIL_API RmUtilSaveCurrentDirectory 00051 { 00052 public : 00053 //-------------------------------------------------------------------------- 00055 //-------------------------------------------------------------------------- 00056 RmUtilSaveCurrentDirectory(); 00057 00058 //-------------------------------------------------------------------------- 00060 //-------------------------------------------------------------------------- 00061 ~RmUtilSaveCurrentDirectory(); 00062 00063 private : 00064 RM_TCHAR m_szSavedDirectory[2048]; 00065 }; // End of RmUtilSaveCurrentDirectory 00066 00067 //============================================================================= 00073 //============================================================================= 00074 class RMUTIL_API RmSuspendRedrawWindow 00075 { 00076 public : 00077 //-------------------------------------------------------------------------- 00081 //-------------------------------------------------------------------------- 00082 RmSuspendRedrawWindow( HWND hWnd ); 00083 00084 //-------------------------------------------------------------------------- 00086 //-------------------------------------------------------------------------- 00087 ~RmSuspendRedrawWindow(); 00088 00089 private: 00090 HWND m_hWnd; 00091 HWND m_hTempWnd; 00092 }; // End of RmSuspendRedrawWindow 00093 00094 //============================================================================= 00100 //============================================================================= 00101 class RMUTIL_API RmUtilMessageBlock 00102 { 00103 public : 00104 //-------------------------------------------------------------------------- 00106 //-------------------------------------------------------------------------- 00107 RmUtilMessageBlock() { getRmApp()->BeginMessageBlock(); } 00108 00109 //-------------------------------------------------------------------------- 00111 //-------------------------------------------------------------------------- 00112 ~RmUtilMessageBlock() { getRmApp()->EndMessageBlock(); } 00113 00114 }; // End of RmUtilMessageBlock 00115 00116 //============================================================================= 00122 //============================================================================= 00123 class RMUTIL_API RmUtilWaitCursor 00124 { 00125 public : 00126 RmUtilWaitCursor() 00127 { 00128 m_hNewCursor = ::LoadCursor( NULL,IDC_WAIT ); 00129 m_hOldCursor = ::SetCursor( m_hNewCursor ); 00130 00131 } // end RmUtilWaitCursor() 00132 00133 ~RmUtilWaitCursor() 00134 { 00135 ::SetCursor( m_hOldCursor ); 00136 ::DestroyCursor( m_hNewCursor ); 00137 00138 } // end ~RmUtilWaitCursor() 00139 00140 private : 00141 HCURSOR m_hOldCursor; 00142 HCURSOR m_hNewCursor; 00143 00144 }; // End of RmUtilSetResourceHandle 00145 00146 //============================================================================= 00150 //============================================================================= 00151 RMUTIL_API void RmCalculateRelativePath( RM_TCHAR* pStrRelativeFilePath, 00152 RM_TCHAR* pStrFullFilePath, 00153 int nSize ); 00154 00155 00156 #endif
1.3.6