1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
module dmagick.c.quantum;
import dmagick.c.cacheView;
import dmagick.c.exception;
import dmagick.c.image;
import dmagick.c.magickType;
extern(C)
{
enum EndianType
{
UndefinedEndian,
LSBEndian,
MSBEndian
}
enum QuantumAlphaType
{
UndefinedQuantumAlpha,
AssociatedQuantumAlpha,
DisassociatedQuantumAlpha
}
enum QuantumFormatType
{
UndefinedQuantumFormat,
FloatingPointQuantumFormat,
SignedQuantumFormat,
UnsignedQuantumFormat
}
enum QuantumType
{
UndefinedQuantum,
AlphaQuantum,
BlackQuantum,
BlueQuantum,
CMYKAQuantum,
CMYKQuantum,
CyanQuantum,
GrayAlphaQuantum,
GrayQuantum,
GreenQuantum,
IndexAlphaQuantum,
IndexQuantum,
MagentaQuantum,
OpacityQuantum,
RedQuantum,
RGBAQuantum,
BGRAQuantum,
RGBOQuantum,
RGBQuantum,
YellowQuantum,
GrayPadQuantum,
RGBPadQuantum,
CbYCrYQuantum,
CbYCrQuantum,
CbYCrAQuantum,
CMYKOQuantum,
BGRQuantum,
BGROQuantum
}
struct QuantumInfo {}
alias ClampToQuantum RoundToQuantum;
static pure nothrow Quantum ClampToQuantum(const MagickRealType value)
{
if (value <= 0.0)
return(cast(Quantum) 0);
if (value >= cast(MagickRealType) 65535UL)
return(cast(Quantum) 65535UL);
return(cast(Quantum) (value+0.5));
}
static pure nothrow ubyte ScaleQuantumToChar(const Quantum quantum)
{
return(cast(ubyte) (((quantum+128UL)-((quantum+128UL) >> 8)) >> 8));
}
MagickBooleanType SetQuantumDepth(const Image*, QuantumInfo*, const size_t);
MagickBooleanType SetQuantumFormat(const Image*, QuantumInfo*, const QuantumFormatType);
MagickBooleanType SetQuantumPad(const Image*, QuantumInfo*, const size_t);
QuantumInfo* AcquireQuantumInfo(const ImageInfo*, Image*);
QuantumInfo* DestroyQuantumInfo(QuantumInfo*);
QuantumType GetQuantumType(Image*, ExceptionInfo*);
size_t ExportQuantumPixels(const Image*, const CacheView*, const QuantumInfo*, const QuantumType, ubyte*, ExceptionInfo*);
size_t GetQuantumExtent(const Image*, const QuantumInfo*, const QuantumType);
size_t ImportQuantumPixels(Image*, CacheView*, const QuantumInfo*, const QuantumType, const ubyte*, ExceptionInfo*);
ubyte* GetQuantumPixels(const QuantumInfo*);
void GetQuantumInfo(const ImageInfo*, QuantumInfo*);
void SetQuantumAlphaType(QuantumInfo*, const QuantumAlphaType);
void SetQuantumImageType(Image*, const QuantumType);
void SetQuantumMinIsWhite(QuantumInfo*, const MagickBooleanType);
void SetQuantumPack(QuantumInfo*, const MagickBooleanType);
void SetQuantumQuantum(QuantumInfo*, const size_t);
void SetQuantumScale(QuantumInfo*, const double);
}
|