1 module dmagick.c.magickVersion;
2 
3 import core.stdc.config;
4 import core.stdc.stdio;
5 
6 extern(C)
7 {
8 	version(MagickCore_660)
9 	{
10 		/// Defines the version of ImageMagick where these headers are based on.
11 		enum MagickLibVersion = 0x660;
12 		///ditto
13 		enum MagickLibVersionText = "6.6.0";
14 	}
15 	else version(MagickCore_661)
16 	{
17 		/// Defines the version of ImageMagick where these headers are based on.
18 		enum MagickLibVersion = 0x661;
19 		///ditto
20 		enum MagickLibVersionText = "6.6.1";
21 	}
22 	else version(MagickCore_662)
23 	{
24 		/// Defines the version of ImageMagick where these headers are based on.
25 		enum MagickLibVersion = 0x662;
26 		///ditto
27 		enum MagickLibVersionText = "6.6.2";
28 	}
29 	else version(MagickCore_663)
30 	{
31 		/// Defines the version of ImageMagick where these headers are based on.
32 		enum MagickLibVersion = 0x663;
33 		///ditto
34 		enum MagickLibVersionText = "6.6.3";
35 	}
36 	else version(MagickCore_664)
37 	{
38 		/// Defines the version of ImageMagick where these headers are based on.
39 		enum MagickLibVersion = 0x664;
40 		///ditto
41 		enum MagickLibVersionText = "6.6.4";
42 	}
43 	else version(MagickCore_665)
44 	{
45 		/// Defines the version of ImageMagick where these headers are based on.
46 		enum MagickLibVersion = 0x665;
47 		///ditto
48 		enum MagickLibVersionText = "6.6.5";
49 	}
50 	else version(MagickCore_666)
51 	{
52 		/// Defines the version of ImageMagick where these headers are based on.
53 		enum MagickLibVersion = 0x666;
54 		///ditto
55 		enum MagickLibVersionText = "6.6.6";
56 	}
57 	else version(MagickCore_667)
58 	{
59 		/// Defines the version of ImageMagick where these headers are based on.
60 		enum MagickLibVersion = 0x667;
61 		///ditto
62 		enum MagickLibVersionText = "6.6.7";
63 	}
64 	else version(MagickCore_668)
65 	{
66 		/// Defines the version of ImageMagick where these headers are based on.
67 		enum MagickLibVersion = 0x668;
68 		///ditto
69 		enum MagickLibVersionText = "6.6.8";
70 	}
71 	else version(MagickCore_669)
72 	{
73 		/// Defines the version of ImageMagick where these headers are based on.
74 		enum MagickLibVersion = 0x669;
75 		///ditto
76 		enum MagickLibVersionText = "6.6.9";
77 	}
78 	else version(MagickCore_670)
79 	{
80 		/// Defines the version of ImageMagick where these headers are based on.
81 		enum MagickLibVersion = 0x670;
82 		///ditto
83 		enum MagickLibVersionText = "6.7.0";
84 	}
85 	else version(MagickCore_671)
86 	{
87 		/// Defines the version of ImageMagick where these headers are based on.
88 		enum MagickLibVersion = 0x671;
89 		///ditto
90 		enum MagickLibVersionText = "6.7.1";
91 	}
92 	else version(MagickCore_672)
93 	{
94 		/// Defines the version of ImageMagick where these headers are based on.
95 		enum MagickLibVersion = 0x672;
96 		///ditto
97 		enum MagickLibVersionText = "6.7.2";
98 	}
99 	else version(MagickCore_673)
100 	{
101 		/// Defines the version of ImageMagick where these headers are based on.
102 		enum MagickLibVersion = 0x673;
103 		///ditto
104 		enum MagickLibVersionText = "6.7.3";
105 	}
106 	else version(MagickCore_674)
107 	{
108 		/// Defines the version of ImageMagick where these headers are based on.
109 		enum MagickLibVersion = 0x674;
110 		///ditto
111 		enum MagickLibVersionText = "6.7.4";
112 	}
113 	else version(MagickCore_675)
114 	{
115 		/// Defines the version of ImageMagick where these headers are based on.
116 		enum MagickLibVersion = 0x675;
117 		///ditto
118 		enum MagickLibVersionText = "6.7.5";
119 	}
120 	else version(MagickCore_676)
121 	{
122 		/// Defines the version of ImageMagick where these headers are based on.
123 		enum MagickLibVersion = 0x676;
124 		///ditto
125 		enum MagickLibVersionText = "6.7.6";
126 	}
127 	else version(MagickCore_677)
128 	{
129 		/// Defines the version of ImageMagick where these headers are based on.
130 		enum MagickLibVersion = 0x677;
131 		///ditto
132 		enum MagickLibVersionText = "6.7.7";
133 	}
134 	else version(MagickCore_678)
135 	{
136 		/// Defines the version of ImageMagick where these headers are based on.
137 		enum MagickLibVersion = 0x678;
138 		///ditto
139 		enum MagickLibVersionText = "6.7.8";
140 	}
141 	else version(MagickCore_679)
142 	{
143 		/// Defines the version of ImageMagick where these headers are based on.
144 		enum MagickLibVersion = 0x679;
145 		///ditto
146 		enum MagickLibVersionText = "6.7.9";
147 	}
148 	else version(MagickCore_680)
149 	{
150 		/// Defines the version of ImageMagick where these headers are based on.
151 		enum MagickLibVersion = 0x680;
152 		///ditto
153 		enum MagickLibVersionText = "6.8.0";
154 	}
155 	else version(MagickCore_681)
156 	{
157 		/// Defines the version of ImageMagick where these headers are based on.
158 		enum MagickLibVersion = 0x681;
159 		///ditto
160 		enum MagickLibVersionText = "6.8.1";
161 	}
162 	else version(MagickCore_682)
163 	{
164 		/// Defines the version of ImageMagick where these headers are based on.
165 		enum MagickLibVersion = 0x682;
166 		///ditto
167 		enum MagickLibVersionText = "6.8.2";
168 	}
169 	else version(MagickCore_683)
170 	{
171 		/// Defines the version of ImageMagick where these headers are based on.
172 		enum MagickLibVersion = 0x683;
173 		///ditto
174 		enum MagickLibVersionText = "6.8.3";
175 	}
176 	else version(MagickCore_684)
177 	{
178 		/// Defines the version of ImageMagick where these headers are based on.
179 		enum MagickLibVersion = 0x684;
180 		///ditto
181 		enum MagickLibVersionText = "6.8.4";
182 	}
183 	else version(MagickCore_685)
184 	{
185 		/// Defines the version of ImageMagick where these headers are based on.
186 		enum MagickLibVersion = 0x685;
187 		///ditto
188 		enum MagickLibVersionText = "6.8.5";
189 	}
190 	else version(MagickCore_686)
191 	{
192 		/// Defines the version of ImageMagick where these headers are based on.
193 		enum MagickLibVersion = 0x686;
194 		///ditto
195 		enum MagickLibVersionText = "6.8.6";
196 	}
197 	else version(MagickCore_687)
198 	{
199 		/// Defines the version of ImageMagick where these headers are based on.
200 		enum MagickLibVersion = 0x687;
201 		///ditto
202 		enum MagickLibVersionText = "6.8.7";
203 	}
204 	else version(MagickCore_688)
205 	{
206 		/// Defines the version of ImageMagick where these headers are based on.
207 		enum MagickLibVersion = 0x688;
208 		///ditto
209 		enum MagickLibVersionText = "6.8.8";
210 	}
211 	else version(MagickCore_689)
212 	{
213 		/// Defines the version of ImageMagick where these headers are based on.
214 		enum MagickLibVersion = 0x689;
215 		///ditto
216 		enum MagickLibVersionText = "6.8.9";
217 	}
218 	else
219 	{
220 		/// Defines the version of ImageMagick where these headers are based on.
221 		enum MagickLibVersion = 0x690;
222 		///ditto
223 		enum MagickLibVersionText = "6.9.0";
224 	}
225 
226 	/*
227 	 * With ImageMagick 6.6.3 long and unsinged long were changed to
228 	 * ssize_t and size_t. This is only a problem for 64bits windows.
229 	 */
230 	static if (MagickLibVersion < 0x663 && c_ulong.sizeof != size_t.sizeof)
231 	{
232 		static assert(0, "Only ImageMagick version 6.6.3 and up are supported on your platform");
233 	}
234 
235 	char* GetMagickHomeURL();
236 
237 	const(char)* GetMagickCopyright();
238 
239 	static if ( MagickLibVersion >= 0x681 )
240 	{
241 		const(char)* GetMagickDelegates();
242 	}
243 
244 	const(char)* GetMagickFeatures();
245 	const(char)* GetMagickPackageName();
246 	const(char)* GetMagickQuantumDepth(size_t*);
247 	const(char)* GetMagickQuantumRange(size_t*);
248 	const(char)* GetMagickReleaseDate();
249 	const(char)* GetMagickVersion(size_t*);
250 
251 	static if ( MagickLibVersion >= 0x681 )
252 	{
253 		void ListMagickVersion(FILE*);
254 	}
255 }