| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*
- Copyright 1999 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. You may
- obtain a copy of the License at
-
- https://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 MagickBooleanType
- SetImageProgress(const Image *,const char *,const MagickOffsetType,
- const MagickSizeType);
- 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 % (MagickOffsetType) (span/100)) == 0)
- return(MagickTrue);
- return(MagickFalse);
- }
- #if defined(__cplusplus) || defined(c_plusplus)
- }
- #endif
- #endif
|