00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_COLOR_H
00019 #define MAGICKCORE_COLOR_H
00020
00021 #include "MagickCore/pixel.h"
00022 #include "MagickCore/exception.h"
00023
00024 #if defined(__cplusplus) || defined(c_plusplus)
00025 extern "C" {
00026 #endif
00027
00028 typedef enum
00029 {
00030 UndefinedCompliance,
00031 NoCompliance = 0x0000,
00032 CSSCompliance = 0x0001,
00033 SVGCompliance = 0x0001,
00034 X11Compliance = 0x0002,
00035 XPMCompliance = 0x0004,
00036 MVGCompliance = 0x0008,
00037 AllCompliance = 0x7fffffff
00038 } ComplianceType;
00039
00040 typedef struct _ColorInfo
00041 {
00042 char
00043 *path,
00044 *name;
00045
00046 ComplianceType
00047 compliance;
00048
00049 PixelInfo
00050 color;
00051
00052 MagickBooleanType
00053 exempt,
00054 stealth;
00055
00056 size_t
00057 signature;
00058 } ColorInfo;
00059
00060 typedef struct _ErrorInfo
00061 {
00062 double
00063 mean_error_per_pixel,
00064 normalized_mean_error,
00065 normalized_maximum_error;
00066 } ErrorInfo;
00067
00068 extern MagickExport char
00069 **GetColorList(const char *,size_t *,ExceptionInfo *);
00070
00071 extern MagickExport const ColorInfo
00072 *GetColorInfo(const char *,ExceptionInfo *),
00073 **GetColorInfoList(const char *,size_t *,ExceptionInfo *);
00074
00075 extern MagickExport MagickBooleanType
00076 IsEquivalentImage(const Image *,const Image *,ssize_t *x,ssize_t *y,
00077 ExceptionInfo *),
00078 ListColorInfo(FILE *,ExceptionInfo *),
00079 QueryColorCompliance(const char *,const ComplianceType,PixelInfo *,
00080 ExceptionInfo *),
00081 QueryColorname(const Image *,const PixelInfo *,const ComplianceType,
00082 char *,ExceptionInfo *);
00083
00084 extern MagickExport void
00085 ConcatenateColorComponent(const PixelInfo *,const PixelChannel,
00086 const ComplianceType,char *),
00087 GetColorTuple(const PixelInfo *,const MagickBooleanType,char *);
00088
00089 #if defined(__cplusplus) || defined(c_plusplus)
00090 }
00091 #endif
00092
00093 #endif