00001 00021 #ifndef __BAR_H__ 00022 #define __BAR_H__ 00023 00024 #ifdef __cplusplus 00025 extern "C" { 00026 #endif 00027 00028 #ifdef _WIN32 00029 #define inline __inline // compatible with MS VS 6.0 00030 #endif 00031 00035 00039 00040 #define BAR_PROGRESS_USE 1 00041 00045 00046 typedef struct Bar_Progress_t_ Bar_Progress_t; 00047 00051 00055 00056 /*=== bar.c ==========================================================*/ 00057 extern Bar_Progress_t * Bar_ProgressStart( FILE * pFile, int nItemsTotal ); 00058 extern void Bar_ProgressStop( Bar_Progress_t * p ); 00059 extern void Bar_ProgressUpdate_int( Bar_Progress_t * p, int nItemsCur, char * pString ); 00060 00061 static inline void Bar_ProgressUpdate( Bar_Progress_t * p, int nItemsCur, char * pString ) { 00062 if ( BAR_PROGRESS_USE && p && (nItemsCur < *((int*)p)) ) return; Bar_ProgressUpdate_int(p, nItemsCur, pString); } 00063 00064 00065 #ifdef __cplusplus 00066 } 00067 #endif 00068 00069 #endif 00070 00074