| /* |
| Copyright 1999-2011 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. |
| obtain a copy of the License at |
| |
| http://www.imagemagick.org/script/license.php |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| MagickCore image methods. |
| */ |
| #ifndef _MAGICKCORE_IMAGE_H |
| #define _MAGICKCORE_IMAGE_H |
| |
| #if defined(__cplusplus) || defined(c_plusplus) |
| extern "C" { |
| #endif |
| |
| #include <magick/color.h> |
| |
| #define OpaqueOpacity ((Quantum) 0UL) |
| #define TransparentOpacity ((Quantum) QuantumRange) |
| |
| typedef enum |
| { |
| UndefinedAlphaChannel, |
| ActivateAlphaChannel, |
| BackgroundAlphaChannel, |
| CopyAlphaChannel, |
| DeactivateAlphaChannel, |
| ExtractAlphaChannel, |
| OpaqueAlphaChannel, |
| ResetAlphaChannel, /* deprecated */ |
| SetAlphaChannel, |
| ShapeAlphaChannel, |
| TransparentAlphaChannel |
| } AlphaChannelType; |
| |
| typedef enum |
| { |
| UndefinedType, |
| BilevelType, |
| GrayscaleType, |
| GrayscaleMatteType, |
| PaletteType, |
| PaletteMatteType, |
| TrueColorType, |
| TrueColorMatteType, |
| ColorSeparationType, |
| ColorSeparationMatteType, |
| OptimizeType, |
| PaletteBilevelMatteType |
| } ImageType; |
| |
| typedef enum |
| { |
| UndefinedInterlace, |
| NoInterlace, |
| LineInterlace, |
| PlaneInterlace, |
| PartitionInterlace, |
| GIFInterlace, |
| JPEGInterlace, |
| PNGInterlace |
| } InterlaceType; |
| |
| typedef enum |
| { |
| UndefinedOrientation, |
| TopLeftOrientation, |
| TopRightOrientation, |
| BottomRightOrientation, |
| BottomLeftOrientation, |
| LeftTopOrientation, |
| RightTopOrientation, |
| RightBottomOrientation, |
| LeftBottomOrientation |
| } OrientationType; |
| |
| typedef enum |
| { |
| UndefinedResolution, |
| PixelsPerInchResolution, |
| PixelsPerCentimeterResolution |
| } ResolutionType; |
| |
| typedef struct _PrimaryInfo |
| { |
| double |
| x, |
| y, |
| z; |
| } PrimaryInfo; |
| |
| typedef struct _SegmentInfo |
| { |
| double |
| x1, |
| y1, |
| x2, |
| y2; |
| } SegmentInfo; |
| |
| typedef enum |
| { |
| UndefinedTransmitType, |
| FileTransmitType, |
| BlobTransmitType, |
| StreamTransmitType, |
| ImageTransmitType |
| } TransmitType; |
| |
| typedef struct _ChromaticityInfo |
| { |
| PrimaryInfo |
| red_primary, |
| green_primary, |
| blue_primary, |
| white_point; |
| } ChromaticityInfo; |
| |
| #include "magick/blob.h" |
| #include "magick/colorspace.h" |
| #include "magick/cache-view.h" |
| #include "magick/color.h" |
| #include "magick/composite.h" |
| #include "magick/compress.h" |
| #include "magick/effect.h" |
| #include "magick/geometry.h" |
| #include "magick/layer.h" |
| #include "magick/monitor.h" |
| #include "magick/pixel.h" |
| #include "magick/profile.h" |
| #include "magick/quantum.h" |
| #include "magick/resample.h" |
| #include "magick/resize.h" |
| #include "magick/semaphore.h" |
| #include "magick/stream.h" |
| #include "magick/timer.h" |
| |
| struct _Image |
| { |
| ClassType |
| storage_class; |
| |
| ColorspaceType |
| colorspace; |
| |
| CompressionType |
| compression; |
| |
| size_t |
| quality; |
| |
| OrientationType |
| orientation; |
| |
| MagickBooleanType |
| taint, |
| matte; |
| |
| size_t |
| columns, |
| rows, |
| depth, |
| colors; |
| |
| PixelPacket |
| *colormap, |
| background_color, |
| border_color, |
| matte_color; |
| |
| double |
| gamma; |
| |
| ChromaticityInfo |
| chromaticity; |
| |
| RenderingIntent |
| rendering_intent; |
| |
| void |
| *profiles; |
| |
| ResolutionType |
| units; |
| |
| char |
| *montage, |
| *directory, |
| *geometry; |
| |
| ssize_t |
| offset; |
| |
| double |
| x_resolution, |
| y_resolution; |
| |
| RectangleInfo |
| page, |
| extract_info, |
| tile_info; /* deprecated */ |
| |
| double |
| bias, |
| blur, /* deprecated */ |
| fuzz; |
| |
| FilterTypes |
| filter; |
| |
| InterlaceType |
| interlace; |
| |
| EndianType |
| endian; |
| |
| GravityType |
| gravity; |
| |
| CompositeOperator |
| compose; |
| |
| DisposeType |
| dispose; |
| |
| struct _Image |
| *clip_mask; |
| |
| size_t |
| scene, |
| delay; |
| |
| ssize_t |
| ticks_per_second; |
| |
| size_t |
| iterations, |
| total_colors; |
| |
| ssize_t |
| start_loop; |
| |
| ErrorInfo |
| error; |
| |
| TimerInfo |
| timer; |
| |
| MagickProgressMonitor |
| progress_monitor; |
| |
| void |
| *client_data, |
| *cache, |
| *attributes; /* deprecated */ |
| |
| Ascii85Info |
| *ascii85; |
| |
| BlobInfo |
| *blob; |
| |
| char |
| filename[MaxTextExtent], |
| magick_filename[MaxTextExtent], |
| magick[MaxTextExtent]; |
| |
| size_t |
| magick_columns, |
| magick_rows; |
| |
| ExceptionInfo |
| exception; |
| |
| MagickBooleanType |
| debug; |
| |
| volatile ssize_t |
| reference_count; |
| |
| SemaphoreInfo |
| *semaphore; |
| |
| ProfileInfo |
| color_profile, |
| iptc_profile, |
| *generic_profile; |
| |
| size_t |
| generic_profiles; /* this & ProfileInfo is deprecated */ |
| |
| size_t |
| signature; |
| |
| struct _Image |
| *previous, |
| *list, |
| *next; |
| |
| InterpolatePixelMethod |
| interpolate; |
| |
| MagickBooleanType |
| black_point_compensation; |
| |
| PixelPacket |
| transparent_color; |
| |
| struct _Image |
| *mask; |
| |
| RectangleInfo |
| tile_offset; |
| |
| void |
| *properties, |
| *artifacts; |
| |
| ImageType |
| type; |
| |
| MagickBooleanType |
| dither; |
| |
| MagickSizeType |
| extent; |
| |
| MagickBooleanType |
| ping; |
| }; |
| |
| struct _ImageInfo |
| { |
| CompressionType |
| compression; |
| |
| OrientationType |
| orientation; |
| |
| MagickBooleanType |
| temporary, |
| adjoin, |
| affirm, |
| antialias; |
| |
| char |
| *size, |
| *extract, |
| *page, |
| *scenes; |
| |
| size_t |
| scene, |
| number_scenes, |
| depth; |
| |
| InterlaceType |
| interlace; |
| |
| EndianType |
| endian; |
| |
| ResolutionType |
| units; |
| |
| size_t |
| quality; |
| |
| char |
| *sampling_factor, |
| *server_name, |
| *font, |
| *texture, |
| *density; |
| |
| double |
| pointsize, |
| fuzz; |
| |
| PixelPacket |
| background_color, |
| border_color, |
| matte_color; |
| |
| MagickBooleanType |
| dither, |
| monochrome; |
| |
| size_t |
| colors; |
| |
| ColorspaceType |
| colorspace; |
| |
| ImageType |
| type; |
| |
| PreviewType |
| preview_type; |
| |
| ssize_t |
| group; |
| |
| MagickBooleanType |
| ping, |
| verbose; |
| |
| char |
| *view, |
| *authenticate; |
| |
| ChannelType |
| channel; |
| |
| Image |
| *attributes; /* deprecated */ |
| |
| void |
| *options; |
| |
| MagickProgressMonitor |
| progress_monitor; |
| |
| void |
| *client_data, |
| *cache; |
| |
| StreamHandler |
| stream; |
| |
| FILE |
| *file; |
| |
| void |
| *blob; |
| |
| size_t |
| length; |
| |
| char |
| magick[MaxTextExtent], |
| unique[MaxTextExtent], |
| zero[MaxTextExtent], |
| filename[MaxTextExtent]; |
| |
| MagickBooleanType |
| debug; |
| |
| char |
| *tile; /* deprecated */ |
| |
| size_t |
| subimage, /* deprecated */ |
| subrange; /* deprecated */ |
| |
| PixelPacket |
| pen; /* deprecated */ |
| |
| size_t |
| signature; |
| |
| VirtualPixelMethod |
| virtual_pixel_method; |
| |
| PixelPacket |
| transparent_color; |
| |
| void |
| *profile; |
| |
| MagickBooleanType |
| synchronize; |
| }; |
| |
| extern MagickExport ExceptionType |
| CatchImageException(Image *); |
| |
| extern MagickExport FILE |
| *GetImageInfoFile(const ImageInfo *); |
| |
| extern MagickExport Image |
| *AcquireImage(const ImageInfo *), |
| *AppendImages(const Image *,const MagickBooleanType,ExceptionInfo *), |
| *CloneImage(const Image *,const size_t,const size_t,const MagickBooleanType, |
| ExceptionInfo *), |
| *CombineImages(const Image *,const ChannelType,ExceptionInfo *), |
| *DestroyImage(Image *), |
| *GetImageClipMask(const Image *,ExceptionInfo *), |
| *GetImageMask(const Image *,ExceptionInfo *), |
| *NewMagickImage(const ImageInfo *,const size_t,const size_t, |
| const MagickPixelPacket *), |
| *ReferenceImage(Image *), |
| *SeparateImages(const Image *,const ChannelType,ExceptionInfo *), |
| *SmushImages(const Image *,const MagickBooleanType,const ssize_t, |
| ExceptionInfo *); |
| |
| extern MagickExport ImageInfo |
| *AcquireImageInfo(void), |
| *CloneImageInfo(const ImageInfo *), |
| *DestroyImageInfo(ImageInfo *); |
| |
| extern MagickExport MagickBooleanType |
| ClipImage(Image *), |
| ClipImagePath(Image *,const char *,const MagickBooleanType), |
| GetImageAlphaChannel(const Image *), |
| IsTaintImage(const Image *), |
| IsMagickConflict(const char *), |
| IsHighDynamicRangeImage(const Image *,ExceptionInfo *), |
| IsImageObject(const Image *), |
| ListMagickInfo(FILE *,ExceptionInfo *), |
| ModifyImage(Image **,ExceptionInfo *), |
| ResetImagePage(Image *,const char *), |
| SeparateImageChannel(Image *,const ChannelType), |
| SetImageAlphaChannel(Image *,const AlphaChannelType), |
| SetImageBackgroundColor(Image *), |
| SetImageClipMask(Image *,const Image *), |
| SetImageColor(Image *,const MagickPixelPacket *), |
| SetImageExtent(Image *,const size_t,const size_t), |
| SetImageInfo(ImageInfo *,const unsigned int,ExceptionInfo *), |
| SetImageMask(Image *,const Image *), |
| SetImageOpacity(Image *,const Quantum), |
| SetImageStorageClass(Image *,const ClassType), |
| SetImageType(Image *,const ImageType), |
| StripImage(Image *), |
| SyncImage(Image *), |
| SyncImageSettings(const ImageInfo *,Image *), |
| SyncImagesSettings(ImageInfo *,Image *); |
| |
| extern MagickExport size_t |
| InterpretImageFilename(const ImageInfo *,Image *,const char *,int,char *); |
| |
| extern MagickExport ssize_t |
| GetImageReferenceCount(Image *); |
| |
| extern MagickExport VirtualPixelMethod |
| GetImageVirtualPixelMethod(const Image *), |
| SetImageVirtualPixelMethod(const Image *,const VirtualPixelMethod); |
| |
| extern MagickExport void |
| AcquireNextImage(const ImageInfo *,Image *), |
| DestroyImagePixels(Image *), |
| DisassociateImageStream(Image *), |
| GetImageException(Image *,ExceptionInfo *), |
| GetImageInfo(ImageInfo *), |
| SetImageInfoBlob(ImageInfo *,const void *,const size_t), |
| SetImageInfoFile(ImageInfo *,FILE *); |
| |
| #if defined(__cplusplus) || defined(c_plusplus) |
| } |
| #endif |
| |
| #endif |