#include <stdarg.h>
#include <stdlib.h>
#include <time.h>
-
-#if defined(MAGICKCORE_HAVE_SYS_TYPES_H)
-# include <sys/types.h>
-#endif
+#include <math.h>
+#include <sys/types.h>
#if defined(__BORLANDC__)
# include <vcl.h> /* Borland C++ Builder 4.0 requirement */
# if defined(_VISUALC_)
# pragma message( "Magick++ lib static interface" )
# endif
+# if defined(_MSC_VER) && defined(STATIC_MAGICK) && !defined(NOAUTOLINK_MAGICK)
+# if defined(_DEBUG)
+# if defined(MAGICKCORE_BZLIB_DELEGATE)
+# pragma comment(lib, "CORE_DB_bzlib_.lib")
+# endif
+# pragma comment(lib, "CORE_DB_coders_.lib")
+# pragma comment(lib, "CORE_DB_filters_.lib")
+# if defined(MAGICKCORE_JBIG_DELEGATE)
+# pragma comment(lib, "CORE_DB_jbig_.lib")
+# endif
+# if defined(MAGICKCORE_JP2_DELEGATE)
+# pragma comment(lib, "CORE_DB_jp2_.lib")
+# endif
+# if defined(MAGICKCORE_JPEG_DELEGATE)
+# pragma comment(lib, "CORE_DB_jpeg_.lib")
+# endif
+# if defined(MAGICKCORE_LCMS_DELEGATE)
+# pragma comment(lib, "CORE_DB_lcms_.lib")
+# endif
+# pragma comment(lib, "CORE_DB_libxml_.lib")
+# pragma comment(lib, "CORE_DB_Magick++_.lib")
+# pragma comment(lib, "CORE_DB_MagickCore_.lib")
+# pragma comment(lib, "CORE_DB_MagickWand_.lib")
+# if defined(MAGICKCORE_PNG_DELEGATE)
+# pragma comment(lib, "CORE_DB_png_.lib")
+# endif
+# if defined(MAGICKCORE_TIFF_DELEGATE)
+# pragma comment(lib, "CORE_DB_tiff_.lib")
+# endif
+# if defined(MAGICKCORE_FREETYPE_DELEGATE)
+# pragma comment(lib, "CORE_DB_ttf_.lib")
+# endif
+# if defined(MAGICKCORE_WEBP_DELEGATE)
+# pragma comment(lib, "CORE_DB_webp_.lib")
+# endif
+# if defined(MAGICKCORE_WMF_DELEGATE)
+# pragma comment(lib, "CORE_DB_wmf_.lib")
+# endif
+# if defined(MAGICKCORE_X11_DELEGATE)
+# pragma comment(lib, "CORE_DB_xlib_.lib")
+# endif
+# if defined(MAGICKCORE_ZLIB_DELEGATE)
+# pragma comment(lib, "CORE_DB_zlib_.lib")
+# endif
+# else
+# if defined(MAGICKCORE_BZLIB_DELEGATE)
+# pragma comment(lib, "CORE_RL_bzlib_.lib")
+# endif
+# pragma comment(lib, "CORE_RL_filters_.lib")
+# pragma comment(lib, "CORE_RL_coders_.lib")
+# if defined(MAGICKCORE_JBIG_DELEGATE)
+# pragma comment(lib, "CORE_RL_jbig_.lib")
+# endif
+# if defined(MAGICKCORE_JP2_DELEGATE)
+# pragma comment(lib, "CORE_RL_jp2_.lib")
+# endif
+# if defined(MAGICKCORE_JPEG_DELEGATE)
+# pragma comment(lib, "CORE_RL_jpeg_.lib")
+# endif
+# if defined(MAGICKCORE_LCMS_DELEGATE)
+# pragma comment(lib, "CORE_RL_lcms_.lib")
+# endif
+# pragma comment(lib, "CORE_RL_libxml_.lib")
+# pragma comment(lib, "CORE_RL_Magick++_.lib")
+# pragma comment(lib, "CORE_RL_MagickCore_.lib")
+# pragma comment(lib, "CORE_RL_MagickWand_.lib")
+# if defined(MAGICKCORE_PNG_DELEGATE)
+# pragma comment(lib, "CORE_RL_png_.lib")
+# endif
+# if defined(MAGICKCORE_TIFF_DELEGATE)
+# pragma comment(lib, "CORE_RL_tiff_.lib")
+# endif
+# if defined(MAGICKCORE_FREETYPE_DELEGATE)
+# pragma comment(lib, "CORE_RL_ttf_.lib")
+# endif
+# if defined(MAGICKCORE_WEBP_DELEGATE)
+# pragma comment(lib, "CORE_RL_webp_.lib")
+# endif
+# if defined(MAGICKCORE_WMF_DELEGATE)
+# pragma comment(lib, "CORE_RL_wmf_.lib")
+# endif
+# if defined(MAGICKCORE_X11_DELEGATE)
+# pragma comment(lib, "CORE_RL_xlib_.lib")
+# endif
+# if defined(MAGICKCORE_ZLIB_DELEGATE)
+# pragma comment(lib, "CORE_RL_zlib_.lib")
+# endif
+# endif
+# if defined(_WIN32_WCE)
+# pragma comment(lib, "wsock32.lib")
+# else
+# pragma comment(lib, "ws2_32.lib")
+# endif
+# endif
# endif
#else
# if __GNUC__ >= 4
using MagickCore::MagickFalse;
using MagickCore::MagickTrue;
+ // Alpha channel options
+ using MagickCore::AlphaChannelOption;
+ using MagickCore::UndefinedAlphaChannel;
+ using MagickCore::ActivateAlphaChannel;
+ using MagickCore::BackgroundAlphaChannel;
+ using MagickCore::CopyAlphaChannel;
+ using MagickCore::DeactivateAlphaChannel;
+ using MagickCore::ExtractAlphaChannel;
+ using MagickCore::OpaqueAlphaChannel;
+ using MagickCore::RemoveAlphaChannel;
+ using MagickCore::SetAlphaChannel;
+ using MagickCore::ShapeAlphaChannel;
+ using MagickCore::TransparentAlphaChannel;
+
// Image class types
using MagickCore::ClassType;
using MagickCore::UndefinedClass;
using MagickCore::AllChannels;
// Color-space types
- using MagickCore::CMYKColorspace;
using MagickCore::ColorspaceType;
+ using MagickCore::UndefinedColorspace;
+ using MagickCore::CMYColorspace;
+ using MagickCore::CMYKColorspace;
using MagickCore::GRAYColorspace;
+ using MagickCore::HCLColorspace;
+ using MagickCore::HCLpColorspace;
+ using MagickCore::HSBColorspace;
+ using MagickCore::HSIColorspace;
using MagickCore::HSLColorspace;
+ using MagickCore::HSVColorspace;
using MagickCore::HWBColorspace;
+ using MagickCore::LabColorspace;
+ using MagickCore::LCHColorspace;
+ using MagickCore::LCHabColorspace;
+ using MagickCore::LCHuvColorspace;
using MagickCore::LogColorspace;
+ using MagickCore::LMSColorspace;
+ using MagickCore::LuvColorspace;
using MagickCore::OHTAColorspace;
- using MagickCore::Rec601LumaColorspace;
- using MagickCore::Rec709LumaColorspace;
+ using MagickCore::Rec601YCbCrColorspace;
+ using MagickCore::Rec709YCbCrColorspace;
using MagickCore::RGBColorspace;
+ using MagickCore::scRGBColorspace;
using MagickCore::sRGBColorspace;
using MagickCore::TransparentColorspace;
- using MagickCore::UndefinedColorspace;
using MagickCore::XYZColorspace;
using MagickCore::YCbCrColorspace;
using MagickCore::YCCColorspace;
+ using MagickCore::YDbDrColorspace;
using MagickCore::YIQColorspace;
using MagickCore::YPbPrColorspace;
using MagickCore::YUVColorspace;
using MagickCore::AllCompliance;
// Composition operations
+ using MagickCore::CompositeOperator;
using MagickCore::AtopCompositeOp;
using MagickCore::BlendCompositeOp;
using MagickCore::BumpmapCompositeOp;
using MagickCore::ClearCompositeOp;
using MagickCore::ColorizeCompositeOp;
- using MagickCore::CompositeOperator;
using MagickCore::CopyBlueCompositeOp;
using MagickCore::CopyCompositeOp;
using MagickCore::CopyCyanCompositeOp;
using MagickCore::ShepardsDistortion;
using MagickCore::SentinelDistortion;
+ // Dither methods
+ using MagickCore::DitherMethod;
+ using MagickCore::UndefinedDitherMethod;
+ using MagickCore::NoDitherMethod;
+ using MagickCore::RiemersmaDitherMethod;
+ using MagickCore::FloydSteinbergDitherMethod;
+
// Endian options
using MagickCore::EndianType;
using MagickCore::UndefinedEndian;
using MagickCore::MSBEndian;
// Evaluate options
+ using MagickCore::MagickEvaluateOperator;
using MagickCore::UndefinedEvaluateOperator;
using MagickCore::AddEvaluateOperator;
using MagickCore::AndEvaluateOperator;
using MagickCore::SetEvaluateOperator;
using MagickCore::SubtractEvaluateOperator;
using MagickCore::XorEvaluateOperator;
- using MagickCore::MagickEvaluateOperator;
// Fill rules
using MagickCore::FillRule;
using MagickCore::SouthWestGravity;
using MagickCore::SouthGravity;
using MagickCore::SouthEastGravity;
- using MagickCore::StaticGravity;
// Image types
using MagickCore::ImageType;
using MagickCore::PartitionInterlace;
// Layer method
+ using MagickCore::LayerMethod;
+ using MagickCore::UndefinedLayer;
+ using MagickCore::CoalesceLayer;
+ using MagickCore::CompareAnyLayer;
+ using MagickCore::CompareClearLayer;
+ using MagickCore::CompareOverlayLayer;
+ using MagickCore::DisposeLayer;
+ using MagickCore::OptimizeLayer;
+ using MagickCore::OptimizeImageLayer;
+ using MagickCore::OptimizePlusLayer;
+ using MagickCore::OptimizeTransLayer;
+ using MagickCore::RemoveDupsLayer;
+ using MagickCore::RemoveZeroLayer;
+ using MagickCore::CompositeLayer;
+ using MagickCore::MergeLayer;
using MagickCore::FlattenLayer;
using MagickCore::MosaicLayer;
+ using MagickCore::TrimBoundsLayer;
// Line cap types
using MagickCore::LineCap;
using MagickCore::FillToBorderMethod;
using MagickCore::ResetMethod;
+ // PixelInterpolate methods
+ using MagickCore::PixelInterpolateMethod;
+ using MagickCore::UndefinedInterpolatePixel;
+ using MagickCore::AverageInterpolatePixel;
+ using MagickCore::Average9InterpolatePixel;
+ using MagickCore::Average16InterpolatePixel;
+ using MagickCore::BackgroundInterpolatePixel;
+ using MagickCore::BilinearInterpolatePixel;
+ using MagickCore::BlendInterpolatePixel;
+ using MagickCore::CatromInterpolatePixel;
+ using MagickCore::IntegerInterpolatePixel;
+ using MagickCore::MeshInterpolatePixel;
+ using MagickCore::NearestInterpolatePixel;
+ using MagickCore::SplineInterpolatePixel;
+
+ // Pixel traits
+ using MagickCore::UndefinedPixelTrait;
+ using MagickCore::BlendPixelTrait;
+
// Preview types. Not currently used by Magick++
using MagickCore::PreviewType;
using MagickCore::UndefinedPreview;
//
// ImageMagick symbols used in implementation code
//
- using MagickCore::AcquireCacheView;
+ using MagickCore::AcquireAlignedMemory;
+ using MagickCore::AcquireAuthenticCacheView;
using MagickCore::AcquireExceptionInfo;
+ using MagickCore::AcquireVirtualCacheView;
using MagickCore::GetCacheViewVirtualPixels;
using MagickCore::AcquireImage;
+ using MagickCore::AreaValue;
using MagickCore::GetVirtualPixels;
using MagickCore::AcquireKernelInfo;
using MagickCore::AcquireMagickMemory;
using MagickCore::AcquireString;
using MagickCore::AcquireStringInfo;
using MagickCore::AdaptiveBlurImage;
+ using MagickCore::AdaptiveResizeImage;
+ using MagickCore::AdaptiveSharpenImage;
using MagickCore::AdaptiveThresholdImage;
using MagickCore::AddNoiseImage;
- using MagickCore::AddNoiseImage;
using MagickCore::AffineMatrix;
using MagickCore::AffineTransformImage;
using MagickCore::AnnotateImage;
using MagickCore::BlobToImage;
using MagickCore::BlobWarning;
using MagickCore::BlurImage;
- using MagickCore::BlurImage;
using MagickCore::BorderImage;
using MagickCore::CacheError;
using MagickCore::CacheFatalError;
using MagickCore::EnhanceImage;
using MagickCore::EqualizeImage;
using MagickCore::EvaluateImage;
- using MagickCore::EvaluateImage;
using MagickCore::ExceptionInfo;
using MagickCore::ExceptionType;
using MagickCore::ExportImagePixels;
using MagickCore::FrameInfo;
using MagickCore::FxImage;
using MagickCore::GammaImage;
- using MagickCore::GammaImage;
using MagickCore::GaussianBlurImage;
using MagickCore::GaussianBlurImage;
using MagickCore::GetAffineMatrix;
using MagickCore::ImageInfo;
using MagickCore::ImageRegistryType;
using MagickCore::ImageToBlob;
+ using MagickCore::ImagesToBlob;
using MagickCore::ImageWarning;
using MagickCore::ImplodeImage;
using MagickCore::ImportQuantumPixels;
using MagickCore::KernelInfo;
using MagickCore::LessValue;
using MagickCore::LevelImage;
- using MagickCore::LevelImage;
using MagickCore::LocaleCompare;
using MagickCore::LogMagickEvent;
using MagickCore::MagickCoreTerminus;
using MagickCore::MagnifyImage;
using MagickCore::MergeImageLayers;
using MagickCore::MinifyImage;
+ using MagickCore::MinimumValue;
using MagickCore::MissingDelegateError;
using MagickCore::MissingDelegateFatalError;
using MagickCore::MissingDelegateWarning;
using MagickCore::SetMagickInfo;
using MagickCore::SetMagickResourceLimit;
using MagickCore::SetImageVirtualPixelMethod;
- using MagickCore::SetPixelChannelMap;
- using MagickCore::SetPixelChannelMask;
+ using MagickCore::SetPixelChannel;
+ using MagickCore::SetImageChannelMask;
using MagickCore::SetStringInfoDatum;
using MagickCore::ShadeImage;
using MagickCore::ShadowImage;
using MagickCore::UndefinedRegistryType;
using MagickCore::UnregisterMagickInfo;
using MagickCore::UnsharpMaskImage;
- using MagickCore::UnsharpMaskImage;
using MagickCore::CacheView;
using MagickCore::WaveImage;
using MagickCore::WidthValue;