| /* |
| Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization |
| dedicated to making software imaging solutions freely available. |
| |
| You may not use this file except in compliance with the License. |
| obtain a copy of the License at |
| |
| http://www.imagemagick.org/script/license.php |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| MagickCore progress monitor methods. |
| */ |
| #ifndef _MAGICKCORE_MONITOR_H |
| #define _MAGICKCORE_MONITOR_H |
| |
| #if defined(__cplusplus) || defined(c_plusplus) |
| extern "C" { |
| #endif |
| |
| typedef MagickBooleanType |
| (*MagickProgressMonitor)(const char *,const MagickOffsetType, |
| const MagickSizeType,void *); |
| |
| MagickExport MagickProgressMonitor |
| SetImageProgressMonitor(Image *,const MagickProgressMonitor,void *), |
| SetImageInfoProgressMonitor(ImageInfo *,const MagickProgressMonitor,void *); |
| |
| static inline MagickBooleanType QuantumTick(const MagickOffsetType offset, |
| const MagickSizeType span) |
| { |
| if (span <= 100) |
| return(MagickTrue); |
| if (offset == (MagickOffsetType) (span-1)) |
| return(MagickTrue); |
| if ((offset % (span/100)) == 0) |
| return(MagickTrue); |
| return(MagickFalse); |
| } |
| |
| #if defined(__cplusplus) || defined(c_plusplus) |
| } |
| #endif |
| |
| #endif |