Magick++  7.1.0
Include.h
Go to the documentation of this file.
1 // This may look like C code, but it is really -*- C++ -*-
2 //
3 // Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
4 //
5 // Copyright @ 2013 ImageMagick Studio LLC, a non-profit organization
6 // dedicated to making software imaging solutions freely available.
7 //
8 // Inclusion of ImageMagick headers (with namespace magic)
9 
10 #ifndef Magick_Include_header
11 #define Magick_Include_header
12 
13 #if !defined(_MAGICK_CONFIG_H)
14 # define _MAGICK_CONFIG_H
15 # if !defined(vms)
16 # include "MagickCore/magick-config.h"
17 # else
18 # include "magick-config.h"
19 # endif
20 # undef inline // Remove possible definition from config.h
21 # undef class
22 #endif
23 
24 // Needed for stdio FILE
25 #include <stdio.h>
26 #include <stdarg.h>
27 #include <stdlib.h>
28 #include <time.h>
29 #include <math.h>
30 #include <sys/types.h>
31 
32 #include <errno.h>
33 #include <stdint.h>
34 
35 #if defined(__BORLANDC__)
36 # include <vcl.h> /* Borland C++ Builder 4.0 requirement */
37 #endif // defined(__BORLANDC__)
38 
39 //
40 // Include ImageMagick headers into namespace "MagickCore". If
41 // MAGICKCORE_IMPLEMENTATION is defined, include ImageMagick development
42 // headers. This scheme minimizes the possibility of conflict with
43 // user code.
44 //
45 namespace MagickCore
46 {
47 #include <MagickCore/MagickCore.h>
48 #include <MagickWand/MagickWand.h>
49 #undef inline // Remove possible definition from config.h
50 
51 #undef class
52 }
53 
54 //
55 // Provide appropriate DLL imports/exports for Visual C++,
56 // Borland C++Builder and MinGW builds.
57 //
58 #if defined(WIN32) && !defined(__CYGWIN__) && !defined(__MINGW32__)
59 # define MagickCplusPlusDLLSupported
60 #endif
61 #if defined(MagickCplusPlusDLLSupported)
62 # if defined(_MT) && defined(_DLL) && !defined(_LIB) && !defined(STATIC_MAGICK)
63 //
64 // In a native Windows build, the following defines are used:
65 //
66 // _MT = Multithreaded
67 // _DLL = Using code is part of a DLL
68 // _LIB = Using code is being built as a library.
69 // _MAGICKMOD_ = Build uses loadable modules (Magick++ does not care about this)
70 //
71 // In the case where ImageMagick is built as a static library but the
72 // using code is dynamic, STATIC_MAGICK may be defined in the project to
73 // override triggering dynamic library behavior.
74 //
75 # if defined(_VISUALC_)
76 # define MagickDLLExplicitTemplate
77 # pragma warning( disable: 4275 )
78 # pragma warning( disable: 4273 ) /* Disable the stupid dll linkage warnings */
79 # pragma warning( disable: 4251 )
80 # endif
81 # if !defined(MAGICKCORE_IMPLEMENTATION)
82 # if defined(__GNUC__)
83 # define MagickPPExport __attribute__ ((dllimport))
84 # else
85 # define MagickPPExport __declspec(dllimport)
86 # endif
87 # define MagickPPPrivate extern __declspec(dllimport)
88 # else
89 # if defined(__BORLANDC__) || defined(__MINGW32__)
90 # define MagickPPExport __declspec(dllexport)
91 # define MagickPPPrivate __declspec(dllexport)
92 # else
93 # if defined(__GNUC__)
94 # define MagickPPExport __attribute__ ((dllexport))
95 # else
96 # define MagickPPExport __declspec(dllexport)
97 # endif
98 # define MagickPPPrivate extern __declspec(dllexport)
99 # endif
100 # endif
101 # else
102 # define MagickPPExport
103 # define MagickPPPrivate
104 # if defined(_MSC_VER) && defined(STATIC_MAGICK) && !defined(NOAUTOLINK_MAGICK)
105 # if defined(_DEBUG)
106 # if defined(MAGICKCORE_BZLIB_DELEGATE)
107 # pragma comment(lib, "CORE_DB_bzlib_.lib")
108 # endif
109 # if defined(MAGICKCORE_CAIRO_DELEGATE)
110 # pragma comment(lib, "CORE_DB_cairo_.lib")
111 # endif
112 # if defined(MAGICKCORE_OPENEXR_DELEGATE)
113 # pragma comment(lib, "CORE_DB_exr_.lib")
114 # endif
115 # if defined(MAGICKCORE_FLIF_DELEGATE)
116 # pragma comment(lib, "CORE_DB_flif_.lib")
117 # endif
118 # if defined(MAGICKCORE_FREETYPE_DELEGATE)
119 # pragma comment(lib, "CORE_DB_freetype_.lib")
120 # endif
121 # if defined(MAGICKCORE_JBIG_DELEGATE)
122 # pragma comment(lib, "CORE_DB_jbig_.lib")
123 # endif
124 # if defined(MAGICKCORE_JP2_DELEGATE)
125 # pragma comment(lib, "CORE_DB_jp2_.lib")
126 # endif
127 # if defined(MAGICKCORE_JPEG_DELEGATE)
128 # pragma comment(lib, "CORE_DB_jpeg-turbo_.lib")
129 # endif
130 # if defined(MAGICKCORE_JXL_DELEGATE)
131 # pragma comment(lib, "CORE_DB_highway_.lib")
132 # pragma comment(lib, "CORE_DB_brotli_.lib")
133 # pragma comment(lib, "CORE_DB_jpeg-xl_.lib")
134 # endif
135 # if defined(MAGICKCORE_LCMS_DELEGATE)
136 # pragma comment(lib, "CORE_DB_lcms_.lib")
137 # endif
138 # if defined(MAGICKCORE_HEIC_DELEGATE)
139 # pragma comment(lib, "CORE_DB_aom_.lib")
140 # pragma comment(lib, "CORE_DB_de265_.lib")
141 # pragma comment(lib, "CORE_DB_heif_.lib")
142 # endif
143 # if defined(MAGICKCORE_LZMA_DELEGATE)
144 # pragma comment(lib, "CORE_DB_lzma_.lib")
145 # endif
146 # if defined(MAGICKCORE_RAW_R_DELEGATE)
147 # pragma comment(lib, "CORE_DB_raw_.lib")
148 # endif
149 # if defined(MAGICKCORE_RSVG_DELEGATE)
150 # pragma comment(lib, "CORE_DB_croco_.lib")
151 # pragma comment(lib, "CORE_DB_rsvg_.lib")
152 # endif
153 # if defined(MAGICKCORE_XML_DELEGATE)
154 # pragma comment(lib, "CORE_DB_xml_.lib")
155 # endif
156 # if defined(MAGICKCORE_ZIP_DELEGATE)
157 # pragma comment(lib, "CORE_DB_zip_.lib")
158 # endif
159 # if defined(MAGICKCORE_LQR_DELEGATE)
160 # pragma comment(lib, "CORE_DB_ffi_.lib")
161 # pragma comment(lib, "CORE_DB_glib_.lib")
162 # pragma comment(lib, "CORE_DB_lqr_.lib")
163 # pragma comment(lib, "winmm.lib")
164 # endif
165 # if defined(MAGICKCORE_LIBOPENJP2_DELEGATE)
166 # pragma comment(lib, "CORE_DB_openjpeg_.lib")
167 # endif
168 # if defined(MAGICKCORE_PANGOCAIRO_DELEGATE)
169 # pragma comment(lib, "CORE_DB_fribidi_.lib")
170 # pragma comment(lib, "CORE_DB_harfbuzz_.lib")
171 # pragma comment(lib, "CORE_DB_pango_.lib")
172 # pragma comment(lib, "CORE_DB_pixman_.lib")
173 # endif
174 # if defined(MAGICKCORE_PNG_DELEGATE)
175 # pragma comment(lib, "CORE_DB_png_.lib")
176 # endif
177 # if defined(MAGICKCORE_RAQM_DELEGATE)
178 # pragma comment(lib, "CORE_DB_raqm_.lib")
179 # endif
180 # if defined(MAGICKCORE_TIFF_DELEGATE)
181 # pragma comment(lib, "CORE_DB_tiff_.lib")
182 # endif
183 # if defined(MAGICKCORE_WEBP_DELEGATE)
184 # pragma comment(lib, "CORE_DB_webp_.lib")
185 # endif
186 # if defined(MAGICKCORE_ZLIB_DELEGATE)
187 # pragma comment(lib, "CORE_DB_zlib_.lib")
188 # endif
189 # pragma comment(lib, "CORE_DB_coders_.lib")
190 # pragma comment(lib, "CORE_DB_filters_.lib")
191 # pragma comment(lib, "CORE_DB_Magick++_.lib")
192 # pragma comment(lib, "CORE_DB_MagickCore_.lib")
193 # pragma comment(lib, "CORE_DB_MagickWand_.lib")
194 # else
195 # if defined(MAGICKCORE_BZLIB_DELEGATE)
196 # pragma comment(lib, "CORE_RL_bzlib_.lib")
197 # endif
198 # if defined(MAGICKCORE_CAIRO_DELEGATE)
199 # pragma comment(lib, "CORE_RL_cairo_.lib")
200 # endif
201 # if defined(MAGICKCORE_OPENEXR_DELEGATE)
202 # pragma comment(lib, "CORE_RL_exr_.lib")
203 # endif
204 # if defined(MAGICKCORE_FLIF_DELEGATE)
205 # pragma comment(lib, "CORE_RL_flif_.lib")
206 # endif
207 # if defined(MAGICKCORE_FREETYPE_DELEGATE)
208 # pragma comment(lib, "CORE_RL_freetype_.lib")
209 # endif
210 # if defined(MAGICKCORE_JBIG_DELEGATE)
211 # pragma comment(lib, "CORE_RL_jbig_.lib")
212 # endif
213 # if defined(MAGICKCORE_JP2_DELEGATE)
214 # pragma comment(lib, "CORE_RL_jp2_.lib")
215 # endif
216 # if defined(MAGICKCORE_JPEG_DELEGATE)
217 # pragma comment(lib, "CORE_RL_jpeg-turbo_.lib")
218 # endif
219 # if defined(MAGICKCORE_JXL_DELEGATE)
220 # pragma comment(lib, "CORE_RL_highway_.lib")
221 # pragma comment(lib, "CORE_RL_brotli_.lib")
222 # pragma comment(lib, "CORE_RL_jpeg-xl_.lib")
223 # endif
224 # if defined(MAGICKCORE_LCMS_DELEGATE)
225 # pragma comment(lib, "CORE_RL_lcms_.lib")
226 # endif
227 # if defined(MAGICKCORE_HEIC_DELEGATE)
228 # pragma comment(lib, "CORE_RL_aom_.lib")
229 # pragma comment(lib, "CORE_RL_de265_.lib")
230 # pragma comment(lib, "CORE_RL_heif_.lib")
231 # endif
232 # if defined(MAGICKCORE_LZMA_DELEGATE)
233 # pragma comment(lib, "CORE_RL_lzma_.lib")
234 # endif
235 # if defined(MAGICKCORE_RAW_R_DELEGATE)
236 # pragma comment(lib, "CORE_RL_raw_.lib")
237 # endif
238 # if defined(MAGICKCORE_RSVG_DELEGATE)
239 # pragma comment(lib, "CORE_RL_croco_.lib")
240 # pragma comment(lib, "CORE_RL_rsvg_.lib")
241 # endif
242 # if defined(MAGICKCORE_XML_DELEGATE)
243 # pragma comment(lib, "CORE_RL_xml_.lib")
244 # endif
245 # if defined(MAGICKCORE_ZIP_DELEGATE)
246 # pragma comment(lib, "CORE_RL_zip_.lib")
247 # endif
248 # if defined(MAGICKCORE_LQR_DELEGATE)
249 # pragma comment(lib, "CORE_RL_ffi_.lib")
250 # pragma comment(lib, "CORE_RL_glib_.lib")
251 # pragma comment(lib, "CORE_RL_lqr_.lib")
252 # pragma comment(lib, "winmm.lib")
253 # endif
254 # if defined(MAGICKCORE_LIBOPENJP2_DELEGATE)
255 # pragma comment(lib, "CORE_RL_openjpeg_.lib")
256 # endif
257 # if defined(MAGICKCORE_PANGOCAIRO_DELEGATE)
258 # pragma comment(lib, "CORE_RL_fribidi_.lib")
259 # pragma comment(lib, "CORE_RL_harfbuzz_.lib")
260 # pragma comment(lib, "CORE_RL_pango_.lib")
261 # pragma comment(lib, "CORE_RL_pixman_.lib")
262 # endif
263 # if defined(MAGICKCORE_PNG_DELEGATE)
264 # pragma comment(lib, "CORE_RL_png_.lib")
265 # endif
266 # if defined(MAGICKCORE_RAQM_DELEGATE)
267 # pragma comment(lib, "CORE_RL_raqm_.lib")
268 # endif
269 # if defined(MAGICKCORE_TIFF_DELEGATE)
270 # pragma comment(lib, "CORE_RL_tiff_.lib")
271 # endif
272 # if defined(MAGICKCORE_WEBP_DELEGATE)
273 # pragma comment(lib, "CORE_RL_webp_.lib")
274 # endif
275 # if defined(MAGICKCORE_ZLIB_DELEGATE)
276 # pragma comment(lib, "CORE_RL_zlib_.lib")
277 # endif
278 # pragma comment(lib, "CORE_RL_coders_.lib")
279 # pragma comment(lib, "CORE_RL_filters_.lib")
280 # pragma comment(lib, "CORE_RL_Magick++_.lib")
281 # pragma comment(lib, "CORE_RL_MagickCore_.lib")
282 # pragma comment(lib, "CORE_RL_MagickWand_.lib")
283 # endif
284 # if defined(_WIN32_WCE)
285 # pragma comment(lib, "wsock32.lib")
286 # else
287 # pragma comment(lib, "ws2_32.lib")
288 # endif
289 # pragma comment(lib, "urlmon.lib")
290 # endif
291 # endif
292 #else
293 # if __GNUC__ >= 4
294 # define MagickPPExport __attribute__ ((visibility ("default")))
295 # define MagickPPPrivate __attribute__ ((visibility ("hidden")))
296 # else
297 # define MagickPPExport
298 # define MagickPPPrivate
299 # endif
300 #endif
301 
302 #if (defined(WIN32) || defined(WIN64)) && defined(_VISUALC_)
303 # pragma warning(disable : 4996) /* function deprecation warnings */
304 #endif
305 
306 //
307 // Import ImageMagick symbols and types which are used as part of the
308 // Magick++ API definition into namespace "Magick".
309 //
310 namespace Magick
311 {
312  // The datatype for an RGB component
313  using MagickCore::Quantum;
314  using MagickCore::MagickRealType;
315  using MagickCore::MagickSizeType;
316  using MagickCore::MagickStatusType;
317 
318  // Structures
319  using MagickCore::AffineMatrix;
320  using MagickCore::CacheView;
321  using MagickCore::CCObjectInfo;
322  using MagickCore::DrawInfo;
323  using MagickCore::DrawingWand;
324  using MagickCore::ExceptionInfo;
325  using MagickCore::FrameInfo;
326  using MagickCore::ImageInfo;
327  using MagickCore::KernelInfo;
328  using MagickCore::LinkedListInfo;
329  using MagickCore::MagickInfo;
330  using MagickCore::MagickWand;
331  using MagickCore::MontageInfo;
332  using MagickCore::OffsetInfo;
333  using MagickCore::PixelInfo;
334  using MagickCore::PixelWand;
335  using MagickCore::PointInfo;
336  using MagickCore::ProfileInfo;
337  using MagickCore::QuantizeInfo;
338  using MagickCore::QuantumInfo;
339  using MagickCore::RectangleInfo;
340  using MagickCore::StringInfo;
341 
342  // Alignment types.
343  using MagickCore::AlignType;
344  using MagickCore::UndefinedAlign;
345  using MagickCore::LeftAlign;
346  using MagickCore::CenterAlign;
347  using MagickCore::RightAlign;
348 
349  // Alpha channel options
350  using MagickCore::AlphaChannelOption;
351  using MagickCore::UndefinedAlphaChannel;
352  using MagickCore::ActivateAlphaChannel;
353  using MagickCore::AssociateAlphaChannel;
354  using MagickCore::BackgroundAlphaChannel;
355  using MagickCore::CopyAlphaChannel;
356  using MagickCore::DeactivateAlphaChannel;
357  using MagickCore::DiscreteAlphaChannel;
358  using MagickCore::DisassociateAlphaChannel;
359  using MagickCore::ExtractAlphaChannel;
360  using MagickCore::OffAlphaChannel;
361  using MagickCore::OnAlphaChannel;
362  using MagickCore::OpaqueAlphaChannel;
363  using MagickCore::RemoveAlphaChannel;
364  using MagickCore::SetAlphaChannel;
365  using MagickCore::ShapeAlphaChannel;
366  using MagickCore::TransparentAlphaChannel;
367 
368  // Auto threshold methods
369  using MagickCore::AutoThresholdMethod;
370  using MagickCore::UndefinedThresholdMethod;
371  using MagickCore::KapurThresholdMethod;
372  using MagickCore::OTSUThresholdMethod;
373  using MagickCore::TriangleThresholdMethod;
374 
375  // Channel types
376  using MagickCore::ChannelType;
377  using MagickCore::UndefinedChannel;
378  using MagickCore::RedChannel;
379  using MagickCore::GrayChannel;
380  using MagickCore::CyanChannel;
381  using MagickCore::GreenChannel;
382  using MagickCore::MagentaChannel;
383  using MagickCore::BlueChannel;
384  using MagickCore::YellowChannel;
385  using MagickCore::BlackChannel;
386  using MagickCore::AlphaChannel;
387  using MagickCore::OpacityChannel;
388  using MagickCore::IndexChannel;
389  using MagickCore::ReadMaskChannel;
390  using MagickCore::WriteMaskChannel;
391  using MagickCore::MetaChannel;
392  using MagickCore::CompositeChannels;
393  using MagickCore::AllChannels;
394  using MagickCore::TrueAlphaChannel;
395  using MagickCore::RGBChannels;
396  using MagickCore::GrayChannels;
397  using MagickCore::SyncChannels;
398  using MagickCore::DefaultChannels;
399 
400  // Image class types
401  using MagickCore::ClassType;
402  using MagickCore::UndefinedClass;
403  using MagickCore::DirectClass;
404  using MagickCore::PseudoClass;
405 
406  // Clip path units
407  using MagickCore::ClipPathUnits;
408  using MagickCore::UndefinedPathUnits;
409  using MagickCore::UserSpace;
410  using MagickCore::UserSpaceOnUse;
411  using MagickCore::ObjectBoundingBox;
412 
413  // Color-space types
414  using MagickCore::ColorspaceType;
415  using MagickCore::UndefinedColorspace;
416  using MagickCore::CMYColorspace;
417  using MagickCore::CMYKColorspace;
418  using MagickCore::GRAYColorspace;
419  using MagickCore::HCLColorspace;
420  using MagickCore::HCLpColorspace;
421  using MagickCore::HSBColorspace;
422  using MagickCore::HSIColorspace;
423  using MagickCore::HSLColorspace;
424  using MagickCore::HSVColorspace;
425  using MagickCore::HWBColorspace;
426  using MagickCore::LabColorspace;
427  using MagickCore::LCHColorspace;
428  using MagickCore::LCHabColorspace;
429  using MagickCore::LCHuvColorspace;
430  using MagickCore::LogColorspace;
431  using MagickCore::LMSColorspace;
432  using MagickCore::LuvColorspace;
433  using MagickCore::OHTAColorspace;
434  using MagickCore::Rec601YCbCrColorspace;
435  using MagickCore::Rec709YCbCrColorspace;
436  using MagickCore::RGBColorspace;
437  using MagickCore::scRGBColorspace;
438  using MagickCore::sRGBColorspace;
439  using MagickCore::TransparentColorspace;
440  using MagickCore::xyYColorspace;
441  using MagickCore::XYZColorspace;
442  using MagickCore::YCbCrColorspace;
443  using MagickCore::YCCColorspace;
444  using MagickCore::YDbDrColorspace;
445  using MagickCore::YIQColorspace;
446  using MagickCore::YPbPrColorspace;
447  using MagickCore::YUVColorspace;
448  using MagickCore::LinearGRAYColorspace;
449 
450  // Command options
451  using MagickCore::CommandOption;
452  using MagickCore::MagickDirectionOptions;
453  using MagickCore::MagickGravityOptions;
454  using MagickCore::MagickKernelOptions;
455  using MagickCore::MagickStyleOptions;
456 
457  // Compliance types
458  using MagickCore::ComplianceType;
459  using MagickCore::AllCompliance;
460 
461  // Composition operations
462  using MagickCore::CompositeOperator;
463  using MagickCore::AlphaCompositeOp;
464  using MagickCore::AtopCompositeOp;
465  using MagickCore::BlendCompositeOp;
466  using MagickCore::BlurCompositeOp;
467  using MagickCore::BumpmapCompositeOp;
468  using MagickCore::ChangeMaskCompositeOp;
469  using MagickCore::ClearCompositeOp;
470  using MagickCore::ColorBurnCompositeOp;
471  using MagickCore::ColorDodgeCompositeOp;
472  using MagickCore::ColorizeCompositeOp;
473  using MagickCore::CopyBlackCompositeOp;
474  using MagickCore::CopyBlueCompositeOp;
475  using MagickCore::CopyCompositeOp;
476  using MagickCore::CopyCyanCompositeOp;
477  using MagickCore::CopyGreenCompositeOp;
478  using MagickCore::CopyMagentaCompositeOp;
479  using MagickCore::CopyAlphaCompositeOp;
480  using MagickCore::CopyRedCompositeOp;
481  using MagickCore::CopyYellowCompositeOp;
482  using MagickCore::DarkenCompositeOp;
483  using MagickCore::DarkenIntensityCompositeOp;
484  using MagickCore::DifferenceCompositeOp;
485  using MagickCore::DisplaceCompositeOp;
486  using MagickCore::DissolveCompositeOp;
487  using MagickCore::DistortCompositeOp;
488  using MagickCore::DivideDstCompositeOp;
489  using MagickCore::DivideSrcCompositeOp;
490  using MagickCore::DstAtopCompositeOp;
491  using MagickCore::DstCompositeOp;
492  using MagickCore::DstInCompositeOp;
493  using MagickCore::DstOutCompositeOp;
494  using MagickCore::DstOverCompositeOp;
495  using MagickCore::ExclusionCompositeOp;
496  using MagickCore::HardLightCompositeOp;
497  using MagickCore::HardMixCompositeOp;
498  using MagickCore::HueCompositeOp;
499  using MagickCore::InCompositeOp;
500  using MagickCore::IntensityCompositeOp;
501  using MagickCore::LightenCompositeOp;
502  using MagickCore::LightenIntensityCompositeOp;
503  using MagickCore::LinearBurnCompositeOp;
504  using MagickCore::LinearDodgeCompositeOp;
505  using MagickCore::LinearLightCompositeOp;
506  using MagickCore::LuminizeCompositeOp;
507  using MagickCore::MathematicsCompositeOp;
508  using MagickCore::MinusDstCompositeOp;
509  using MagickCore::MinusSrcCompositeOp;
510  using MagickCore::ModulateCompositeOp;
511  using MagickCore::ModulusAddCompositeOp;
512  using MagickCore::ModulusSubtractCompositeOp;
513  using MagickCore::MultiplyCompositeOp;
514  using MagickCore::NoCompositeOp;
515  using MagickCore::OutCompositeOp;
516  using MagickCore::OverCompositeOp;
517  using MagickCore::OverlayCompositeOp;
518  using MagickCore::PegtopLightCompositeOp;
519  using MagickCore::PinLightCompositeOp;
520  using MagickCore::PlusCompositeOp;
521  using MagickCore::ReplaceCompositeOp;
522  using MagickCore::SaturateCompositeOp;
523  using MagickCore::ScreenCompositeOp;
524  using MagickCore::SoftLightCompositeOp;
525  using MagickCore::SrcAtopCompositeOp;
526  using MagickCore::SrcCompositeOp;
527  using MagickCore::SrcInCompositeOp;
528  using MagickCore::SrcOutCompositeOp;
529  using MagickCore::SrcOverCompositeOp;
530  using MagickCore::ThresholdCompositeOp;
531  using MagickCore::UndefinedCompositeOp;
532  using MagickCore::VividLightCompositeOp;
533  using MagickCore::XorCompositeOp;
534 
535  // Compression algorithms
536  using MagickCore::CompressionType;
537  using MagickCore::UndefinedCompression;
538  using MagickCore::NoCompression;
539  using MagickCore::B44ACompression;
540  using MagickCore::B44Compression;
541  using MagickCore::BZipCompression;
542  using MagickCore::DWAACompression;
543  using MagickCore::DWABCompression;
544  using MagickCore::DXT1Compression;
545  using MagickCore::DXT3Compression;
546  using MagickCore::DXT5Compression;
547  using MagickCore::BC7Compression;
548  using MagickCore::FaxCompression;
549  using MagickCore::Group4Compression;
550  using MagickCore::JBIG1Compression;
551  using MagickCore::JBIG2Compression;
552  using MagickCore::JPEG2000Compression;
553  using MagickCore::JPEGCompression;
554  using MagickCore::LosslessJPEGCompression;
555  using MagickCore::LZMACompression;
556  using MagickCore::LZWCompression;
557  using MagickCore::PizCompression;
558  using MagickCore::Pxr24Compression;
559  using MagickCore::RLECompression;
560  using MagickCore::WebPCompression;
561  using MagickCore::ZipCompression;
562  using MagickCore::ZipSCompression;
563  using MagickCore::ZstdCompression;
564 
565  // Decoration types
566  using MagickCore::DecorationType;
567  using MagickCore::UndefinedDecoration;
568  using MagickCore::NoDecoration;
569  using MagickCore::UnderlineDecoration;
570  using MagickCore::OverlineDecoration;
571  using MagickCore::LineThroughDecoration;
572 
573  // Direction types
574  using MagickCore::DirectionType;
575  using MagickCore::UndefinedDirection;
576  using MagickCore::RightToLeftDirection;
577  using MagickCore::LeftToRightDirection;
578 
579  // Dispose methods
580  using MagickCore::DisposeType;
581  using MagickCore::UndefinedDispose;
582  using MagickCore::NoneDispose;
583  using MagickCore::BackgroundDispose;
584  using MagickCore::PreviousDispose;
585 
586  // Distort methods
587  using MagickCore::DistortMethod;
588  using MagickCore::UndefinedDistortion;
589  using MagickCore::AffineDistortion;
590  using MagickCore::AffineProjectionDistortion;
591  using MagickCore::ScaleRotateTranslateDistortion;
592  using MagickCore::PerspectiveDistortion;
593  using MagickCore::PerspectiveProjectionDistortion;
594  using MagickCore::BilinearForwardDistortion;
595  using MagickCore::BilinearDistortion;
596  using MagickCore::BilinearReverseDistortion;
597  using MagickCore::PolynomialDistortion;
598  using MagickCore::ArcDistortion;
599  using MagickCore::PolarDistortion;
600  using MagickCore::DePolarDistortion;
601  using MagickCore::Cylinder2PlaneDistortion;
602  using MagickCore::Plane2CylinderDistortion;
603  using MagickCore::BarrelDistortion;
604  using MagickCore::BarrelInverseDistortion;
605  using MagickCore::ShepardsDistortion;
606  using MagickCore::ResizeDistortion;
607  using MagickCore::SentinelDistortion;
608 
609  // Dither methods
610  using MagickCore::DitherMethod;
611  using MagickCore::UndefinedDitherMethod;
612  using MagickCore::NoDitherMethod;
613  using MagickCore::RiemersmaDitherMethod;
614  using MagickCore::FloydSteinbergDitherMethod;
615 
616  // Endian options
617  using MagickCore::EndianType;
618  using MagickCore::UndefinedEndian;
619  using MagickCore::LSBEndian;
620  using MagickCore::MSBEndian;
621 
622  // Boolean types
623  using MagickCore::MagickBooleanType;
624  using MagickCore::MagickFalse;
625  using MagickCore::MagickTrue;
626 
627  // Evaluate options
628  using MagickCore::MagickEvaluateOperator;
629  using MagickCore::UndefinedEvaluateOperator;
630  using MagickCore::AbsEvaluateOperator;
631  using MagickCore::AddEvaluateOperator;
632  using MagickCore::AddModulusEvaluateOperator;
633  using MagickCore::AndEvaluateOperator;
634  using MagickCore::CosineEvaluateOperator;
635  using MagickCore::DivideEvaluateOperator;
636  using MagickCore::ExponentialEvaluateOperator;
637  using MagickCore::GaussianNoiseEvaluateOperator;
638  using MagickCore::ImpulseNoiseEvaluateOperator;
639  using MagickCore::LaplacianNoiseEvaluateOperator;
640  using MagickCore::LeftShiftEvaluateOperator;
641  using MagickCore::LogEvaluateOperator;
642  using MagickCore::MaxEvaluateOperator;
643  using MagickCore::MeanEvaluateOperator;
644  using MagickCore::MedianEvaluateOperator;
645  using MagickCore::MinEvaluateOperator;
646  using MagickCore::MultiplicativeNoiseEvaluateOperator;
647  using MagickCore::MultiplyEvaluateOperator;
648  using MagickCore::OrEvaluateOperator;
649  using MagickCore::PoissonNoiseEvaluateOperator;
650  using MagickCore::PowEvaluateOperator;
651  using MagickCore::RootMeanSquareEvaluateOperator;
652  using MagickCore::RightShiftEvaluateOperator;
653  using MagickCore::SetEvaluateOperator;
654  using MagickCore::SineEvaluateOperator;
655  using MagickCore::SubtractEvaluateOperator;
656  using MagickCore::SumEvaluateOperator;
657  using MagickCore::ThresholdBlackEvaluateOperator;
658  using MagickCore::ThresholdEvaluateOperator;
659  using MagickCore::ThresholdWhiteEvaluateOperator;
660  using MagickCore::UniformNoiseEvaluateOperator;
661  using MagickCore::XorEvaluateOperator;
662 
663  // Fill rules
664  using MagickCore::FillRule;
665  using MagickCore::UndefinedRule;
666  using MagickCore::EvenOddRule;
667  using MagickCore::NonZeroRule;
668 
669  // Filter types
670  using MagickCore::FilterType;
671  using MagickCore::UndefinedFilter;
672  using MagickCore::PointFilter;
673  using MagickCore::BoxFilter;
674  using MagickCore::TriangleFilter;
675  using MagickCore::HermiteFilter;
676  using MagickCore::HannFilter;
677  using MagickCore::HammingFilter;
678  using MagickCore::BlackmanFilter;
679  using MagickCore::GaussianFilter;
680  using MagickCore::QuadraticFilter;
681  using MagickCore::CubicFilter;
682  using MagickCore::CatromFilter;
683  using MagickCore::MitchellFilter;
684  using MagickCore::JincFilter;
685  using MagickCore::SincFilter;
686  using MagickCore::SincFastFilter;
687  using MagickCore::KaiserFilter;
688  using MagickCore::WelchFilter;
689  using MagickCore::ParzenFilter;
690  using MagickCore::BohmanFilter;
691  using MagickCore::BartlettFilter;
692  using MagickCore::LagrangeFilter;
693  using MagickCore::LanczosFilter;
694  using MagickCore::LanczosSharpFilter;
695  using MagickCore::Lanczos2Filter;
696  using MagickCore::Lanczos2SharpFilter;
697  using MagickCore::RobidouxFilter;
698  using MagickCore::RobidouxSharpFilter;
699  using MagickCore::CosineFilter;
700  using MagickCore::SplineFilter;
701  using MagickCore::LanczosRadiusFilter;
702  using MagickCore::SentinelFilter;
703 
704  // Geometry flags;
705  using MagickCore::GeometryFlags;
706  using MagickCore::AreaValue;
707  using MagickCore::AspectValue;
708  using MagickCore::GreaterValue;
709  using MagickCore::HeightValue;
710  using MagickCore::LessValue;
711  using MagickCore::MinimumValue;
712  using MagickCore::NoValue;
713  using MagickCore::PercentValue;
714  using MagickCore::WidthValue;
715  using MagickCore::XNegative;
716  using MagickCore::XValue;
717  using MagickCore::YNegative;
718  using MagickCore::YValue;
719 
720  // Bit gravity
721  using MagickCore::GravityType;
722  using MagickCore::UndefinedGravity;
723  using MagickCore::ForgetGravity;
724  using MagickCore::NorthWestGravity;
725  using MagickCore::NorthGravity;
726  using MagickCore::NorthEastGravity;
727  using MagickCore::WestGravity;
728  using MagickCore::CenterGravity;
729  using MagickCore::EastGravity;
730  using MagickCore::SouthWestGravity;
731  using MagickCore::SouthGravity;
732  using MagickCore::SouthEastGravity;
733 
734  // Image types
735  using MagickCore::ImageType;
736  using MagickCore::UndefinedType;
737  using MagickCore::BilevelType;
738  using MagickCore::GrayscaleType;
739  using MagickCore::GrayscaleAlphaType;
740  using MagickCore::PaletteType;
741  using MagickCore::PaletteAlphaType;
742  using MagickCore::TrueColorType;
743  using MagickCore::TrueColorAlphaType;
744  using MagickCore::ColorSeparationType;
745  using MagickCore::ColorSeparationAlphaType;
746  using MagickCore::OptimizeType;
747  using MagickCore::PaletteBilevelAlphaType;
748 
749  // Interlace types
750  using MagickCore::InterlaceType;
751  using MagickCore::UndefinedInterlace;
752  using MagickCore::NoInterlace;
753  using MagickCore::LineInterlace;
754  using MagickCore::PlaneInterlace;
755  using MagickCore::PartitionInterlace;
756  using MagickCore::GIFInterlace;
757  using MagickCore::JPEGInterlace;
758  using MagickCore::PNGInterlace;
759 
760  // Built-in kernels
761  using MagickCore::KernelInfoType;
762  using MagickCore::UndefinedKernel;
763  using MagickCore::UnityKernel;
764  using MagickCore::GaussianKernel;
765  using MagickCore::DoGKernel;
766  using MagickCore::LoGKernel;
767  using MagickCore::BlurKernel;
768  using MagickCore::CometKernel;
769  using MagickCore::BinomialKernel;
770  using MagickCore::LaplacianKernel;
771  using MagickCore::SobelKernel;
772  using MagickCore::FreiChenKernel;
773  using MagickCore::RobertsKernel;
774  using MagickCore::PrewittKernel;
775  using MagickCore::CompassKernel;
776  using MagickCore::KirschKernel;
777  using MagickCore::DiamondKernel;
778  using MagickCore::SquareKernel;
779  using MagickCore::RectangleKernel;
780  using MagickCore::OctagonKernel;
781  using MagickCore::DiskKernel;
782  using MagickCore::PlusKernel;
783  using MagickCore::CrossKernel;
784  using MagickCore::RingKernel;
785  using MagickCore::PeaksKernel;
786  using MagickCore::EdgesKernel;
787  using MagickCore::CornersKernel;
788  using MagickCore::DiagonalsKernel;
789  using MagickCore::LineEndsKernel;
790  using MagickCore::LineJunctionsKernel;
791  using MagickCore::RidgesKernel;
792  using MagickCore::ConvexHullKernel;
793  using MagickCore::ThinSEKernel;
794  using MagickCore::SkeletonKernel;
795  using MagickCore::ChebyshevKernel;
796  using MagickCore::ManhattanKernel;
797  using MagickCore::OctagonalKernel;
798  using MagickCore::EuclideanKernel;
799  using MagickCore::UserDefinedKernel;
800 
801  // Layer method
802  using MagickCore::LayerMethod;
803  using MagickCore::UndefinedLayer;
804  using MagickCore::CoalesceLayer;
805  using MagickCore::CompareAnyLayer;
806  using MagickCore::CompareClearLayer;
807  using MagickCore::CompareOverlayLayer;
808  using MagickCore::DisposeLayer;
809  using MagickCore::OptimizeLayer;
810  using MagickCore::OptimizeImageLayer;
811  using MagickCore::OptimizePlusLayer;
812  using MagickCore::OptimizeTransLayer;
813  using MagickCore::RemoveDupsLayer;
814  using MagickCore::RemoveZeroLayer;
815  using MagickCore::CompositeLayer;
816  using MagickCore::MergeLayer;
817  using MagickCore::FlattenLayer;
818  using MagickCore::MosaicLayer;
819  using MagickCore::TrimBoundsLayer;
820 
821  // Line cap types
822  using MagickCore::LineCap;
823  using MagickCore::UndefinedCap;
824  using MagickCore::ButtCap;
825  using MagickCore::RoundCap;
826  using MagickCore::SquareCap;
827 
828  // Line join types
829  using MagickCore::LineJoin;
830  using MagickCore::UndefinedJoin;
831  using MagickCore::MiterJoin;
832  using MagickCore::RoundJoin;
833  using MagickCore::BevelJoin;
834 
835  // Log event types
836  using MagickCore::LogEventType;
837  using MagickCore::UndefinedEvents;
838  using MagickCore::NoEvents;
839  using MagickCore::AccelerateEvent;
840  using MagickCore::AnnotateEvent;
841  using MagickCore::BlobEvent;
842  using MagickCore::CacheEvent;
843  using MagickCore::CoderEvent;
844  using MagickCore::ConfigureEvent;
845  using MagickCore::DeprecateEvent;
846  using MagickCore::DrawEvent;
847  using MagickCore::ExceptionEvent;
848  using MagickCore::ImageEvent;
849  using MagickCore::LocaleEvent;
850  using MagickCore::ModuleEvent;
851  using MagickCore::PixelEvent;
852  using MagickCore::PolicyEvent;
853  using MagickCore::ResourceEvent;
854  using MagickCore::TraceEvent;
855  using MagickCore::TransformEvent;
856  using MagickCore::UserEvent;
857  using MagickCore::WandEvent;
858  using MagickCore::X11Event;
859  using MagickCore::CommandEvent;
860  using MagickCore::AllEvents;
861 
862  // Magick functions
863  using MagickCore::MagickFunction;
864  using MagickCore::UndefinedFunction;
865  using MagickCore::ArcsinFunction;
866  using MagickCore::ArctanFunction;
867  using MagickCore::PolynomialFunction;
868  using MagickCore::SinusoidFunction;
869 
870  // Metric types
871  using MagickCore::MetricType;
872  using MagickCore::UndefinedErrorMetric;
873  using MagickCore::AbsoluteErrorMetric;
874  using MagickCore::FuzzErrorMetric;
875  using MagickCore::MeanAbsoluteErrorMetric;
876  using MagickCore::MeanErrorPerPixelErrorMetric;
877  using MagickCore::MeanSquaredErrorMetric;
878  using MagickCore::NormalizedCrossCorrelationErrorMetric;
879  using MagickCore::PeakAbsoluteErrorMetric;
880  using MagickCore::PeakSignalToNoiseRatioErrorMetric;
881  using MagickCore::PerceptualHashErrorMetric;
882  using MagickCore::RootMeanSquaredErrorMetric;
883 
884  // Morphology methods
885  using MagickCore::MorphologyMethod;
886  using MagickCore::UndefinedMorphology;
887  using MagickCore::ConvolveMorphology;
888  using MagickCore::CorrelateMorphology;
889  using MagickCore::ErodeMorphology;
890  using MagickCore::DilateMorphology;
891  using MagickCore::ErodeIntensityMorphology;
892  using MagickCore::DilateIntensityMorphology;
893  using MagickCore::IterativeDistanceMorphology;
894  using MagickCore::OpenMorphology;
895  using MagickCore::CloseMorphology;
896  using MagickCore::OpenIntensityMorphology;
897  using MagickCore::CloseIntensityMorphology;
898  using MagickCore::SmoothMorphology;
899  using MagickCore::EdgeInMorphology;
900  using MagickCore::EdgeOutMorphology;
901  using MagickCore::EdgeMorphology;
902  using MagickCore::TopHatMorphology;
903  using MagickCore::BottomHatMorphology;
904  using MagickCore::HitAndMissMorphology;
905  using MagickCore::ThinningMorphology;
906  using MagickCore::ThickenMorphology;
907  using MagickCore::DistanceMorphology;
908  using MagickCore::VoronoiMorphology;
909 
910  // Noise types
911  using MagickCore::NoiseType;
912  using MagickCore::UndefinedNoise;
913  using MagickCore::UniformNoise;
914  using MagickCore::GaussianNoise;
915  using MagickCore::MultiplicativeGaussianNoise;
916  using MagickCore::ImpulseNoise;
917  using MagickCore::LaplacianNoise;
918  using MagickCore::PoissonNoise;
919 
920  // Orientation types
921  using MagickCore::OrientationType;
922  using MagickCore::UndefinedOrientation;
923  using MagickCore::TopLeftOrientation;
924  using MagickCore::TopRightOrientation;
925  using MagickCore::BottomRightOrientation;
926  using MagickCore::BottomLeftOrientation;
927  using MagickCore::LeftTopOrientation;
928  using MagickCore::RightTopOrientation;
929  using MagickCore::RightBottomOrientation;
930  using MagickCore::LeftBottomOrientation;
931 
932  // Paint methods
933  using MagickCore::PaintMethod;
934  using MagickCore::UndefinedMethod;
935  using MagickCore::PointMethod;
936  using MagickCore::ReplaceMethod;
937  using MagickCore::FloodfillMethod;
938  using MagickCore::FillToBorderMethod;
939  using MagickCore::ResetMethod;
940 
941  using MagickCore::PixelChannel;
942  using MagickCore::UndefinedPixelChannel;
943  using MagickCore::RedPixelChannel;
944  using MagickCore::CyanPixelChannel;
945  using MagickCore::GrayPixelChannel;
946  using MagickCore::LPixelChannel;
947  using MagickCore::YPixelChannel;
948  using MagickCore::aPixelChannel;
949  using MagickCore::GreenPixelChannel;
950  using MagickCore::MagentaPixelChannel;
951  using MagickCore::CbPixelChannel;
952  using MagickCore::bPixelChannel;
953  using MagickCore::BluePixelChannel;
954  using MagickCore::YellowPixelChannel;
955  using MagickCore::CrPixelChannel;
956  using MagickCore::BlackPixelChannel;
957  using MagickCore::AlphaPixelChannel;
958  using MagickCore::IndexPixelChannel;
959  using MagickCore::ReadMaskPixelChannel;
960  using MagickCore::WriteMaskPixelChannel;
961  using MagickCore::MetaPixelChannel;
962  using MagickCore::IntensityPixelChannel;
963  using MagickCore::CompositePixelChannel;
964  using MagickCore::SyncPixelChannel;
965 
966  // Pixel intensity method
967  using MagickCore::PixelIntensityMethod;
968  using MagickCore::UndefinedPixelIntensityMethod;
969  using MagickCore::AveragePixelIntensityMethod;
970  using MagickCore::BrightnessPixelIntensityMethod;
971  using MagickCore::LightnessPixelIntensityMethod;
972  using MagickCore::MSPixelIntensityMethod;
973  using MagickCore::Rec601LumaPixelIntensityMethod;
974  using MagickCore::Rec601LuminancePixelIntensityMethod;
975  using MagickCore::Rec709LumaPixelIntensityMethod;
976  using MagickCore::Rec709LuminancePixelIntensityMethod;
977  using MagickCore::RMSPixelIntensityMethod;
978 
979  // PixelInterpolate methods
980  using MagickCore::PixelInterpolateMethod;
981  using MagickCore::UndefinedInterpolatePixel;
982  using MagickCore::AverageInterpolatePixel;
983  using MagickCore::Average9InterpolatePixel;
984  using MagickCore::Average16InterpolatePixel;
985  using MagickCore::BackgroundInterpolatePixel;
986  using MagickCore::BilinearInterpolatePixel;
987  using MagickCore::BlendInterpolatePixel;
988  using MagickCore::CatromInterpolatePixel;
989  using MagickCore::IntegerInterpolatePixel;
990  using MagickCore::MeshInterpolatePixel;
991  using MagickCore::NearestInterpolatePixel;
992  using MagickCore::SplineInterpolatePixel;
993 
994  // Pixel traits
995  using MagickCore::PixelTrait;
996  using MagickCore::UndefinedPixelTrait;
997  using MagickCore::CopyPixelTrait;
998  using MagickCore::UpdatePixelTrait;
999  using MagickCore::BlendPixelTrait;
1000 
1001  // Policy domains
1002  using MagickCore::PolicyDomain;
1003  using MagickCore::UndefinedPolicyDomain;
1004  using MagickCore::CoderPolicyDomain;
1005  using MagickCore::DelegatePolicyDomain;
1006  using MagickCore::FilterPolicyDomain;
1007  using MagickCore::PathPolicyDomain;
1008  using MagickCore::ResourcePolicyDomain;
1009  using MagickCore::SystemPolicyDomain;
1010  using MagickCore::CachePolicyDomain;
1011 
1012  // Preview types. Not currently used by Magick++
1013  using MagickCore::PreviewType;
1014  using MagickCore::UndefinedPreview;
1015  using MagickCore::RotatePreview;
1016  using MagickCore::ShearPreview;
1017  using MagickCore::RollPreview;
1018  using MagickCore::HuePreview;
1019  using MagickCore::SaturationPreview;
1020  using MagickCore::BrightnessPreview;
1021  using MagickCore::GammaPreview;
1022  using MagickCore::SpiffPreview;
1023  using MagickCore::DullPreview;
1024  using MagickCore::GrayscalePreview;
1025  using MagickCore::QuantizePreview;
1026  using MagickCore::DespecklePreview;
1027  using MagickCore::ReduceNoisePreview;
1028  using MagickCore::AddNoisePreview;
1029  using MagickCore::SharpenPreview;
1030  using MagickCore::BlurPreview;
1031  using MagickCore::ThresholdPreview;
1032  using MagickCore::EdgeDetectPreview;
1033  using MagickCore::SpreadPreview;
1034  using MagickCore::SolarizePreview;
1035  using MagickCore::ShadePreview;
1036  using MagickCore::RaisePreview;
1037  using MagickCore::SegmentPreview;
1038  using MagickCore::SwirlPreview;
1039  using MagickCore::ImplodePreview;
1040  using MagickCore::WavePreview;
1041  using MagickCore::OilPaintPreview;
1042  using MagickCore::CharcoalDrawingPreview;
1043  using MagickCore::JPEGPreview;
1044 
1045  // Quantum types
1046  using MagickCore::QuantumType;
1047  using MagickCore::IndexQuantum;
1048  using MagickCore::GrayQuantum;
1049  using MagickCore::IndexAlphaQuantum;
1050  using MagickCore::GrayAlphaQuantum;
1051  using MagickCore::RedQuantum;
1052  using MagickCore::CyanQuantum;
1053  using MagickCore::GreenQuantum;
1054  using MagickCore::YellowQuantum;
1055  using MagickCore::BlueQuantum;
1056  using MagickCore::MagentaQuantum;
1057  using MagickCore::AlphaQuantum;
1058  using MagickCore::BlackQuantum;
1059  using MagickCore::RGBQuantum;
1060  using MagickCore::RGBAQuantum;
1061  using MagickCore::CMYKQuantum;
1062 
1063  // Pixel mask types
1064  using MagickCore::PixelMask;
1065  using MagickCore::UndefinedPixelMask;
1066  using MagickCore::ReadPixelMask;
1067  using MagickCore::WritePixelMask;
1068 
1069  // Rendering intents
1070  using MagickCore::RenderingIntent;
1071  using MagickCore::UndefinedIntent;
1072  using MagickCore::SaturationIntent;
1073  using MagickCore::PerceptualIntent;
1074  using MagickCore::AbsoluteIntent;
1075  using MagickCore::RelativeIntent;
1076 
1077  // Resource types
1078  using MagickCore::ResourceType;
1079  using MagickCore::UndefinedResource;
1080  using MagickCore::AreaResource;
1081  using MagickCore::DiskResource;
1082  using MagickCore::FileResource;
1083  using MagickCore::HeightResource;
1084  using MagickCore::MapResource;
1085  using MagickCore::MemoryResource;
1086  using MagickCore::ThreadResource;
1087  using MagickCore::ThrottleResource;
1088  using MagickCore::TimeResource;
1089  using MagickCore::WidthResource;
1090  using MagickCore::ListLengthResource;
1091 
1092  // Resolution units
1093  using MagickCore::ResolutionType;
1094  using MagickCore::UndefinedResolution;
1095  using MagickCore::PixelsPerInchResolution;
1096  using MagickCore::PixelsPerCentimeterResolution;
1097 
1098  // Sparse Color methods
1099  using MagickCore::SparseColorMethod;
1100  using MagickCore::UndefinedColorInterpolate;
1101  using MagickCore::BarycentricColorInterpolate;
1102  using MagickCore::BilinearColorInterpolate;
1103  using MagickCore::PolynomialColorInterpolate;
1104  using MagickCore::ShepardsColorInterpolate;
1105  using MagickCore::VoronoiColorInterpolate;
1106  using MagickCore::InverseColorInterpolate;
1107  using MagickCore::ManhattanColorInterpolate;
1108 
1109  // Statistic type
1110  using MagickCore::StatisticType;
1111  using MagickCore::UndefinedStatistic;
1112  using MagickCore::GradientStatistic;
1113  using MagickCore::MaximumStatistic;
1114  using MagickCore::MeanStatistic;
1115  using MagickCore::MedianStatistic;
1116  using MagickCore::MinimumStatistic;
1117  using MagickCore::ModeStatistic;
1118  using MagickCore::NonpeakStatistic;
1119  using MagickCore::RootMeanSquareStatistic;
1120  using MagickCore::StandardDeviationStatistic;
1121 
1122  // StorageType type
1123  using MagickCore::StorageType;
1124  using MagickCore::UndefinedPixel;
1125  using MagickCore::CharPixel;
1126  using MagickCore::DoublePixel;
1127  using MagickCore::FloatPixel;
1128  using MagickCore::LongPixel;
1129  using MagickCore::LongLongPixel;
1130  using MagickCore::QuantumPixel;
1131  using MagickCore::ShortPixel;
1132 
1133  // StretchType type
1134  using MagickCore::StretchType;
1135  using MagickCore::UndefinedStretch;
1136  using MagickCore::NormalStretch;
1137  using MagickCore::UltraCondensedStretch;
1138  using MagickCore::ExtraCondensedStretch;
1139  using MagickCore::CondensedStretch;
1140  using MagickCore::SemiCondensedStretch;
1141  using MagickCore::SemiExpandedStretch;
1142  using MagickCore::ExpandedStretch;
1143  using MagickCore::ExtraExpandedStretch;
1144  using MagickCore::UltraExpandedStretch;
1145  using MagickCore::AnyStretch;
1146 
1147  // StyleType type
1148  using MagickCore::StyleType;
1149  using MagickCore::UndefinedStyle;
1150  using MagickCore::NormalStyle;
1151  using MagickCore::ItalicStyle;
1152  using MagickCore::ObliqueStyle;
1153  using MagickCore::AnyStyle;
1154 
1155  // Virtual pixel methods
1156  using MagickCore::VirtualPixelMethod;
1157  using MagickCore::UndefinedVirtualPixelMethod;
1158  using MagickCore::BackgroundVirtualPixelMethod;
1159  using MagickCore::DitherVirtualPixelMethod;
1160  using MagickCore::EdgeVirtualPixelMethod;
1161  using MagickCore::MirrorVirtualPixelMethod;
1162  using MagickCore::RandomVirtualPixelMethod;
1163  using MagickCore::TileVirtualPixelMethod;
1164  using MagickCore::TransparentVirtualPixelMethod;
1165  using MagickCore::MaskVirtualPixelMethod;
1166  using MagickCore::BlackVirtualPixelMethod;
1167  using MagickCore::GrayVirtualPixelMethod;
1168  using MagickCore::WhiteVirtualPixelMethod;
1169  using MagickCore::HorizontalTileVirtualPixelMethod;
1170  using MagickCore::VerticalTileVirtualPixelMethod;
1171  using MagickCore::HorizontalTileEdgeVirtualPixelMethod;
1172  using MagickCore::VerticalTileEdgeVirtualPixelMethod;
1173  using MagickCore::CheckerTileVirtualPixelMethod;
1174 
1175 #if defined(MAGICKCORE_IMPLEMENTATION)
1176  //
1177  // ImageMagick symbols used in implementation code
1178  //
1179  using MagickCore::AcquireAlignedMemory;
1180  using MagickCore::AcquireAuthenticCacheView;
1181  using MagickCore::AcquireDrawingWand;
1182  using MagickCore::AcquireExceptionInfo;
1183  using MagickCore::AcquireVirtualCacheView;
1184  using MagickCore::AcquireImage;
1185  using MagickCore::AcquireKernelInfo;
1186  using MagickCore::AcquireMagickInfo;
1187  using MagickCore::AcquireMagickMemory;
1188  using MagickCore::AcquireQuantumInfo;
1189  using MagickCore::AcquireString;
1190  using MagickCore::AcquireStringInfo;
1191  using MagickCore::AdaptiveBlurImage;
1192  using MagickCore::AdaptiveResizeImage;
1193  using MagickCore::AdaptiveSharpenImage;
1194  using MagickCore::AdaptiveThresholdImage;
1195  using MagickCore::AddNoiseImage;
1196  using MagickCore::AffineTransformImage;
1197  using MagickCore::AnnotateImage;
1198  using MagickCore::AutoGammaImage;
1199  using MagickCore::AutoLevelImage;
1200  using MagickCore::AutoOrientImage;
1201  using MagickCore::AutoThresholdImage;
1202  using MagickCore::Base64Decode;
1203  using MagickCore::Base64Encode;
1204  using MagickCore::BilevelImage;
1205  using MagickCore::BlackThresholdImage;
1206  using MagickCore::BlobToImage;
1207  using MagickCore::BlueShiftImage;
1208  using MagickCore::BlurImage;
1209  using MagickCore::BrightnessContrastImage;
1210  using MagickCore::BorderImage;
1211  using MagickCore::CharcoalImage;
1212  using MagickCore::CannyEdgeImage;
1213  using MagickCore::ChopImage;
1214  using MagickCore::ClampImage;
1215  using MagickCore::ClampToQuantum;
1216  using MagickCore::ClearMagickException;
1217  using MagickCore::CloneDrawInfo;
1218  using MagickCore::CloneImage;
1219  using MagickCore::CloneImageInfo;
1220  using MagickCore::CloneQuantizeInfo;
1221  using MagickCore::ClutImage;
1222  using MagickCore::ColorDecisionListImage;
1223  using MagickCore::ColorizeImage;
1224  using MagickCore::ColorMatrixImage;
1225  using MagickCore::CommandOptionToMnemonic;
1226  using MagickCore::CompareImages;
1227  using MagickCore::CompareImagesLayers;
1228  using MagickCore::CompositeImage;
1229  using MagickCore::ConnectedComponentsImage;
1230  using MagickCore::ConstituteImage;
1231  using MagickCore::ContrastImage;
1232  using MagickCore::ContrastStretchImage;
1233  using MagickCore::ConvertHSLToRGB;
1234  using MagickCore::ConvertRGBToHSL;
1235  using MagickCore::ConvolveImage;
1236  using MagickCore::CopyImagePixels;
1237  using MagickCore::CopyMagickString;
1238  using MagickCore::CropImage;
1239  using MagickCore::CropImageToTiles;
1240  using MagickCore::CycleColormapImage;
1241  using MagickCore::DecipherImage;
1242  using MagickCore::DeleteImageOption;
1243  using MagickCore::DeleteImageRegistry;
1244  using MagickCore::DeskewImage;
1245  using MagickCore::DespeckleImage;
1246  using MagickCore::DestroyCacheView;
1247  using MagickCore::DestroyDrawInfo;
1248  using MagickCore::DestroyDrawingWand;
1249  using MagickCore::DestroyExceptionInfo;
1250  using MagickCore::DestroyImageInfo;
1251  using MagickCore::DestroyImageList;
1252  using MagickCore::DestroyKernelInfo;
1253  using MagickCore::DestroyMagickWand;
1254  using MagickCore::DestroyPixelWand;
1255  using MagickCore::DestroyQuantizeInfo;
1256  using MagickCore::DestroyQuantumInfo;
1257  using MagickCore::DestroyString;
1258  using MagickCore::DestroyStringInfo;
1259  using MagickCore::DisplayImages;
1260  using MagickCore::DistortImage;
1261  using MagickCore::DrawAffine;
1262  using MagickCore::DrawAlpha;
1263  using MagickCore::DrawAnnotation;
1264  using MagickCore::DrawArc;
1265  using MagickCore::DrawBezier;
1266  using MagickCore::DrawCircle;
1267  using MagickCore::DrawColor;
1268  using MagickCore::DrawComment;
1269  using MagickCore::DrawComposite;
1270  using MagickCore::DrawEllipse;
1271  using MagickCore::DrawImage;
1272  using MagickCore::DrawLine;
1273  using MagickCore::DrawPathClose;
1274  using MagickCore::DrawPathCurveToAbsolute;
1275  using MagickCore::DrawPathCurveToQuadraticBezierAbsolute;
1276  using MagickCore::DrawPathCurveToQuadraticBezierRelative;
1277  using MagickCore::DrawPathCurveToQuadraticBezierSmoothAbsolute;
1278  using MagickCore::DrawPathCurveToQuadraticBezierSmoothRelative;
1279  using MagickCore::DrawPathCurveToRelative;
1280  using MagickCore::DrawPathCurveToSmoothAbsolute;
1281  using MagickCore::DrawPathCurveToSmoothRelative;
1282  using MagickCore::DrawPathEllipticArcAbsolute;
1283  using MagickCore::DrawPathEllipticArcRelative;
1284  using MagickCore::DrawPathFinish;
1285  using MagickCore::DrawPathLineToAbsolute;
1286  using MagickCore::DrawPathLineToHorizontalAbsolute;
1287  using MagickCore::DrawPathLineToHorizontalRelative;
1288  using MagickCore::DrawPathLineToRelative;
1289  using MagickCore::DrawPathLineToVerticalAbsolute;
1290  using MagickCore::DrawPathLineToVerticalRelative;
1291  using MagickCore::DrawPathMoveToAbsolute;
1292  using MagickCore::DrawPathMoveToRelative;
1293  using MagickCore::DrawPathStart;
1294  using MagickCore::DrawPoint;
1295  using MagickCore::DrawPolygon;
1296  using MagickCore::DrawPolyline;
1297  using MagickCore::DrawPopClipPath;
1298  using MagickCore::DrawPopDefs;
1299  using MagickCore::DrawPopPattern;
1300  using MagickCore::DrawPushClipPath;
1301  using MagickCore::DrawPushDefs;
1302  using MagickCore::DrawPushPattern;
1303  using MagickCore::DrawRectangle;
1304  using MagickCore::DrawRender;
1305  using MagickCore::DrawRotate;
1306  using MagickCore::DrawRoundRectangle;
1307  using MagickCore::DrawScale;
1308  using MagickCore::DrawSetClipPath;
1309  using MagickCore::DrawSetClipRule;
1310  using MagickCore::DrawSetClipUnits;
1311  using MagickCore::DrawSetFillColor;
1312  using MagickCore::DrawSetFillOpacity;
1313  using MagickCore::DrawSetFillPatternURL;
1314  using MagickCore::DrawSetFillRule;
1315  using MagickCore::DrawSetFont;
1316  using MagickCore::DrawSetFontFamily;
1317  using MagickCore::DrawSetFontSize;
1318  using MagickCore::DrawSetFontStretch;
1319  using MagickCore::DrawSetFontStyle;
1320  using MagickCore::DrawSetFontWeight;
1321  using MagickCore::DrawSetGravity;
1322  using MagickCore::DrawSetStrokeAntialias;
1323  using MagickCore::DrawSetStrokeColor;
1324  using MagickCore::DrawSetStrokeDashArray;
1325  using MagickCore::DrawSetStrokeDashOffset;
1326  using MagickCore::DrawSetStrokeLineCap;
1327  using MagickCore::DrawSetStrokeLineJoin;
1328  using MagickCore::DrawSetStrokeMiterLimit;
1329  using MagickCore::DrawSetStrokeOpacity;
1330  using MagickCore::DrawSetStrokePatternURL;
1331  using MagickCore::DrawSetStrokeWidth;
1332  using MagickCore::DrawSetTextAntialias;
1333  using MagickCore::DrawSetTextDecoration;
1334  using MagickCore::DrawSetTextEncoding;
1335  using MagickCore::DrawSetTextInterlineSpacing;
1336  using MagickCore::DrawSetTextInterwordSpacing;
1337  using MagickCore::DrawSetTextKerning;
1338  using MagickCore::DrawSetTextUnderColor;
1339  using MagickCore::DrawSetViewbox;
1340  using MagickCore::DrawSkewX;
1341  using MagickCore::DrawSkewY;
1342  using MagickCore::DrawTranslate;
1343  using MagickCore::EdgeImage;
1344  using MagickCore::EmbossImage;
1345  using MagickCore::EncipherImage;
1346  using MagickCore::EnhanceImage;
1347  using MagickCore::EqualizeImage;
1348  using MagickCore::EvaluateImage;
1349  using MagickCore::ExportImagePixels;
1350  using MagickCore::ExportQuantumPixels;
1351  using MagickCore::ExtentImage;
1352  using MagickCore::FlipImage;
1353  using MagickCore::FloodfillPaintImage;
1354  using MagickCore::FlopImage;
1355  using MagickCore::FormatLocaleString;
1356  using MagickCore::ForwardFourierTransformImage;
1357  using MagickCore::FrameImage;
1358  using MagickCore::FxImage;
1359  using MagickCore::GammaImage;
1360  using MagickCore::GaussianBlurImage;
1361  using MagickCore::GaussianBlurImage;
1362  using MagickCore::GetAffineMatrix;
1363  using MagickCore::GetAuthenticMetacontent;
1364  using MagickCore::GetBlobSize;
1365  using MagickCore::GetCacheViewAuthenticMetacontent;
1366  using MagickCore::GetCacheViewAuthenticPixels;
1367  using MagickCore::GetCacheViewVirtualPixels;
1368  using MagickCore::GetClientName;
1369  using MagickCore::GetColorTuple;
1370  using MagickCore::GetDrawInfo;
1371  using MagickCore::GetGeometry;
1372  using MagickCore::GetImageArtifact;
1373  using MagickCore::GetImageMoments;
1374  using MagickCore::GetImageBoundingBox;
1375  using MagickCore::GetImageDistortion;
1376  using MagickCore::GetImageDepth;
1377  using MagickCore::GetImageMask;
1378  using MagickCore::GetImageMean;
1379  using MagickCore::GetImageKurtosis;
1380  using MagickCore::GetImageRange;
1381  using MagickCore::GetImageDepth;
1382  using MagickCore::GetImageInfo;
1383  using MagickCore::GetImageInfoFile;
1384  using MagickCore::GetImageOption;
1385  using MagickCore::GetImagePerceptualHash;
1386  using MagickCore::GetAuthenticPixels;
1387  using MagickCore::GetImageProfile;
1388  using MagickCore::GetImageProperty;
1389  using MagickCore::GetImageQuantizeError;
1390  using MagickCore::GetImageType;
1391  using MagickCore::GetMagickDecoderThreadSupport;
1392  using MagickCore::GetMagickEncoderThreadSupport;
1393  using MagickCore::GetMagickInfo;
1394  using MagickCore::GetMultilineTypeMetrics;
1395  using MagickCore::GetNextValueInLinkedList;
1396  using MagickCore::GetNumberOfElementsInLinkedList;
1397  using MagickCore::GetPixelBlue;
1398  using MagickCore::GetPixelChannelOffset;
1399  using MagickCore::GetPixelChannelTraits;
1400  using MagickCore::GetPixelGreen;
1401  using MagickCore::GetPixelInfo;
1402  using MagickCore::GetPixelRed;
1403  using MagickCore::GetNumberColors;
1404  using MagickCore::GetPageGeometry;
1405  using MagickCore::GetQuantizeInfo;
1406  using MagickCore::GetStringInfoDatum;
1407  using MagickCore::GetStringInfoLength;
1408  using MagickCore::GetTypeMetrics;
1409  using MagickCore::GetValueFromLinkedList;
1410  using MagickCore::GetVirtualMetacontent;
1411  using MagickCore::GetVirtualPixels;
1412  using MagickCore::GetImageVirtualPixelMethod;
1413  using MagickCore::GlobExpression;
1414  using MagickCore::GravityAdjustGeometry;
1415  using MagickCore::GrayscaleImage;
1416  using MagickCore::HaldClutImage;
1417  using MagickCore::HoughLineImage;
1418  using MagickCore::ImageToBlob;
1419  using MagickCore::ImagesToBlob;
1420  using MagickCore::ImplodeImage;
1421  using MagickCore::ImportQuantumPixels;
1422  using MagickCore::InterpretImageProperties;
1423  using MagickCore::InverseFourierTransformImage;
1424  using MagickCore::InvokeDynamicImageFilter;
1425  using MagickCore::IsEventLogging;
1426  using MagickCore::IsGeometry;
1427  using MagickCore::IsImageOpaque;
1428  using MagickCore::IsImagesEqual;
1429  using MagickCore::KuwaharaImage;
1430  using MagickCore::LevelImage;
1431  using MagickCore::LevelImageColors;
1432  using MagickCore::LevelizeImage;
1433  using MagickCore::LinearStretchImage;
1434  using MagickCore::LiquidRescaleImage;
1435  using MagickCore::LocalContrastImage;
1436  using MagickCore::LocaleCompare;
1437  using MagickCore::LockSemaphoreInfo;
1438  using MagickCore::LogMagickEvent;
1439  using MagickCore::MagickCoreTerminus;
1440  using MagickCore::MagickToMime;
1441  using MagickCore::MagnifyImage;
1442  using MagickCore::MergeImageLayers;
1443  using MagickCore::MinifyImage;
1444  using MagickCore::ModulateImage;
1445  using MagickCore::MorphologyImage;
1446  using MagickCore::MotionBlurImage;
1447  using MagickCore::NegateImage;
1448  using MagickCore::NewMagickWandFromImage;
1449  using MagickCore::NewPixelWand;
1450  using MagickCore::NormalizeImage;
1451  using MagickCore::OilPaintImage;
1452  using MagickCore::OpaquePaintImage;
1453  using MagickCore::OrderedDitherImage;
1454  using MagickCore::OptimizeImageLayers;
1455  using MagickCore::OptimizeImageTransparency;
1456  using MagickCore::OptimizePlusImageLayers;
1457  using MagickCore::ParseMetaGeometry;
1458  using MagickCore::PerceptibleImage;
1459  using MagickCore::PingBlob;
1460  using MagickCore::PingImage;
1461  using MagickCore::PixelSetPixelColor;
1462  using MagickCore::PolaroidImage;
1463  using MagickCore::PopDrawingWand;
1464  using MagickCore::PosterizeImage;
1465  using MagickCore::ProfileImage;
1466  using MagickCore::PushDrawingWand;
1467  using MagickCore::QuantizeImage;
1468  using MagickCore::QueueAuthenticPixels;
1469  using MagickCore::QueueCacheViewAuthenticPixels;
1470  using MagickCore::RaiseImage;
1471  using MagickCore::RandomThresholdImage;
1472  using MagickCore::ReadImage;
1473  using MagickCore::RegisterMagickInfo;
1474  using MagickCore::RelinquishMagickMemory;
1475  using MagickCore::RemapImage;
1476  using MagickCore::ResampleImage;
1477  using MagickCore::ResetLinkedListIterator;
1478  using MagickCore::ResizeImage;
1479  using MagickCore::ResizeMagickMemory;
1480  using MagickCore::RollImage;
1481  using MagickCore::RotateImage;
1482  using MagickCore::RotationalBlurImage;
1483  using MagickCore::SampleImage;
1484  using MagickCore::ScaleImage;
1485  using MagickCore::SegmentImage;
1486  using MagickCore::SelectiveBlurImage;
1487  using MagickCore::SeparateImage;
1488  using MagickCore::SepiaToneImage;
1489  using MagickCore::SetGeometry;
1490  using MagickCore::SetImageAlpha;
1491  using MagickCore::SetImageArtifact;
1492  using MagickCore::SetImageBackgroundColor;
1493  using MagickCore::SetImageColorspace;
1494  using MagickCore::SetImageDepth;
1495  using MagickCore::SetImageExtent;
1496  using MagickCore::SetImageInfo;
1497  using MagickCore::SetImageInfoFile;
1498  using MagickCore::SetImageMask;
1499  using MagickCore::SetImageOption;
1500  using MagickCore::SetImageProfile;
1501  using MagickCore::SetImageProperty;
1502  using MagickCore::SetImageRegistry;
1503  using MagickCore::SetImageType;
1504  using MagickCore::SetLogEventMask;
1505  using MagickCore::SetMagickResourceLimit;
1506  using MagickCore::SetImageVirtualPixelMethod;
1507  using MagickCore::SetPixelChannel;
1508  using MagickCore::SetImageChannelMask;
1509  using MagickCore::SetStringInfoDatum;
1510  using MagickCore::ShadeImage;
1511  using MagickCore::ShadowImage;
1512  using MagickCore::SharpenImage;
1513  using MagickCore::SharpenImage;
1514  using MagickCore::ShaveImage;
1515  using MagickCore::ShearImage;
1516  using MagickCore::SigmoidalContrastImage;
1517  using MagickCore::SignatureImage;
1518  using MagickCore::SimilarityImage;
1519  using MagickCore::SketchImage;
1520  using MagickCore::SmushImages;
1521  using MagickCore::SolarizeImage;
1522  using MagickCore::SparseColorImage;
1523  using MagickCore::SpliceImage;
1524  using MagickCore::SpreadImage;
1525  using MagickCore::StatisticImage;
1526  using MagickCore::SteganoImage;
1527  using MagickCore::StereoImage;
1528  using MagickCore::StripImage;
1529  using MagickCore::SwirlImage;
1530  using MagickCore::SyncCacheViewAuthenticPixels;
1531  using MagickCore::SyncImage;
1532  using MagickCore::SyncAuthenticPixels;
1533  using MagickCore::TextureImage;
1534  using MagickCore::ThrowException;
1535  using MagickCore::TintImage;
1536  using MagickCore::TransformImageColorspace;
1537  using MagickCore::TransparentPaintImage;
1538  using MagickCore::TransparentPaintImageChroma;
1539  using MagickCore::TransposeImage;
1540  using MagickCore::TransverseImage;
1541  using MagickCore::TrimImage;
1542  using MagickCore::UniqueImageColors;
1543  using MagickCore::UnlockSemaphoreInfo;
1544  using MagickCore::UnregisterMagickInfo;
1545  using MagickCore::UnsharpMaskImage;
1546  using MagickCore::VignetteImage;
1547  using MagickCore::WaveImage;
1548  using MagickCore::WaveletDenoiseImage;
1549  using MagickCore::WhiteThresholdImage;
1550  using MagickCore::WriteImage;
1551 
1552 #endif // MAGICKCORE_IMPLEMENTATION
1553 
1554 }
1555 
1557 //
1558 // No user-serviceable parts beyond this point
1559 //
1561 #define GetPPException \
1562  MagickCore::ExceptionInfo \
1563  *exceptionInfo; \
1564  exceptionInfo=MagickCore::AcquireExceptionInfo();
1565 #define GetAndSetPPChannelMask(channel) \
1566  MagickCore::ChannelType \
1567  channel_mask; \
1568  channel_mask=MagickCore::SetImageChannelMask(image(),channel)
1569 #define ClonePPDrawException(wand) \
1570  MagickCore::ExceptionInfo \
1571  *exceptionInfo; \
1572  exceptionInfo=MagickCore::DrawCloneExceptionInfo(wand)
1573 #define RestorePPChannelMask \
1574  MagickCore::SetPixelChannelMask(image(),channel_mask)
1575 #define SetPPChannelMask(channel) \
1576  (void) MagickCore::SetImageChannelMask(image(),channel)
1577 #define ThrowPPDrawException(quiet) \
1578  throwException(exceptionInfo,quiet); \
1579  (void) MagickCore::DestroyExceptionInfo(exceptionInfo)
1580 #define ThrowPPException(quiet) \
1581  throwException(exceptionInfo,quiet); \
1582  (void) MagickCore::DestroyExceptionInfo(exceptionInfo)
1583 
1584 #endif // Magick_Include_header
Definition: Blob.h:17