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