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 */
SetImageProgressMonitor(Image * image,const MagickProgressMonitor progress_monitor,void * client_data)85 MagickExport 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 */
SetImageInfoProgressMonitor(ImageInfo * image_info,const MagickProgressMonitor progress_monitor,void * client_data)134 MagickExport 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