]> granicus.if.org Git - imagemagick/blobdiff - Magick++/lib/Magick++/Include.h
Added alphaChannel to Magick++.
[imagemagick] / Magick++ / lib / Magick++ / Include.h
index a6b9a75cf188279d4c85f38e2d3b5d4a60e488d5..1a8e08af495b71de00b7ffd42e28f175cab9440f 100644 (file)
 #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 */
@@ -108,6 +106,100 @@ namespace MagickCore
 #    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
@@ -139,6 +231,20 @@ namespace Magick
   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;
@@ -161,22 +267,36 @@ namespace Magick
   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;
@@ -185,12 +305,12 @@ namespace Magick
   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;
@@ -263,6 +383,13 @@ namespace Magick
   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;
@@ -270,6 +397,7 @@ namespace Magick
   using MagickCore::MSBEndian;
 
   // Evaluate options
+  using MagickCore::MagickEvaluateOperator;
   using MagickCore::UndefinedEvaluateOperator;
   using MagickCore::AddEvaluateOperator;
   using MagickCore::AndEvaluateOperator;
@@ -283,7 +411,6 @@ namespace Magick
   using MagickCore::SetEvaluateOperator;
   using MagickCore::SubtractEvaluateOperator;
   using MagickCore::XorEvaluateOperator;
-  using MagickCore::MagickEvaluateOperator;
 
   // Fill rules
   using MagickCore::FillRule;
@@ -334,7 +461,6 @@ namespace Magick
   using MagickCore::SouthWestGravity;
   using MagickCore::SouthGravity;
   using MagickCore::SouthEastGravity;
-  using MagickCore::StaticGravity;
 
   // Image types
   using MagickCore::ImageType;
@@ -359,8 +485,24 @@ namespace Magick
   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;
@@ -405,6 +547,25 @@ namespace Magick
   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;
@@ -549,10 +710,13 @@ namespace Magick
   //
   // 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;
@@ -560,9 +724,10 @@ namespace Magick
   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;
@@ -575,7 +740,6 @@ namespace Magick
   using MagickCore::BlobToImage;
   using MagickCore::BlobWarning;
   using MagickCore::BlurImage;
-  using MagickCore::BlurImage;
   using MagickCore::BorderImage;
   using MagickCore::CacheError;
   using MagickCore::CacheFatalError;
@@ -719,7 +883,6 @@ namespace Magick
   using MagickCore::EnhanceImage;
   using MagickCore::EqualizeImage;
   using MagickCore::EvaluateImage;
-  using MagickCore::EvaluateImage;
   using MagickCore::ExceptionInfo;
   using MagickCore::ExceptionType;
   using MagickCore::ExportImagePixels;
@@ -737,7 +900,6 @@ namespace Magick
   using MagickCore::FrameInfo;
   using MagickCore::FxImage;
   using MagickCore::GammaImage;
-  using MagickCore::GammaImage;
   using MagickCore::GaussianBlurImage;
   using MagickCore::GaussianBlurImage;
   using MagickCore::GetAffineMatrix;
@@ -787,6 +949,7 @@ namespace Magick
   using MagickCore::ImageInfo;
   using MagickCore::ImageRegistryType;
   using MagickCore::ImageToBlob;
+  using MagickCore::ImagesToBlob;
   using MagickCore::ImageWarning;
   using MagickCore::ImplodeImage;
   using MagickCore::ImportQuantumPixels;
@@ -798,7 +961,6 @@ namespace Magick
   using MagickCore::KernelInfo;
   using MagickCore::LessValue;
   using MagickCore::LevelImage;
-  using MagickCore::LevelImage;
   using MagickCore::LocaleCompare;
   using MagickCore::LogMagickEvent;
   using MagickCore::MagickCoreTerminus;
@@ -809,6 +971,7 @@ namespace Magick
   using MagickCore::MagnifyImage;
   using MagickCore::MergeImageLayers;
   using MagickCore::MinifyImage;
+  using MagickCore::MinimumValue;
   using MagickCore::MissingDelegateError;
   using MagickCore::MissingDelegateFatalError;
   using MagickCore::MissingDelegateWarning;
@@ -888,8 +1051,8 @@ namespace Magick
   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;
@@ -929,7 +1092,6 @@ namespace Magick
   using MagickCore::UndefinedRegistryType;
   using MagickCore::UnregisterMagickInfo;
   using MagickCore::UnsharpMaskImage;
-  using MagickCore::UnsharpMaskImage;
   using MagickCore::CacheView;
   using MagickCore::WaveImage;
   using MagickCore::WidthValue;