1 module dmagick.c.color; 2 3 import core.stdc.stdio; 4 5 import dmagick.c.exception; 6 import dmagick.c.image; 7 import dmagick.c.magickType; 8 import dmagick.c.magickVersion; 9 import dmagick.c.pixel; 10 11 alias ptrdiff_t ssize_t; 12 13 extern(C) 14 { 15 enum ComplianceType 16 { 17 UndefinedCompliance, 18 NoCompliance = 0x0000, 19 CSSCompliance = 0x0001, 20 SVGCompliance = 0x0001, 21 X11Compliance = 0x0002, 22 XPMCompliance = 0x0004, 23 MVGCompliance = 0x0008, 24 AllCompliance = 0x7fffffff 25 } 26 27 struct ColorInfo 28 { 29 char* 30 path, 31 name; 32 33 ComplianceType 34 compliance; 35 36 MagickPixelPacket 37 color; 38 39 MagickBooleanType 40 exempt, 41 stealth; 42 43 ColorInfo* 44 previous, 45 next; 46 47 size_t 48 signature; 49 } 50 51 struct ErrorInfo 52 { 53 double 54 mean_error_per_pixel, 55 normalized_mean_error, 56 normalized_maximum_error; 57 } 58 59 char** GetColorList(const(char)*, size_t*, ExceptionInfo*); 60 61 const(ColorInfo)* GetColorInfo(const(char)*, ExceptionInfo*); 62 const(ColorInfo)** GetColorInfoList(const(char)*, size_t*, ExceptionInfo*); 63 64 MagickBooleanType ColorComponentGenesis(); 65 MagickBooleanType IsColorSimilar(const(Image)*, const(PixelPacket)*, const(PixelPacket)*); 66 MagickBooleanType IsGrayImage(const(Image)*, ExceptionInfo*); 67 MagickBooleanType IsImageSimilar(const(Image)*, const(Image)*, ssize_t* x,ssize_t* y, ExceptionInfo*); 68 MagickBooleanType IsMagickColorSimilar(const(MagickPixelPacket)*, const(MagickPixelPacket)*); 69 MagickBooleanType IsMonochromeImage(const(Image)*, ExceptionInfo*); 70 MagickBooleanType IsOpacitySimilar(const(Image)*, const(PixelPacket)*, const(PixelPacket)*); 71 MagickBooleanType IsOpaqueImage(const(Image)*, ExceptionInfo*); 72 MagickBooleanType ListColorInfo(FILE*, ExceptionInfo*); 73 74 static if ( MagickLibVersion >= 0x664 ) 75 { 76 MagickBooleanType QueryColorCompliance(const(char)*, const ComplianceType, PixelPacket*, ExceptionInfo*); 77 } 78 79 MagickBooleanType QueryColorDatabase(const(char)*, PixelPacket*, ExceptionInfo*); 80 MagickBooleanType QueryColorname(const(Image)*, const(PixelPacket)*, const ComplianceType, char*, ExceptionInfo*); 81 82 static if ( MagickLibVersion >= 0x664 ) 83 { 84 MagickBooleanType QueryMagickColorCompliance(const(char)*, const ComplianceType, MagickPixelPacket*, ExceptionInfo*); 85 } 86 87 MagickBooleanType QueryMagickColor(const(char)*, MagickPixelPacket*, ExceptionInfo*); 88 MagickBooleanType QueryMagickColorname(const(Image)*, const(MagickPixelPacket)*, const ComplianceType, char*, ExceptionInfo*); 89 90 void ColorComponentTerminus(); 91 void ConcatenateColorComponent(const(MagickPixelPacket)*, const ChannelType, const ComplianceType, char*); 92 void GetColorTuple(const(MagickPixelPacket)*, const MagickBooleanType, char*); 93 }