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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
module dmagick.c.cacheView;
import dmagick.c.colorspace;
import dmagick.c.exception;
import dmagick.c.image;
import dmagick.c.magickType;
import dmagick.c.magickVersion;
import dmagick.c.pixel;
alias ptrdiff_t ssize_t;
extern(C)
{
/**
* Specify contents of virtual pixels.
*/
enum VirtualPixelMethod
{
/** */
UndefinedVirtualPixelMethod,
/**
* The area surrounding the image is the background color.
*/
BackgroundVirtualPixelMethod,
/** */
ConstantVirtualPixelMethod,
/**
* Non-random 32x32 dithered pattern.
*/
DitherVirtualPixelMethod,
/**
* Extend the edge pixel toward infinity.
*/
EdgeVirtualPixelMethod,
/**
* Mirror tile the image.
*/
MirrorVirtualPixelMethod,
/**
* Choose a random pixel from the image.
*/
RandomVirtualPixelMethod,
/**
* Tile the image.
*/
TileVirtualPixelMethod,
/**
* The area surrounding the image is transparent blackness.
*/
TransparentVirtualPixelMethod,
/** */
MaskVirtualPixelMethod,
/**
* The area surrounding the image is black.
*/
BlackVirtualPixelMethod,
/**
* The area surrounding the image is gray.
*/
GrayVirtualPixelMethod,
/**
* The area surrounding the image is white.
*/
WhiteVirtualPixelMethod,
/**
* Horizontally tile the image, background color above/below.
*/
HorizontalTileVirtualPixelMethod,
/**
* Vertically tile the image, sides are background color.
*/
VerticalTileVirtualPixelMethod,
/**
* Horizontally tile the image and replicate the side edge pixels.
*/
HorizontalTileEdgeVirtualPixelMethod,
/**
* Vertically tile the image and replicate the side edge pixels.
*/
VerticalTileEdgeVirtualPixelMethod,
/**
* Alternate squares with image and background color.
*/
CheckerTileVirtualPixelMethod
}
struct CacheView {}
static if ( MagickLibVersion >= 0x677 )
{
CacheView* AcquireAuthenticCacheView(const(Image)*, ExceptionInfo*);
}
CacheView* AcquireCacheView(const(Image)*);
static if ( MagickLibVersion >= 0x677 )
{
CacheView* AcquireVirtualCacheView(const(Image)*, ExceptionInfo*);
}
CacheView* CloneCacheView(const(CacheView)*);
CacheView* DestroyCacheView(CacheView*);
ClassType GetCacheViewStorageClass(const(CacheView)*);
ColorspaceType GetCacheViewColorspace(const(CacheView)*);
const(IndexPacket)* GetCacheViewVirtualIndexQueue(const(CacheView)*);
const(PixelPacket)* GetCacheViewVirtualPixels(const(CacheView)*, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo*);
const(PixelPacket)* GetCacheViewVirtualPixelQueue(const(CacheView)*);
ExceptionInfo* GetCacheViewException(const(CacheView)*);
IndexPacket* GetCacheViewAuthenticIndexQueue(CacheView*);
MagickBooleanType GetOneCacheViewVirtualPixel(const(CacheView)*, const ssize_t, const ssize_t, PixelPacket*, ExceptionInfo*);
MagickBooleanType GetOneCacheViewVirtualMethodPixel(const(CacheView)*, const VirtualPixelMethod, const ssize_t, const ssize_t, PixelPacket*, ExceptionInfo*);
MagickBooleanType GetOneCacheViewAuthenticPixel(const(CacheView)*, const ssize_t, const ssize_t, PixelPacket*, ExceptionInfo*);
MagickBooleanType SetCacheViewStorageClass(CacheView*, const ClassType);
MagickBooleanType SetCacheViewVirtualPixelMethod(CacheView*, const VirtualPixelMethod);
MagickBooleanType SyncCacheViewAuthenticPixels(CacheView*, ExceptionInfo*);
MagickSizeType GetCacheViewExtent(const(CacheView)*);
static if ( MagickLibVersion >= 0x670 )
{
size_t GetCacheViewChannels(const(CacheView)*);
}
PixelPacket* GetCacheViewAuthenticPixelQueue(CacheView*);
PixelPacket* GetCacheViewAuthenticPixels(CacheView*, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo*);
PixelPacket* QueueCacheViewAuthenticPixels(CacheView*, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo*);
}
|