Magick++: Include.h Source File

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
MagickCore
Definition: Include.h:45
Magick
Definition: Blob.h:17