]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/image.h
sigmoidal-contrast: prevent argument out of range and remove unnecessary ClampToQuantum
[imagemagick] / MagickCore / image.h
index 5fdd1bcadc9ba850ba4ad99789eab2124a93ad58..b5a058d589574344c8b4cbb764bbad578a0e4f07 100644 (file)
@@ -23,9 +23,10 @@ extern "C" {
 #endif
 
 #include <MagickCore/color.h>
+#include <MagickCore/pixel.h>
 
 #define OpaqueAlpha  ((Quantum) QuantumRange)
-#define TransparentAlpha  ((Quantum) 0UL)
+#define TransparentAlpha  ((Quantum) 0)
 
 typedef enum
 {
@@ -36,11 +37,11 @@ typedef enum
   DeactivateAlphaChannel,
   ExtractAlphaChannel,
   OpaqueAlphaChannel,
+  RemoveAlphaChannel,
   SetAlphaChannel,
   ShapeAlphaChannel,
-  TransparentAlphaChannel,
-  FlattenAlphaChannel
-} AlphaChannelType;
+  TransparentAlphaChannel
+} AlphaChannelOption;
 
 typedef enum
 {
@@ -163,8 +164,7 @@ struct _Image
     orientation;        /* photo orientation of image */
 
   MagickBooleanType
-    taint,              /* has image been modified since reading */
-    matte;              /* is transparency channel defined and active */
+    taint;              /* has image been modified since reading */
 
   size_t
     columns,            /* physical size of image */
@@ -201,7 +201,7 @@ struct _Image
     *geometry;
 
   ssize_t
-    offset;
+    offset;         /* ??? */
 
   PointInfo
     resolution;     /* image resolution/density */
@@ -211,8 +211,6 @@ struct _Image
     extract_info;
 
   double
-    bias,           /* FUTURE: depreciated -- convolve bias */
-    blur,           /* FUTURE: depreciated -- resize file blur */
     fuzz;           /* current color fuzz attribute - make image_info */
 
   FilterTypes
@@ -241,11 +239,11 @@ struct _Image
     ticks_per_second;  /* units for delay time, default 100 for GIF */
 
   size_t
-    iterations,
+    iterations,        /* ??? */
     total_colors;
 
   ssize_t
-    start_loop;
+    start_loop;        /* ??? */
 
   PixelInterpolateMethod
     interpolate;       /* Interpolation of color for between pixel lookups */
@@ -270,10 +268,13 @@ struct _Image
     extent;            /* Size of image read from disk */
 
   MagickBooleanType
-    ping;
+    ping;              /* no image data read, just attributes */
 
   MagickBooleanType
-    masky;
+    mask;
+
+  PixelTrait
+    alpha_trait;       /* is transparency channel defined and active */
 
   size_t
     number_channels,
@@ -313,7 +314,7 @@ struct _Image
     magick[MaxTextExtent];          /* images file format (file magic) */
 
   size_t
-    magick_columns,
+    magick_columns,     /* size of image when read/created */
     magick_rows;
 
   BlobInfo
@@ -328,9 +329,10 @@ struct _Image
   SemaphoreInfo
     *semaphore;
 
+
   struct _Image
-    *previous,         /* Image sequence list links */
-    *list,
+    *list,             /* Undo/Redo image processing list (for display) */
+    *previous,         /* Image list links */
     *next;
 
   size_t
@@ -346,7 +348,7 @@ struct _ImageInfo
     orientation;        /* orientation setting */
 
   MagickBooleanType
-    temporary,
+    temporary,          /* image file to be deleted after read "empemeral:" */
     adjoin,             /* save images to seperate scene files */
     affirm,
     antialias;
@@ -463,6 +465,9 @@ struct _ImageInfo
     signature;
 };
 
+extern MagickExport ChannelType
+  SetImageChannelMask(Image *,const ChannelType);
+
 extern MagickExport const char
   DefaultTileGeometry[],
   DefaultTileLabel[],
@@ -487,15 +492,12 @@ extern MagickExport Image
   *AppendImages(const Image *,const MagickBooleanType,ExceptionInfo *),
   *CloneImage(const Image *,const size_t,const size_t,const MagickBooleanType,
     ExceptionInfo *),
-  *CombineImages(const Image *,ExceptionInfo *),
   *DestroyImage(Image *),
   *GetImageClipMask(const Image *,ExceptionInfo *),
   *GetImageMask(const Image *,ExceptionInfo *),
   *NewMagickImage(const ImageInfo *,const size_t,const size_t,const PixelInfo *,
     ExceptionInfo *),
   *ReferenceImage(Image *),
-  *SeparateImage(const Image *,const ChannelType,ExceptionInfo *),
-  *SeparateImages(const Image *,ExceptionInfo *),
   *SmushImages(const Image *,const MagickBooleanType,const ssize_t,
     ExceptionInfo *);
 
@@ -515,14 +517,13 @@ extern MagickExport MagickBooleanType
   ModifyImage(Image **,ExceptionInfo *),
   ResetImagePage(Image *,const char *),
   SetImageAlpha(Image *,const Quantum,ExceptionInfo *),
-  SetImageAlphaChannel(Image *,const AlphaChannelType,ExceptionInfo *),
+  SetImageAlphaChannel(Image *,const AlphaChannelOption,ExceptionInfo *),
   SetImageBackgroundColor(Image *,ExceptionInfo *),
   SetImageColor(Image *,const PixelInfo *,ExceptionInfo *),
   SetImageExtent(Image *,const size_t,const size_t,ExceptionInfo *),
   SetImageInfo(ImageInfo *,const unsigned int,ExceptionInfo *),
   SetImageMask(Image *,const Image *,ExceptionInfo *),
   SetImageStorageClass(Image *,const ClassType,ExceptionInfo *),
-  SetImageType(Image *,const ImageType,ExceptionInfo *),
   StripImage(Image *,ExceptionInfo *),
   SyncImage(Image *,ExceptionInfo *),
   SyncImageSettings(const ImageInfo *,Image *,ExceptionInfo *),
@@ -537,7 +538,7 @@ extern MagickExport ssize_t
 
 extern MagickExport VirtualPixelMethod
   GetImageVirtualPixelMethod(const Image *),
-  SetImageVirtualPixelMethod(const Image *,const VirtualPixelMethod);
+  SetImageVirtualPixelMethod(Image *,const VirtualPixelMethod,ExceptionInfo *);
 
 extern MagickExport void
   AcquireNextImage(const ImageInfo *,Image *,ExceptionInfo *),