blob: a91fc84b7fdb1c45eccb1d4be4d8619829af9b88 [file] [log] [blame]
cristy3ed852e2009-09-05 21:47:34 +00001/*
2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3% %
4% %
5% %
6% SSSSS TTTTT AAA TTTTT IIIII CCCC %
7% SS T A A T I C %
8% SSS T AAAAA T I C %
9% SS T A A T I C %
10% SSSSS T A A T IIIII CCCC %
11% %
12% %
13% MagickCore Static Methods %
14% %
15% Software Design %
cristyde984cd2013-12-01 14:49:27 +000016% Cristy %
cristy3ed852e2009-09-05 21:47:34 +000017% March 2000 %
18% %
19% %
cristyb56bb242014-11-25 17:12:48 +000020% Copyright 1999-2015 ImageMagick Studio LLC, a non-profit organization %
cristy3ed852e2009-09-05 21:47:34 +000021% 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*/
cristy4c08aed2011-07-01 19:47:50 +000043#include "MagickCore/studio.h"
44#include "MagickCore/exception-private.h"
45#include "MagickCore/image.h"
46#include "MagickCore/module.h"
47#include "MagickCore/policy.h"
48#include "MagickCore/static.h"
49#include "MagickCore/string_.h"
cristy3ed852e2009-09-05 21:47:34 +000050
51/*
52%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53% %
54% %
55% %
56% I n v o k e S t a t i c I m a g e F i l t e r %
57% %
58% %
59% %
60%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
61%
62% InvokeStaticImageFilter() invokes a static image filter.
63%
64% The format of the InvokeStaticImageFilter method is:
65%
66% MagickBooleanType InvokeStaticImageFilter(const char *tag,Image **image,
67% const int argc,const char **argv)
68%
69% A description of each parameter follows:
70%
71% o tag: the module tag.
72%
73% o image: the image.
74%
75% o argc: the number of elements in the argument vector.
76%
77% o argv: A text array containing the command line arguments.
78%
79% o argv: A text array containing the command line arguments.
80%
81% o exception: return any errors or warnings in this structure.
82%
83*/
84#if defined(MAGICKCORE_MODULES_SUPPORT)
85MagickExport MagickBooleanType InvokeStaticImageFilter(const char *tag,
86 Image **image,const int argc,const char **argv,ExceptionInfo *exception)
87{
88 PolicyRights
89 rights;
90
91 assert(image != (Image **) NULL);
cristye1c94d92015-06-28 12:16:33 +000092 assert((*image)->signature == MagickCoreSignature);
cristy3ed852e2009-09-05 21:47:34 +000093 if ((*image)->debug != MagickFalse)
94 (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",(*image)->filename);
95 rights=ReadPolicyRights;
96 if (IsRightsAuthorized(FilterPolicyDomain,rights,tag) == MagickFalse)
97 {
cristya9197f62010-01-12 02:23:34 +000098 errno=EPERM;
cristy3ed852e2009-09-05 21:47:34 +000099 (void) ThrowMagickException(exception,GetMagickModule(),PolicyError,
cristyefe601c2013-01-05 17:51:12 +0000100 "NotAuthorized","`%s'",tag);
cristy3ed852e2009-09-05 21:47:34 +0000101 return(MagickFalse);
102 }
103#if defined(MAGICKCORE_BUILD_MODULES)
104 (void) tag;
105 (void) argc;
106 (void) argv;
107 (void) exception;
108#else
109 {
cristybb503372010-05-27 20:51:26 +0000110 extern size_t
cristya0b81c32010-01-22 02:54:33 +0000111 analyzeImage(Image **,const int,char **,ExceptionInfo *);
cristy3ed852e2009-09-05 21:47:34 +0000112
113 ImageFilterHandler
114 *image_filter;
115
116 image_filter=(ImageFilterHandler *) NULL;
117 if (LocaleCompare("analyze",tag) == 0)
cristyc4c8d132010-01-07 01:58:38 +0000118 image_filter=(ImageFilterHandler *) analyzeImage;
cristya6de29a2010-06-30 14:34:26 +0000119 if (image_filter == (ImageFilterHandler *) NULL)
120 (void) ThrowMagickException(exception,GetMagickModule(),ModuleError,
cristyefe601c2013-01-05 17:51:12 +0000121 "UnableToLoadModule","`%s'",tag);
cristya6de29a2010-06-30 14:34:26 +0000122 else
cristy3ed852e2009-09-05 21:47:34 +0000123 {
cristybb503372010-05-27 20:51:26 +0000124 size_t
cristy3ed852e2009-09-05 21:47:34 +0000125 signature;
126
127 if ((*image)->debug != MagickFalse)
128 (void) LogMagickEvent(CoderEvent,GetMagickModule(),
129 "Invoking \"%s\" static image filter",tag);
130 signature=image_filter(image,argc,argv,exception);
131 if ((*image)->debug != MagickFalse)
132 (void) LogMagickEvent(CoderEvent,GetMagickModule(),"\"%s\" completes",
133 tag);
134 if (signature != MagickImageFilterSignature)
135 {
136 (void) ThrowMagickException(exception,GetMagickModule(),ModuleError,
anthonye5b39652012-04-21 05:37:29 +0000137 "ImageFilterSignatureMismatch","'%s': %8lx != %8lx",tag,
cristyb65b3302010-05-29 16:58:33 +0000138 (unsigned long) signature,(unsigned long)
cristy3ed852e2009-09-05 21:47:34 +0000139 MagickImageFilterSignature);
140 return(MagickFalse);
141 }
142 }
143 }
144#endif
145 return(MagickTrue);
146}
147#endif
148
149/*
150%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
151% %
152% %
153% %
154% R e g i s t e r S t a t i c M o d u l e s %
155% %
156% %
157% %
158%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
159%
160% (void) RegisterStaticModules() statically registers all the available module
161% handlers.
162%
163% The format of the RegisterStaticModules method is:
164%
165% (void) RegisterStaticModules(void)
166%
167*/
168MagickExport void RegisterStaticModules(void)
169{
170#if !defined(MAGICKCORE_BUILD_MODULES)
cristy397bede2011-01-18 23:59:59 +0000171 (void) RegisterAAIImage();
cristy3ed852e2009-09-05 21:47:34 +0000172 (void) RegisterARTImage();
cristy3ed852e2009-09-05 21:47:34 +0000173 (void) RegisterAVSImage();
dirk151c3312014-08-06 05:20:39 +0000174 (void) RegisterBGRImage();
cristy3ed852e2009-09-05 21:47:34 +0000175 (void) RegisterBMPImage();
dirk151c3312014-08-06 05:20:39 +0000176 (void) RegisterBRAILLEImage();
cristy1f9ce9f2010-04-28 11:55:12 +0000177 (void) RegisterCALSImage();
cristy3ed852e2009-09-05 21:47:34 +0000178 (void) RegisterCAPTIONImage();
179 (void) RegisterCINImage();
180 (void) RegisterCIPImage();
181 (void) RegisterCLIPImage();
182#if defined(MAGICKCORE_WINGDI32_DELEGATE)
183 (void) RegisterCLIPBOARDImage();
184#endif
185 (void) RegisterCMYKImage();
186 (void) RegisterCUTImage();
187 (void) RegisterDCMImage();
188 (void) RegisterDDSImage();
cristy2aac09a2010-06-06 16:46:43 +0000189 (void) RegisterDEBUGImage();
cristy3ed852e2009-09-05 21:47:34 +0000190 (void) RegisterDIBImage();
191#if defined(MAGICKCORE_DJVU_DELEGATE)
192 (void) RegisterDJVUImage();
193#endif
194 (void) RegisterDNGImage();
cristyb32b90a2009-09-07 21:45:48 +0000195#if defined(MAGICKCORE_DPS_DELEGATE)
cristy3ed852e2009-09-05 21:47:34 +0000196 (void) RegisterDPSImage();
cristyb32b90a2009-09-07 21:45:48 +0000197#endif
cristy3ed852e2009-09-05 21:47:34 +0000198 (void) RegisterDPXImage();
199#if defined(MAGICKCORE_WINGDI32_DELEGATE)
200 (void) RegisterEMFImage();
201#endif
202#if defined(MAGICKCORE_TIFF_DELEGATE)
203 (void) RegisterEPTImage();
204#endif
205#if defined(MAGICKCORE_OPENEXR_DELEGATE)
206 (void) RegisterEXRImage();
207#endif
208 (void) RegisterFAXImage();
cristy7ff4c442012-04-03 18:02:50 +0000209 (void) RegisterFDImage();
cristy3ed852e2009-09-05 21:47:34 +0000210 (void) RegisterFITSImage();
211#if defined(MAGICKCORE_FPX_DELEGATE)
212 (void) RegisterFPXImage();
213#endif
214 (void) RegisterGIFImage();
215 (void) RegisterGRAYImage();
216 (void) RegisterGRADIENTImage();
cristy9d314ff2011-03-09 01:30:28 +0000217 (void) RegisterHALDImage();
218 (void) RegisterHDRImage();
cristy3ed852e2009-09-05 21:47:34 +0000219 (void) RegisterHISTOGRAMImage();
220 (void) RegisterHRZImage();
221 (void) RegisterHTMLImage();
222 (void) RegisterICONImage();
223 (void) RegisterINFOImage();
224 (void) RegisterINLINEImage();
225 (void) RegisterIPLImage();
226#if defined(MAGICKCORE_JBIG_DELEGATE)
227 (void) RegisterJBIGImage();
228#endif
cristy00ce0062014-01-18 01:20:44 +0000229 (void) RegisterJNXImage();
cristy3ed852e2009-09-05 21:47:34 +0000230#if defined(MAGICKCORE_JPEG_DELEGATE)
231 (void) RegisterJPEGImage();
232#endif
cristy239d7e32014-03-05 22:59:30 +0000233#if defined(MAGICKCORE_LIBOPENJP2_DELEGATE)
cristy3ed852e2009-09-05 21:47:34 +0000234 (void) RegisterJP2Image();
235#endif
cristy00ce0062014-01-18 01:20:44 +0000236 (void) RegisterJSONImage();
cristy3ed852e2009-09-05 21:47:34 +0000237 (void) RegisterLABELImage();
cristyae29c4f2010-12-28 14:45:29 +0000238 (void) RegisterMACImage();
cristy3ed852e2009-09-05 21:47:34 +0000239 (void) RegisterMAGICKImage();
240 (void) RegisterMAPImage();
241 (void) RegisterMATImage();
242 (void) RegisterMATTEImage();
dirk151c3312014-08-06 05:20:39 +0000243 (void) RegisterMASKImage();
cristy3ed852e2009-09-05 21:47:34 +0000244 (void) RegisterMETAImage();
245 (void) RegisterMIFFImage();
246 (void) RegisterMONOImage();
247 (void) RegisterMPCImage();
248 (void) RegisterMPEGImage();
249 (void) RegisterMPRImage();
250 (void) RegisterMSLImage();
251 (void) RegisterMTVImage();
252 (void) RegisterMVGImage();
253 (void) RegisterNULLImage();
254 (void) RegisterOTBImage();
255 (void) RegisterPALMImage();
cristybb06a1a2012-03-15 00:16:53 +0000256 (void) RegisterPANGOImage();
cristy3ed852e2009-09-05 21:47:34 +0000257 (void) RegisterPATTERNImage();
258 (void) RegisterPCDImage();
259 (void) RegisterPCLImage();
260 (void) RegisterPCXImage();
261 (void) RegisterPDBImage();
262 (void) RegisterPDFImage();
cristyc2e5d6d2010-01-24 17:45:00 +0000263 (void) RegisterPESImage();
cristy3ed852e2009-09-05 21:47:34 +0000264 (void) RegisterPICTImage();
265 (void) RegisterPIXImage();
266 (void) RegisterPLASMAImage();
267#if defined(MAGICKCORE_PNG_DELEGATE)
268 (void) RegisterPNGImage();
269#endif
270 (void) RegisterPNMImage();
271 (void) RegisterPREVIEWImage();
272 (void) RegisterPSImage();
273 (void) RegisterPS2Image();
274 (void) RegisterPS3Image();
275 (void) RegisterPSDImage();
276 (void) RegisterPWPImage();
277 (void) RegisterRAWImage();
278 (void) RegisterRGBImage();
cristy47c10da2013-08-26 23:06:51 +0000279 (void) RegisterRGFImage();
cristy3ed852e2009-09-05 21:47:34 +0000280 (void) RegisterRLAImage();
281 (void) RegisterRLEImage();
282 (void) RegisterSCRImage();
dirkc8e418d2014-03-30 11:27:26 +0000283 (void) RegisterSCREENSHOTImage();
cristy3ed852e2009-09-05 21:47:34 +0000284 (void) RegisterSCTImage();
285 (void) RegisterSFWImage();
286 (void) RegisterSGIImage();
cristy26c14ef2014-10-05 13:59:05 +0000287 (void) RegisterSIXELImage();
cristy3ed852e2009-09-05 21:47:34 +0000288 (void) RegisterSTEGANOImage();
289 (void) RegisterSUNImage();
290 (void) RegisterSVGImage();
291 (void) RegisterTGAImage();
292 (void) RegisterTHUMBNAILImage();
293#if defined(MAGICKCORE_TIFF_DELEGATE)
294 (void) RegisterTIFFImage();
295#endif
296 (void) RegisterTILEImage();
297 (void) RegisterTIMImage();
298 (void) RegisterTTFImage();
299 (void) RegisterTXTImage();
300 (void) RegisterUILImage();
301 (void) RegisterURLImage();
302 (void) RegisterUYVYImage();
303 (void) RegisterVICARImage();
304 (void) RegisterVIDImage();
305 (void) RegisterVIFFImage();
dirke3039842014-04-26 18:22:06 +0000306 (void) RegisterVIPSImage();
cristy3ed852e2009-09-05 21:47:34 +0000307 (void) RegisterWBMPImage();
cristyb1860752011-03-14 00:27:46 +0000308#if defined(MAGICKCORE_WEBP_DELEGATE)
309 (void) RegisterWEBPImage();
310#endif
cristy3ed852e2009-09-05 21:47:34 +0000311#if defined(MAGICKCORE_WMF_DELEGATE) || defined(MAGICKCORE_WMFLITE_DELEGATE)
312 (void) RegisterWMFImage();
313#endif
314 (void) RegisterWPGImage();
315#if defined(MAGICKCORE_X11_DELEGATE)
316 (void) RegisterXImage();
317#endif
318 (void) RegisterXBMImage();
319 (void) RegisterXCImage();
320 (void) RegisterXCFImage();
321 (void) RegisterXPMImage();
322 (void) RegisterXPSImage();
dirk3bac6fd2015-01-18 21:17:27 +0000323 (void) RegisterXTRNImage();
cristy3ed852e2009-09-05 21:47:34 +0000324#if defined(MAGICKCORE_X11_DELEGATE)
325 (void) RegisterXWDImage();
326#endif
327 (void) RegisterYCBCRImage();
328 (void) RegisterYUVImage();
329#endif
330}
331
332/*
333%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334% %
335% %
336% %
337% U n r e g i s t e r S t a t i c M o d u l e s %
338% %
339% %
340% %
341%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
342%
343% UnregisterStaticModules() statically unregisters all the available module
344% handlers.
345%
346% The format of the UnregisterStaticModules method is:
347%
348% UnregisterStaticModules(void)
349%
350*/
351MagickExport void UnregisterStaticModules(void)
352{
353#if !defined(MAGICKCORE_BUILD_MODULES)
cristy397bede2011-01-18 23:59:59 +0000354 UnregisterAAIImage();
cristy3ed852e2009-09-05 21:47:34 +0000355 UnregisterARTImage();
cristy3ed852e2009-09-05 21:47:34 +0000356 UnregisterAVSImage();
dirk151c3312014-08-06 05:20:39 +0000357 UnregisterBGRImage();
cristy3ed852e2009-09-05 21:47:34 +0000358 UnregisterBMPImage();
359 UnregisterBRAILLEImage();
cristy1f9ce9f2010-04-28 11:55:12 +0000360 UnregisterCALSImage();
cristy3ed852e2009-09-05 21:47:34 +0000361 UnregisterCAPTIONImage();
362 UnregisterCINImage();
363 UnregisterCIPImage();
364 UnregisterCLIPImage();
365#if defined(MAGICKCORE_WINGDI32_DELEGATE)
366 UnregisterCLIPBOARDImage();
367#endif
368 UnregisterCMYKImage();
369 UnregisterCUTImage();
370 UnregisterDCMImage();
371 UnregisterDDSImage();
cristy2aac09a2010-06-06 16:46:43 +0000372 UnregisterDEBUGImage();
cristy3ed852e2009-09-05 21:47:34 +0000373 UnregisterDIBImage();
374#if defined(MAGICKCORE_DJVU_DELEGATE)
375 UnregisterDJVUImage();
376#endif
377 UnregisterDNGImage();
cristyb32b90a2009-09-07 21:45:48 +0000378#if defined(MAGICKCORE_DPS_DELEGATE)
cristy3ed852e2009-09-05 21:47:34 +0000379 UnregisterDPSImage();
cristyb32b90a2009-09-07 21:45:48 +0000380#endif
cristy3ed852e2009-09-05 21:47:34 +0000381 UnregisterDPXImage();
382#if defined(MAGICKCORE_WINGDI32_DELEGATE)
383 UnregisterEMFImage();
384#endif
385#if defined(MAGICKCORE_TIFF_DELEGATE)
386 UnregisterEPTImage();
387#endif
388#if defined(MAGICKCORE_OPENEXR_DELEGATE)
389 UnregisterEXRImage();
390#endif
391 UnregisterFAXImage();
cristy7ff4c442012-04-03 18:02:50 +0000392 UnregisterFDImage();
cristy3ed852e2009-09-05 21:47:34 +0000393 UnregisterFITSImage();
394#if defined(MAGICKCORE_FPX_DELEGATE)
395 UnregisterFPXImage();
396#endif
397 UnregisterGIFImage();
398 UnregisterGRAYImage();
399 UnregisterGRADIENTImage();
cristy579bc8f2011-03-06 17:27:05 +0000400 UnregisterHALDImage();
401 UnregisterHDRImage();
cristy3ed852e2009-09-05 21:47:34 +0000402 UnregisterHISTOGRAMImage();
403 UnregisterHRZImage();
404 UnregisterHTMLImage();
405 UnregisterICONImage();
406 UnregisterINFOImage();
407 UnregisterINLINEImage();
408 UnregisterIPLImage();
409#if defined(MAGICKCORE_JBIG_DELEGATE)
410 UnregisterJBIGImage();
411#endif
cristy00ce0062014-01-18 01:20:44 +0000412 UnregisterJNXImage();
cristy3ed852e2009-09-05 21:47:34 +0000413#if defined(MAGICKCORE_JPEG_DELEGATE)
414 UnregisterJPEGImage();
415#endif
cristy239d7e32014-03-05 22:59:30 +0000416#if defined(MAGICKCORE_LIBOPENJP2_DELEGATE)
cristy3ed852e2009-09-05 21:47:34 +0000417 UnregisterJP2Image();
418#endif
cristy00ce0062014-01-18 01:20:44 +0000419 UnregisterJSONImage();
cristy3ed852e2009-09-05 21:47:34 +0000420 UnregisterLABELImage();
cristyae29c4f2010-12-28 14:45:29 +0000421 UnregisterMACImage();
cristy3ed852e2009-09-05 21:47:34 +0000422 UnregisterMAGICKImage();
423 UnregisterMAPImage();
dirk151c3312014-08-06 05:20:39 +0000424 UnregisterMASKImage();
cristy3ed852e2009-09-05 21:47:34 +0000425 UnregisterMATImage();
426 UnregisterMATTEImage();
427 UnregisterMETAImage();
428 UnregisterMIFFImage();
429 UnregisterMONOImage();
430 UnregisterMPCImage();
431 UnregisterMPEGImage();
432 UnregisterMPRImage();
433 UnregisterMSLImage();
434 UnregisterMTVImage();
435 UnregisterMVGImage();
436 UnregisterNULLImage();
437 UnregisterOTBImage();
438 UnregisterPALMImage();
cristybb06a1a2012-03-15 00:16:53 +0000439 UnregisterPANGOImage();
cristy3ed852e2009-09-05 21:47:34 +0000440 UnregisterPATTERNImage();
441 UnregisterPCDImage();
442 UnregisterPCLImage();
443 UnregisterPCXImage();
444 UnregisterPDBImage();
445 UnregisterPDFImage();
cristyc2e5d6d2010-01-24 17:45:00 +0000446 UnregisterPESImage();
cristy3ed852e2009-09-05 21:47:34 +0000447 UnregisterPICTImage();
448 UnregisterPIXImage();
449 UnregisterPLASMAImage();
450#if defined(MAGICKCORE_PNG_DELEGATE)
451 UnregisterPNGImage();
452#endif
453 UnregisterPNMImage();
454 UnregisterPREVIEWImage();
455 UnregisterPSImage();
456 UnregisterPS2Image();
457 UnregisterPS3Image();
458 UnregisterPSDImage();
459 UnregisterPWPImage();
460 UnregisterRAWImage();
461 UnregisterRGBImage();
cristy47c10da2013-08-26 23:06:51 +0000462 UnregisterRGFImage();
cristy3ed852e2009-09-05 21:47:34 +0000463 UnregisterRLAImage();
464 UnregisterRLEImage();
465 UnregisterSCRImage();
dirkc8e418d2014-03-30 11:27:26 +0000466 UnregisterSCREENSHOTImage();
cristy3ed852e2009-09-05 21:47:34 +0000467 UnregisterSCTImage();
468 UnregisterSFWImage();
469 UnregisterSGIImage();
cristy26c14ef2014-10-05 13:59:05 +0000470 UnregisterSIXELImage();
cristy3ed852e2009-09-05 21:47:34 +0000471 UnregisterSTEGANOImage();
472 UnregisterSUNImage();
473 UnregisterSVGImage();
474 UnregisterTGAImage();
475 UnregisterTHUMBNAILImage();
476#if defined(MAGICKCORE_TIFF_DELEGATE)
477 UnregisterTIFFImage();
478#endif
479 UnregisterTILEImage();
480 UnregisterTIMImage();
481 UnregisterTTFImage();
482 UnregisterTXTImage();
483 UnregisterUILImage();
484 UnregisterURLImage();
485 UnregisterUYVYImage();
486 UnregisterVICARImage();
487 UnregisterVIDImage();
488 UnregisterVIFFImage();
dirke3039842014-04-26 18:22:06 +0000489 UnregisterVIPSImage();
cristy3ed852e2009-09-05 21:47:34 +0000490 UnregisterWBMPImage();
cristyb1860752011-03-14 00:27:46 +0000491#if defined(MAGICKCORE_WEBP_DELEGATE)
492 UnregisterWEBPImage();
493#endif
cristy3ed852e2009-09-05 21:47:34 +0000494#if defined(MAGICKCORE_WMF_DELEGATE) || defined(MAGICKCORE_WMFLITE_DELEGATE)
495 UnregisterWMFImage();
496#endif
497 UnregisterWPGImage();
498#if defined(MAGICKCORE_X11_DELEGATE)
499 UnregisterXImage();
500#endif
501 UnregisterXBMImage();
502 UnregisterXCImage();
503 UnregisterXCFImage();
504 UnregisterXPMImage();
505 UnregisterXPSImage();
dirk898b2102015-01-18 20:14:41 +0000506 UnregisterXTRNImage();
cristy3ed852e2009-09-05 21:47:34 +0000507#if defined(MAGICKCORE_X11_DELEGATE)
508 UnregisterXWDImage();
509#endif
510 UnregisterYCBCRImage();
511 UnregisterYUVImage();
512#endif
513}