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