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