00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_MONITOR_H
00019 #define MAGICKCORE_MONITOR_H
00020
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024
00025 typedef MagickBooleanType
00026 (*MagickProgressMonitor)(const char *,const MagickOffsetType,
00027 const MagickSizeType,void *);
00028
00029 MagickExport MagickBooleanType
00030 SetImageProgress(const Image *,const char *,const MagickOffsetType,
00031 const MagickSizeType);
00032
00033 MagickExport MagickProgressMonitor
00034 SetImageProgressMonitor(Image *,const MagickProgressMonitor,void *),
00035 SetImageInfoProgressMonitor(ImageInfo *,const MagickProgressMonitor,void *);
00036
00037 static inline MagickBooleanType QuantumTick(const MagickOffsetType offset,
00038 const MagickSizeType span)
00039 {
00040 if (span <= 100)
00041 return(MagickTrue);
00042 if (offset == (MagickOffsetType) (span-1))
00043 return(MagickTrue);
00044 if ((offset % (span/100)) == 0)
00045 return(MagickTrue);
00046 return(MagickFalse);
00047 }
00048
00049 #if defined(__cplusplus) || defined(c_plusplus)
00050 }
00051 #endif
00052
00053 #endif