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