Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

RmUtilSmartBackgroundErase.h

00001 //=============================================================================
00002 // filename: RmUtilSmartEraseBackground.h                                     
00003 //                                                                            
00004 //           ATI Research, Inc.                                               
00005 //           3D Application Research Group                                    
00006 //                                                                            
00007 // description:   This set of functions enable windows to reduce the flicker  
00008 //                noticed when window backgrounds are erased.  This is done   
00009 //                by re-routing the WM_ERASEBKGND handler for all windows,    
00010 //                recursively including all of the child windows, registered  
00011 //                through the  RmAddSmartEraseWindow function.  All windows,  
00012 //                including MFC controls will be handled by use of window     
00013 //                hook functions.  This re-routed handler excludes specific   
00014 //                regions when the erase background is performed, thus        
00015 //                reducing the amount of flicker.                             
00016 //                                                                            
00017 //=============================================================================
00018 //  (C) 2004 ATI Research, Inc.  All rights reserved.                         
00019 //=============================================================================
00020 
00021 #ifndef _RM_UTILITIES_SMART_ERASE_H_
00022 #define _RM_UTILITIES_SMART_ERASE_H_
00023 
00024 //=============================================================================
00028 //=============================================================================
00029 
00030 //-----------------------------------------------------------------------------
00034 //-----------------------------------------------------------------------------
00035 RMUTIL_API void RmInitSmartEraseWindow();
00036 
00037 //-----------------------------------------------------------------------------
00041 //-----------------------------------------------------------------------------
00042 RMUTIL_API void RmUninitializeSmartEraseWindow();
00043 
00044 //-----------------------------------------------------------------------------
00052 //-----------------------------------------------------------------------------
00053 RMUTIL_API void RmAddSmartEraseWindow( HWND hWnd, COLORREF rgbBackground, bool bFillBackground = true );
00054 
00055 //-----------------------------------------------------------------------------
00060 //-----------------------------------------------------------------------------
00061 RMUTIL_API void RmRemoveSmartEraseWindow( HWND hWnd );
00062 
00063 //-----------------------------------------------------------------------------
00068 //-----------------------------------------------------------------------------
00069 RMUTIL_API bool RmIsSmartEraseWindow( HWND hWnd );
00070 
00071 
00072 //-----------------------------------------------------------------------------
00078 //-----------------------------------------------------------------------------
00079 RMUTIL_API void RmAddSmartEraseIncludeWindow( HWND hWnd, bool bIncludeChildren = false  );
00080 
00081 //-----------------------------------------------------------------------------
00086 //-----------------------------------------------------------------------------
00087 RMUTIL_API void RmRemoveSmartEraseIncludeWindow( HWND hWnd );
00088 
00089 //-----------------------------------------------------------------------------
00094 //-----------------------------------------------------------------------------
00095 RMUTIL_API bool RmIsSmartEraseIncludeWindow( HWND hWnd );
00096 
00097 
00098 //-----------------------------------------------------------------------------
00105 //-----------------------------------------------------------------------------
00106 RMUTIL_API void RmAddSmartEraseExcludeWindow( HWND hWnd, bool bExcludeChildren = false  );
00107 
00108 //-----------------------------------------------------------------------------
00113 //-----------------------------------------------------------------------------
00114 RMUTIL_API void RmRemoveSmartEraseExcludeWindow( HWND hWnd );
00115 
00116 //-----------------------------------------------------------------------------
00121 //-----------------------------------------------------------------------------
00122 RMUTIL_API bool RmIsSmartEraseExcludeWindow( HWND hWnd );
00123 
00124 
00125 #endif // __RMUTIL_SMART_BACKGROUND_ERASE_H__

Generated on Fri Feb 25 16:08:42 2005 for RenderMonkey SDK by doxygen 1.3.6