1/* 2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 3% % 4% % 5% % 6% M M OOO N N IIIII TTTTT OOO RRRR % 7% MM MM O O NN N I T O O R R % 8% M M M O O N N N I T O O RRRR % 9% M M O O N NN I T O O R R % 10% M M OOO N N IIIII T OOO R R % 11% % 12% % 13% MagickCore Progress Monitor Methods % 14% % 15% Software Design % 16% Cristy % 17% December 1995 % 18% % 19% % 20% Copyright 1999-2016 ImageMagick Studio LLC, a non-profit organization % 21% dedicated to making software imaging solutions freely available. % 22% % 23% You may not use this file except in compliance with the License. You may % 24% obtain a copy of the License at % 25% % 26% http://www.imagemagick.org/script/license.php % 27% % 28% Unless required by applicable law or agreed to in writing, software % 29% distributed under the License is distributed on an "AS IS" BASIS, % 30% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. % 31% See the License for the specific language governing permissions and % 32% limitations under the License. % 33% % 34%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 35% 36% 37% 38*/ 39 40/* 41 Include declarations. 42*/ 43#include "MagickCore/studio.h" 44#include "MagickCore/image.h" 45#include "MagickCore/log.h" 46#include "MagickCore/monitor.h" 47 48/* 49%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 50% % 51% % 52% % 53% S e t I m a g e P r o g r e s s M o n i t o r % 54% % 55% % 56% % 57%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 58% 59% SetImageProgressMonitor() sets the image progress monitor to the specified 60% method and returns the previous progress monitor if any. The progress 61% monitor method looks like this: 62% 63% MagickBooleanType MagickProgressMonitor(const char *text, 64% const MagickOffsetType offset,const MagickSizeType extent, 65% void *client_data) 66% 67% If the progress monitor returns MagickFalse, the current operation is 68% interrupted. 69% 70% The format of the SetImageProgressMonitor method is: 71% 72% MagickProgressMonitor SetImageProgressMonitor(Image *image, 73% const MagickProgressMonitor progress_monitor,void *client_data) 74% 75% A description of each parameter follows: 76% 77% o image: the image. 78% 79% o progress_monitor: Specifies a pointer to a method to monitor progress of 80% an image operation. 81% 82% o client_data: Specifies a pointer to any client data. 83% 84*/ 85MagickExport MagickProgressMonitor SetImageProgressMonitor(Image *image, 86 const MagickProgressMonitor progress_monitor,void *client_data) 87{ 88 MagickProgressMonitor 89 previous_monitor; 90 91 previous_monitor=image->progress_monitor; 92 image->progress_monitor=progress_monitor; 93 image->client_data=client_data; 94 return(previous_monitor); 95} 96 97/* 98%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 99% % 100% % 101% % 102% S e t I m a g e I n f o P r o g r e s s M o n i t o r % 103% % 104% % 105% % 106%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 107% 108% SetImageInfoProgressMonitor() sets the image_info progress monitor to the 109% specified method and returns the previous progress monitor if any. The 110% progress monitor method looks like this: 111% 112% MagickBooleanType MagickProgressMonitor(const char *text, 113% const MagickOffsetType offset,const MagickSizeType extent, 114% void *client_data) 115% 116% If the progress monitor returns MagickFalse, the current operation is 117% interrupted. 118% 119% The format of the SetImageInfoProgressMonitor method is: 120% 121% MagickProgressMonitor SetImageInfoProgressMonitor(ImageInfo *image_info, 122% const MagickProgressMonitor progress_monitor,void *client_data) 123% 124% A description of each parameter follows: 125% 126% o image_info: the image info. 127% 128% o progress_monitor: Specifies a pointer to a method to monitor progress of 129% an image operation. 130% 131% o client_data: Specifies a pointer to any client data. 132% 133*/ 134MagickExport MagickProgressMonitor SetImageInfoProgressMonitor( 135 ImageInfo *image_info,const MagickProgressMonitor progress_monitor, 136 void *client_data) 137{ 138 MagickProgressMonitor 139 previous_monitor; 140 141 previous_monitor=image_info->progress_monitor; 142 image_info->progress_monitor=progress_monitor; 143 image_info->client_data=client_data; 144 return(previous_monitor); 145} 146