1 /*
2 Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
4
5 You may not use this file except in compliance with the License. You may
6 obtain a copy of the License at
7
8 https://imagemagick.org/script/license.php
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 MagickCore deprecated methods.
17 */
18 #ifndef MAGICKCORE_DEPRECATE_H
19 #define MAGICKCORE_DEPRECATE_H
20
21 #include <stdarg.h>
22 #include "magick/blob.h"
23 #include "magick/cache-view.h"
24 #include "magick/draw.h"
25 #include "magick/constitute.h"
26 #include "magick/magick-config.h"
27 #include "magick/pixel.h"
28 #include "magick/quantize.h"
29 #include "magick/quantum.h"
30 #include "magick/registry.h"
31 #include "magick/semaphore.h"
32
33 #if defined(__cplusplus) || defined(c_plusplus)
34 extern "C" {
35 #endif
36
37 #if !defined(MAGICKCORE_EXCLUDE_DEPRECATED)
38
39 #if !defined(magick_attribute)
40 # if !defined(__clang__) && !defined(__GNUC__)
41 # define magick_attribute(x) /*nothing*/
42 # else
43 # define magick_attribute __attribute__
44 # endif
45 #endif
46
47 #define Downscale(quantum) ScaleQuantumToChar(quantum)
48 #define LABColorspace LabColorspace
49 #define CompressPixelGamma(pixel) DecodePixelGamma(pixel)
50 #define DecodesRGBGamma(pixel) DecodePixelGamma(pixel)
51 #define EncodesRGBGamma(pixel) EncodePixelGamma(pixel)
52 #define ExpandPixelGamma(pixel) EncodePixelGamma(pixel)
53 #define Intensity(color) PixelIntensityToQuantum(color)
54 #define LiberateUniqueFileResource(resource) \
55 RelinquishUniqueFileResource(resource)
56 #define LiberateMagickResource(resource) RelinquishMagickResource(resource)
57 #define LiberateSemaphore(semaphore) RelinquishSemaphore(semaphore)
58 #define MagickHuge 3.4e+38F
59 #define MaxRGB QuantumRange /* deprecated */
60 #define QuantumDepth MAGICKCORE_QUANTUM_DEPTH
61 #define RunlengthEncodedCompression RLECompression
62 #define Upscale(value) ScaleCharToQuantum(value)
63 #define XDownscale(value) ScaleShortToQuantum(value)
64 #define XUpscale(quantum) ScaleQuantumToShort(quantum)
65
66 typedef enum
67 {
68 UndefinedMagickLayerMethod
69 } MagickLayerMethod;
70
71 typedef MagickOffsetType ExtendedSignedIntegralType;
72 typedef MagickSizeType ExtendedUnsignedIntegralType;
73 typedef MagickRealType ExtendedRationalType;
74 typedef struct _ViewInfo ViewInfo;
75
76 typedef MagickBooleanType
77 (*MonitorHandler)(const char *,const MagickOffsetType,const MagickSizeType,
78 ExceptionInfo *);
79
80 typedef struct _ImageAttribute
81 {
82 char
83 *key,
84 *value;
85
86 MagickBooleanType
87 compression;
88
89 struct _ImageAttribute
90 *previous,
91 *next; /* deprecated */
92 } ImageAttribute;
93
94 extern MagickExport CacheView
95 *CloseCacheView(CacheView *) magick_attribute((deprecated)),
96 *OpenCacheView(const Image *) magick_attribute((deprecated));
97
98 extern MagickExport char
99 *AllocateString(const char *) magick_attribute((deprecated)),
100 *InterpretImageAttributes(const ImageInfo *,Image *,const char *)
101 magick_attribute((deprecated)),
102 *PostscriptGeometry(const char *) magick_attribute((deprecated)),
103 *TranslateText(const ImageInfo *,Image *,const char *)
104 magick_attribute((deprecated));
105
106 extern MagickExport const ImageAttribute
107 *GetImageAttribute(const Image *,const char *),
108 *GetImageClippingPathAttribute(Image *) magick_attribute((deprecated)),
109 *GetNextImageAttribute(const Image *) magick_attribute((deprecated));
110
111 extern MagickExport const IndexPacket
112 *AcquireCacheViewIndexes(const CacheView *) magick_attribute((deprecated)),
113 *AcquireIndexes(const Image *) magick_attribute((deprecated));
114
115 extern MagickExport const PixelPacket
116 *AcquirePixels(const Image *) magick_attribute((deprecated)),
117 *AcquireCacheViewPixels(const CacheView *,const ssize_t,const ssize_t,
118 const size_t,const size_t,ExceptionInfo *)
119 magick_attribute((deprecated)),
120 *AcquireImagePixels(const Image *,const ssize_t,const ssize_t,const size_t,
121 const size_t,ExceptionInfo *) magick_attribute((deprecated));
122
123 extern MagickExport FILE
124 *OpenMagickStream(const char *,const char *);
125
126 extern MagickExport Image
127 *AllocateImage(const ImageInfo *) magick_attribute((deprecated)),
128 *AverageImages(const Image *,ExceptionInfo *),
129 *ExtractSubimageFromImage(Image *,const Image *,ExceptionInfo *)
130 magick_attribute((deprecated)),
131 *GetImageFromMagickRegistry(const char *,ssize_t *id,ExceptionInfo *)
132 magick_attribute((deprecated)),
133 *GetImageList(const Image *,const ssize_t,ExceptionInfo *)
134 magick_attribute((deprecated)),
135 *GetNextImage(const Image *) magick_attribute((deprecated)),
136 *GetPreviousImage(const Image *) magick_attribute((deprecated)),
137 *FlattenImages(Image *,ExceptionInfo *) magick_attribute((deprecated)),
138 *MaximumImages(const Image *,ExceptionInfo *),
139 *MedianFilterImage(const Image *,const double,ExceptionInfo *),
140 *ModeImage(const Image *,const double,ExceptionInfo *),
141 *MinimumImages(const Image *,ExceptionInfo *),
142 *MosaicImages(Image *,ExceptionInfo *) magick_attribute((deprecated)),
143 *PopImageList(Image **) magick_attribute((deprecated)),
144 *RadialBlurImage(const Image *,const double,ExceptionInfo *)
145 magick_attribute((deprecated)),
146 *RadialBlurImageChannel(const Image *,const ChannelType,const double,
147 ExceptionInfo *) magick_attribute((deprecated)),
148 *RecolorImage(const Image *,const size_t,const double *,ExceptionInfo *)
149 magick_attribute((deprecated)),
150 *ReduceNoiseImage(const Image *,const double,ExceptionInfo *),
151 *ShiftImageList(Image **) magick_attribute((deprecated)),
152 *SpliceImageList(Image *,const ssize_t,const size_t,const Image *,
153 ExceptionInfo *) magick_attribute((deprecated)),
154 *ZoomImage(const Image *,const size_t,const size_t,ExceptionInfo *)
155 magick_attribute((deprecated));
156
157 extern MagickExport IndexPacket
158 *GetCacheViewIndexes(CacheView *) magick_attribute((deprecated)),
159 *GetIndexes(const Image *) magick_attribute((deprecated)),
160 ValidateColormapIndex(Image *,const size_t) magick_attribute((deprecated));
161
162 extern MagickExport int
163 GetImageGeometry(Image *,const char *,const unsigned int,RectangleInfo *)
164 magick_attribute((deprecated)),
165 ParseImageGeometry(const char *,ssize_t *,ssize_t *,size_t *,size_t *)
166 magick_attribute((deprecated)),
167 SystemCommand(const MagickBooleanType,const MagickBooleanType,const char *,
168 ExceptionInfo *) magick_attribute((deprecated));
169
170 extern MagickExport MagickBooleanType
171 AcquireOneCacheViewPixel(const CacheView *,const ssize_t,const ssize_t,
172 PixelPacket *,ExceptionInfo *) magick_attribute((deprecated)),
173 AcquireOneCacheViewVirtualPixel(const CacheView *,const VirtualPixelMethod,
174 const ssize_t,const ssize_t,PixelPacket *,ExceptionInfo *)
175 magick_attribute((deprecated)),
176 AffinityImage(const QuantizeInfo *,Image *,const Image *)
177 magick_attribute((deprecated)),
178 AffinityImages(const QuantizeInfo *,Image *,const Image *)
179 magick_attribute((deprecated)),
180 AllocateImageColormap(Image *,const size_t)
181 magick_attribute((deprecated)),
182 ClipPathImage(Image *,const char *,const MagickBooleanType)
183 magick_attribute((deprecated)),
184 CloneImageAttributes(Image *,const Image *) magick_attribute((deprecated)),
185 ColorFloodfillImage(Image *,const DrawInfo *,const PixelPacket,const ssize_t,
186 const ssize_t,const PaintMethod) magick_attribute((deprecated)),
187 ConstituteComponentGenesis(void) magick_attribute((deprecated)),
188 DeleteImageAttribute(Image *,const char *) magick_attribute((deprecated)),
189 DeleteMagickRegistry(const ssize_t) magick_attribute((deprecated)),
190 DescribeImage(Image *,FILE *,const MagickBooleanType)
191 magick_attribute((deprecated)),
192 FormatImageAttribute(Image *,const char *,const char *,...)
193 magick_attribute((__format__ (__printf__,3,4)))
194 magick_attribute((deprecated)),
195 FormatImageAttributeList(Image *,const char *,const char *,va_list)
196 magick_attribute((__format__ (__printf__,3,0)))
197 magick_attribute((deprecated)),
198 FormatImagePropertyList(Image *,const char *,const char *,va_list)
199 magick_attribute((__format__ (__printf__,3,0))),
200 FuzzyColorCompare(const Image *,const PixelPacket *,const PixelPacket *)
201 magick_attribute((deprecated)),
202 FuzzyOpacityCompare(const Image *,const PixelPacket *,const PixelPacket *)
203 magick_attribute((deprecated)),
204 InitializeModuleList(ExceptionInfo *) magick_attribute((deprecated)),
205 IsMagickInstantiated(void) magick_attribute((deprecated)),
206 LevelImageColors(Image *,const ChannelType,const MagickPixelPacket *,
207 const MagickPixelPacket *, const MagickBooleanType)
208 magick_attribute((deprecated)),
209 LoadMimeLists(const char *,ExceptionInfo *) magick_attribute((deprecated)),
210 MagickMonitor(const char *,const MagickOffsetType,const MagickSizeType,
211 void *) magick_attribute((deprecated)),
212 MapImage(Image *,const Image *,const MagickBooleanType)
213 magick_attribute((deprecated)),
214 MapImages(Image *,const Image *,const MagickBooleanType)
215 magick_attribute((deprecated)),
216 MatteFloodfillImage(Image *,const PixelPacket,const Quantum,const ssize_t,
217 const ssize_t,const PaintMethod) magick_attribute((deprecated)),
218 OpaqueImage(Image *,const PixelPacket,const PixelPacket)
219 magick_attribute((deprecated)),
220 PaintFloodfillImage(Image *,const ChannelType,const MagickPixelPacket *,
221 const ssize_t,const ssize_t,const DrawInfo *,const PaintMethod)
222 magick_attribute((deprecated)),
223 PaintOpaqueImage(Image *,const MagickPixelPacket *,const MagickPixelPacket *)
224 magick_attribute((deprecated)),
225 PaintOpaqueImageChannel(Image *,const ChannelType,const MagickPixelPacket *,
226 const MagickPixelPacket *) magick_attribute((deprecated)),
227 PaintTransparentImage(Image *,const MagickPixelPacket *,const Quantum)
228 magick_attribute((deprecated)),
229 SetExceptionInfo(ExceptionInfo *,ExceptionType)
230 magick_attribute((deprecated)),
231 SetImageAttribute(Image *,const char *,const char *)
232 magick_attribute((deprecated)),
233 SyncCacheViewPixels(CacheView *) magick_attribute((deprecated)),
234 SyncImagePixels(Image *) magick_attribute((deprecated)),
235 TransparentImage(Image *,const PixelPacket,const Quantum)
236 magick_attribute((deprecated));
237
238 extern MagickExport MagickPixelPacket
239 AcquireOneMagickPixel(const Image *,const ssize_t,const ssize_t,
240 ExceptionInfo *) magick_attribute((deprecated));
241
242 extern MagickExport MonitorHandler
243 GetMonitorHandler(void) magick_attribute((deprecated)),
244 SetMonitorHandler(MonitorHandler) magick_attribute((deprecated));
245
246 extern MagickExport MagickOffsetType
247 SizeBlob(Image *image) magick_attribute((deprecated));
248
249 extern MagickExport MagickPixelPacket
250 InterpolatePixelColor(const Image *,CacheView *,const InterpolatePixelMethod,
251 const double,const double,ExceptionInfo *) magick_attribute((deprecated));
252
253 extern MagickExport MagickStatusType
254 ParseSizeGeometry(const Image *,const char *,RectangleInfo *)
255 magick_attribute((deprecated));
256
257 extern MagickExport PixelPacket
258 AcquireOnePixel(const Image *,const ssize_t,const ssize_t,ExceptionInfo *)
259 magick_attribute((deprecated)),
260 AcquireOneVirtualPixel(const Image *,const VirtualPixelMethod,const ssize_t,
261 const ssize_t,ExceptionInfo *) magick_attribute((deprecated)),
262 *GetCacheView(CacheView *,const ssize_t,const ssize_t,const size_t,
263 const size_t) magick_attribute((deprecated)),
264 *GetCacheViewPixels(CacheView *,const ssize_t,const ssize_t,const size_t,
265 const size_t) magick_attribute((deprecated)),
266 *GetImagePixels(Image *,const ssize_t,const ssize_t,const size_t,
267 const size_t) magick_attribute((deprecated)),
268 GetOnePixel(Image *,const ssize_t,const ssize_t)
269 magick_attribute((deprecated)),
270 *GetPixels(const Image *) magick_attribute((deprecated)),
271 *SetCacheViewPixels(CacheView *,const ssize_t,const ssize_t,const size_t,
272 const size_t) magick_attribute((deprecated)),
273 *SetImagePixels(Image *,const ssize_t,const ssize_t,const size_t,
274 const size_t) magick_attribute((deprecated));
275
276 extern MagickExport MagickRealType
277 InversesRGBCompandor(const MagickRealType) magick_attribute((deprecated)),
278 sRGBCompandor(const MagickRealType) magick_attribute((deprecated));
279
280 extern MagickExport size_t
281 GetImageListSize(const Image *) magick_attribute((deprecated)),
282 PopImagePixels(Image *,const QuantumType,unsigned char *)
283 magick_attribute((deprecated)),
284 PushImagePixels(Image *,const QuantumType,const unsigned char *)
285 magick_attribute((deprecated));
286
287 extern MagickExport ssize_t
288 FormatMagickString(char *,const size_t,const char *,...)
289 magick_attribute((__format__ (__printf__,3,4)))
290 magick_attribute((deprecated)),
291 FormatMagickStringList(char *,const size_t,const char *,va_list)
292 magick_attribute((__format__ (__printf__,3,0))),
293 GetImageListIndex(const Image *) magick_attribute((deprecated)),
294 SetMagickRegistry(const RegistryType,const void *,const size_t,
295 ExceptionInfo *) magick_attribute((deprecated));
296
297 extern MagickExport unsigned int
298 ChannelImage(Image *,const ChannelType) magick_attribute((deprecated)),
299 ChannelThresholdImage(Image *,const char *) magick_attribute((deprecated)),
300 DispatchImage(const Image *,const ssize_t,const ssize_t,const size_t,
301 const size_t,const char *,const StorageType,void *,ExceptionInfo *)
302 magick_attribute((deprecated)),
303 FuzzyColorMatch(const PixelPacket *,const PixelPacket *,const double)
304 magick_attribute((deprecated)),
305 GetNumberScenes(const Image *) magick_attribute((deprecated)),
306 GetMagickGeometry(const char *,ssize_t *,ssize_t *,size_t *,size_t *)
307 magick_attribute((deprecated)),
308 IsSubimage(const char *,const unsigned int) magick_attribute((deprecated)),
309 PushImageList(Image **,const Image *,ExceptionInfo *)
310 magick_attribute((deprecated)),
311 QuantizationError(Image *) magick_attribute((deprecated)),
312 RandomChannelThresholdImage(Image *,const char *,const char *,
313 ExceptionInfo *) magick_attribute((deprecated)),
314 SetImageList(Image **,const Image *,const ssize_t,ExceptionInfo *)
315 magick_attribute((deprecated)),
316 TransformColorspace(Image *,const ColorspaceType)
317 magick_attribute((deprecated)),
318 ThresholdImage(Image *,const double) magick_attribute((deprecated)),
319 ThresholdImageChannel(Image *,const char *) magick_attribute((deprecated)),
320 UnshiftImageList(Image **,const Image *,ExceptionInfo *)
321 magick_attribute((deprecated));
322
323 extern MagickExport void
324 *AcquireMemory(const size_t) magick_attribute((deprecated)),
325 AcquireSemaphoreInfo(SemaphoreInfo **) magick_attribute((deprecated)),
326 AllocateNextImage(const ImageInfo *,Image *) magick_attribute((deprecated)),
327 *CloneMemory(void *,const void *,const size_t) magick_attribute((deprecated)),
328 ConstituteComponentTerminus(void) magick_attribute((deprecated)),
329 DestroyConstitute(void),
330 DestroyImageAttributes(Image *) magick_attribute((deprecated)),
331 DestroyImages(Image *) magick_attribute((deprecated)),
332 DestroyMagick(void) magick_attribute((deprecated)),
333 DestroyMagickRegistry(void) magick_attribute((deprecated)),
334 *GetConfigureBlob(const char *,char *,size_t *,ExceptionInfo *)
335 magick_attribute((deprecated)),
336 GetExceptionInfo(ExceptionInfo *),
337 *GetMagickRegistry(const ssize_t,RegistryType *,size_t *,ExceptionInfo *)
338 magick_attribute((deprecated)),
339 GetTokenToken(const char *,const char **,char *),
340 IdentityAffine(AffineMatrix *) magick_attribute((deprecated)),
341 LiberateMemory(void **) magick_attribute((deprecated)),
342 LiberateSemaphoreInfo(SemaphoreInfo **) magick_attribute((deprecated)),
343 FormatString(char *,const char *,...)
344 magick_attribute((__format__ (__printf__,2,3)))
345 magick_attribute((deprecated)),
346 FormatStringList(char *,const char *,va_list)
347 magick_attribute((__format__ (__printf__,2,0)))
348 magick_attribute((deprecated)),
349 HSLTransform(const double,const double,const double,Quantum *,Quantum *,
350 Quantum *) magick_attribute((deprecated)),
351 InitializeMagick(const char *) magick_attribute((deprecated)),
352 MagickIncarnate(const char *) magick_attribute((deprecated)),
353 ReacquireMemory(void **,const size_t) magick_attribute((deprecated)),
354 RelinquishSemaphoreInfo(SemaphoreInfo *) magick_attribute((deprecated)),
355 ResetImageAttributeIterator(const Image *) magick_attribute((deprecated)),
356 SetCacheThreshold(const size_t) magick_attribute((deprecated)),
357 SetImage(Image *,const Quantum) magick_attribute((deprecated)),
358 Strip(char *) magick_attribute((deprecated)),
359 TemporaryFilename(char *) magick_attribute((deprecated)),
360 TransformHSL(const Quantum,const Quantum,const Quantum,double *,double *,
361 double *) magick_attribute((deprecated));
362
363 #if defined(MAGICKCORE_WINGDI32_DELEGATE)
364 extern MagickExport void
365 *CropImageToHBITMAP(Image *,const RectangleInfo *,ExceptionInfo *),
366 *ImageToHBITMAP(Image *,ExceptionInfo *);
367 #endif
368
369 /*
370 Inline methods.
371 */
MagickEpsilonReciprocal(const double x)372 static inline double MagickEpsilonReciprocal(const double x)
373 {
374 double
375 sign;
376
377 sign=x < 0.0 ? -1.0 : 1.0;
378 if ((sign*x) >= MagickEpsilon)
379 return(1.0/x);
380 return(sign/MagickEpsilon);
381 }
382
PixelIntensityToQuantum(const Image * magick_restrict image,const PixelPacket * magick_restrict pixel)383 static inline Quantum PixelIntensityToQuantum(
384 const Image *magick_restrict image,const PixelPacket *magick_restrict pixel)
385 {
386 return(ClampToQuantum(GetPixelIntensity(image,pixel)));
387 }
388
389 #endif
390
391 #if defined(__cplusplus) || defined(c_plusplus)
392 }
393 #endif
394
395 #endif
396