]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/image.h
(no commit message)
[imagemagick] / MagickCore / image.h
index 23e1f897fe1aeb1e457230ec8b6c6798218191d7..1f48d78e746ef126a61daf62ae7e8a93f6c17618 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization
+  Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization
   dedicated to making software imaging solutions freely available.
 
   You may not use this file except in compliance with the License.
@@ -24,7 +24,7 @@ extern "C" {
 
 #include <MagickCore/color.h>
 
-#define OpaqueAlpha  ((Quantum) QuantumRange)
+#define OpaqueAlpha  (QuantumRange)
 #define TransparentAlpha  ((Quantum) 0UL)
 
 typedef enum
@@ -36,6 +36,7 @@ typedef enum
   DeactivateAlphaChannel,
   ExtractAlphaChannel,
   OpaqueAlphaChannel,
+  RemoveAlphaChannel,
   SetAlphaChannel,
   ShapeAlphaChannel,
   TransparentAlphaChannel
@@ -150,32 +151,34 @@ struct _Image
     storage_class;
 
   ColorspaceType
-    colorspace;      /* colorspace of image data */
+    colorspace;         /* colorspace of image data */
 
   CompressionType
-    compression;     /* compression of image when read/write */
+    compression;        /* compression of image when read/write */
 
   size_t
-    quality;         /* compression quality setting, meaning varies */
+    quality;            /* compression quality setting, meaning varies */
 
   OrientationType
-    orientation;     /* photo orientation of 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 */
+    matte;              /* is transparency channel defined and active */
 
   size_t
-    columns,         /* physical size of image */
+    columns,            /* physical size of image */
     rows,
-    depth,           /* depth of image on read/write */
-    colors;          /* size of color table on read */
+    depth,              /* depth of image on read/write */
+    colors;             /* Size of color table, or actual color count */
+                        /* Only valid if image is not DirectClass */
 
-  PixelPacket
+  PixelInfo
     *colormap,
-    background_color, /* current background color attribute */
-    border_color,     /* current bordercolor attribute */
-    matte_color;      /* current mattecolor attribute */
+    background_color,   /* current background color attribute */
+    border_color,       /* current bordercolor attribute */
+    matte_color,        /* current mattecolor attribute */
+    transparent_color;  /* color for 'transparent' color index in GIF */
 
   double
     gamma;
@@ -198,20 +201,17 @@ struct _Image
     *geometry;
 
   ssize_t
-    offset;
+    offset;         /* ??? */
 
-  double
-    x_resolution,   /* image resolution/density */
-    y_resolution;
+  PointInfo
+    resolution;     /* image resolution/density */
 
   RectangleInfo
     page,           /* virtual canvas size and offset of image */
     extract_info;
 
   double
-    bias,           /* depreciated ? */
-    blur,
-    fuzz;           /* current color fuzz attribute */
+    fuzz;           /* current color fuzz attribute - make image_info */
 
   FilterTypes
     filter;         /* resize/distort filter to apply */
@@ -231,9 +231,6 @@ struct _Image
   DisposeType
     dispose;        /* GIF animation disposal method */
 
-  struct _Image
-    *clip_mask;
-
   size_t
     scene,          /* index of image in multi-image file */
     delay;          /* Animation delay time */
@@ -242,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 */
@@ -254,12 +251,6 @@ struct _Image
   MagickBooleanType
     black_point_compensation;
 
-  PixelPacket
-    transparent_color; /* color for 'transparent' color index in GIF */
-
-  struct _Image
-    *mask;
-
   RectangleInfo
     tile_offset;
 
@@ -277,16 +268,16 @@ struct _Image
     extent;            /* Size of image read from disk */
 
   MagickBooleanType
-    ping;
+    ping;              /* no image data read, just attributes */
+
+  MagickBooleanType
+    mask;
 
   size_t
     number_channels,
     number_meta_channels,
     metacontent_extent;
 
-  MagickBooleanType
-    sync;
-
   ChannelType
     channel_mask;
 
@@ -312,8 +303,6 @@ struct _Image
     *ascii85;
 
   ProfileInfo
-    color_profile,
-    iptc_profile,
     *generic_profile;
 
   char
@@ -322,15 +311,12 @@ struct _Image
     magick[MaxTextExtent];          /* images file format (file magic) */
 
   size_t
-    magick_columns,
+    magick_columns,     /* size of image when read/created */
     magick_rows;
 
   BlobInfo
     *blob;             /* image file as in-memory string of 'extent' */
 
-  ExceptionInfo
-    exception;         /* Error handling report */
-
   MagickBooleanType
     debug;             /* debug output attribute */
 
@@ -340,9 +326,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
@@ -352,27 +339,27 @@ struct _Image
 struct _ImageInfo
 {
   CompressionType
-    compression;
+    compression;        /* compression method when reading/saving image */
 
   OrientationType
-    orientation;
+    orientation;        /* orientation setting */
 
   MagickBooleanType
-    temporary,
-    adjoin,
+    temporary,          /* image file to be deleted after read "empemeral:" */
+    adjoin,             /* save images to seperate scene files */
     affirm,
     antialias;
 
   char
-    *size,
-    *extract,
+    *size,              /* image generation size */
+    *extract,           /* crop/resize string on image read */
     *page,
-    *scenes;
+    *scenes;            /* scene numbers that is to be read in */
 
   size_t
-    scene,
-    number_scenes,
-    depth;
+    scene,              /* starting value for image save numbering */
+    number_scenes,      /* total number of images in list - for escapes */
+    depth;              /* current read/save depth of images */
 
   InterlaceType
     interlace;          /* interlace for image write */
@@ -389,29 +376,32 @@ struct _ImageInfo
   char
     *sampling_factor,   /* JPEG write sampling factor */
     *server_name,       /* X windows server name - display/animate */
-    *font,              /* draw_info */
+    *font,              /* DUP for draw_info */
     *texture,           /* montage/display background tile */
-    *density;
+    *density;           /* DUP for image and draw_info */
 
   double
     pointsize,
-    fuzz;
+    fuzz;               /* current color fuzz attribute */
 
-  PixelPacket
-    background_color,
-    border_color,
-    matte_color;
+  PixelInfo
+    background_color,   /* user set background color */
+    border_color,       /* user set border color */
+    matte_color,        /* matte (frame) color */
+    transparent_color;  /* color for transparent index in color tables */
+                        /* NB: fill color is only needed in draw_info! */
+                        /* the same for undercolor (for font drawing) */
 
   MagickBooleanType
-    dither,            /* dither enable-disable */
-    monochrome;        /* read/write pcl,pdf,ps,xps as monocrome image */
-
-  size_t
-    colors;            /* record the user requested color reduction! */
+    dither,             /* dither enable-disable */
+    monochrome;         /* read/write pcl,pdf,ps,xps as monocrome image */
 
   ColorspaceType
     colorspace;
 
+  CompositeOperator
+    compose;
+
   ImageType
     type;
 
@@ -427,7 +417,6 @@ struct _ImageInfo
 
   char
     *view;
-    /* authenticate -- moved to ImageOptions() */
 
   ChannelType
     channel;
@@ -435,12 +424,6 @@ struct _ImageInfo
   void
     *options;                /* splay tree of use options */
 
-  VirtualPixelMethod
-    virtual_pixel_method;
-
-  PixelPacket
-    transparent_color;
-
   void
     *profile;
 
@@ -503,14 +486,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 *),
+  *NewMagickImage(const ImageInfo *,const size_t,const size_t,const PixelInfo *,
+    ExceptionInfo *),
   *ReferenceImage(Image *),
-  *SeparateImages(const Image *,ExceptionInfo *),
   *SmushImages(const Image *,const MagickBooleanType,const ssize_t,
     ExceptionInfo *);
 
@@ -529,37 +510,34 @@ extern MagickExport MagickBooleanType
   ListMagickInfo(FILE *,ExceptionInfo *),
   ModifyImage(Image **,ExceptionInfo *),
   ResetImagePage(Image *,const char *),
-  SeparateImage(Image *),
-  SetImageAlpha(Image *,const Quantum),
+  SetImageAlpha(Image *,const Quantum,ExceptionInfo *),
   SetImageAlphaChannel(Image *,const AlphaChannelType,ExceptionInfo *),
-  SetImageBackgroundColor(Image *),
-  SetImageClipMask(Image *,const Image *,ExceptionInfo *),
-  SetImageColor(Image *,const PixelInfo *),
+  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 *),
-  SyncImage(Image *),
-  SyncImageSettings(const ImageInfo *,Image *),
-  SyncImagesSettings(ImageInfo *,Image *);
+  StripImage(Image *,ExceptionInfo *),
+  SyncImage(Image *,ExceptionInfo *),
+  SyncImageSettings(const ImageInfo *,Image *,ExceptionInfo *),
+  SyncImagesSettings(ImageInfo *,Image *,ExceptionInfo *);
 
 extern MagickExport size_t
-  InterpretImageFilename(const ImageInfo *,Image *,const char *,int,char *);
+  InterpretImageFilename(const ImageInfo *,Image *,const char *,int,char *,
+    ExceptionInfo *);
 
 extern MagickExport ssize_t
   GetImageReferenceCount(Image *);
 
 extern MagickExport VirtualPixelMethod
   GetImageVirtualPixelMethod(const Image *),
-  SetImageVirtualPixelMethod(const Image *,const VirtualPixelMethod);
+  SetImageVirtualPixelMethod(Image *,const VirtualPixelMethod,ExceptionInfo *);
 
 extern MagickExport void
   AcquireNextImage(const ImageInfo *,Image *,ExceptionInfo *),
   DestroyImagePixels(Image *),
   DisassociateImageStream(Image *),
-  GetImageException(Image *,ExceptionInfo *),
   GetImageInfo(ImageInfo *),
   SetImageInfoBlob(ImageInfo *,const void *,const size_t),
   SetImageInfoFile(ImageInfo *,FILE *);