1/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; coding: utf-8 -*-
2 * gtksourceversion.h
3 * This file is part of GtkSourceView
4 *
5 * Copyright (C) 2015 - Paolo Borelli <pborelli@gnome.org>
6 *
7 * GtkSourceView is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * GtkSourceView is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 */
21
22#ifndef GTK_SOURCE_VERSION_H
23#define GTK_SOURCE_VERSION_H
24
25#include <glib.h>
26
27G_BEGIN_DECLS
28
29/**
30 * GTK_SOURCE_MAJOR_VERSION:
31 *
32 * Like gtk_source_get_major_version(), but from the headers used at
33 * application compile time, rather than from the library linked
34 * against at application run time.
35 *
36 * Since: 3.20
37 */
38#define GTK_SOURCE_MAJOR_VERSION (@GTK_SOURCE_MAJOR_VERSION@)
39
40/**
41 * GTK_SOURCE_MINOR_VERSION:
42 *
43 * Like gtk_source_get_minor_version(), but from the headers used at
44 * application compile time, rather than from the library linked
45 * against at application run time.
46 *
47 * Since: 3.20
48 */
49#define GTK_SOURCE_MINOR_VERSION (@GTK_SOURCE_MINOR_VERSION@)
50
51/**
52 * GTK_SOURCE_MICRO_VERSION:
53 *
54 * Like gtk_source_get_micro_version(), but from the headers used at
55 * application compile time, rather than from the library linked
56 * against at application run time.
57 *
58 * Since: 3.20
59 */
60#define GTK_SOURCE_MICRO_VERSION (@GTK_SOURCE_MICRO_VERSION@)
61
62
63/**
64 * GTK_SOURCE_CHECK_VERSION:
65 * @major: major version (e.g. 3 for version 3.20.0)
66 * @minor: minor version (e.g. 20 for version 3.20.0)
67 * @micro: micro version (e.g. 0 for version 3.20.0)
68 *
69 * Macro to test the version of GtkSourceView being compiled against.
70 *
71 * Returns: %TRUE if the version of the GtkSourceView header files
72 * is the same as or newer than the passed-in version.
73 *
74 * Since: 3.20
75 */
76#define GTK_SOURCE_CHECK_VERSION(major, minor, micro) \
77	(GTK_SOURCE_MAJOR_VERSION > (major) || \
78	(GTK_SOURCE_MAJOR_VERSION == (major) && GTK_SOURCE_MINOR_VERSION > (minor)) || \
79	(GTK_SOURCE_MAJOR_VERSION == (major) && GTK_SOURCE_MINOR_VERSION == (minor) && \
80	 GTK_SOURCE_MICRO_VERSION >= (micro)))
81
82#ifndef _GTK_SOURCE_EXTERN
83#define _GTK_SOURCE_EXTERN extern
84#endif
85
86#ifndef __GTK_DOC_IGNORE__
87#define GTK_SOURCE_ENUM_EXTERN _GTK_SOURCE_EXTERN
88#endif
89
90/**
91 * GTK_SOURCE_VERSION_3_0:
92 *
93 * A macro that evaluates to the 3.0 version of GtkSourceView,
94 * in a format that can be used by the C pre-processor.
95 *
96 * Since: 3.20
97 */
98#define GTK_SOURCE_VERSION_3_0 (G_ENCODE_VERSION (3, 0))
99
100/**
101 * GTK_SOURCE_VERSION_3_2:
102 *
103 * A macro that evaluates to the 3.2 version of GtkSourceView,
104 * in a format that can be used by the C pre-processor.
105 *
106 * Since: 3.20
107 */
108#define GTK_SOURCE_VERSION_3_2 (G_ENCODE_VERSION (3, 2))
109
110/**
111 * GTK_SOURCE_VERSION_3_4:
112 *
113 * A macro that evaluates to the 3.4 version of GtkSourceView,
114 * in a format that can be used by the C pre-processor.
115 *
116 * Since: 3.20
117 */
118#define GTK_SOURCE_VERSION_3_4 (G_ENCODE_VERSION (3, 4))
119
120/**
121 * GTK_SOURCE_VERSION_3_6:
122 *
123 * A macro that evaluates to the 3.6 version of GtkSourceView,
124 * in a format that can be used by the C pre-processor.
125 *
126 * Since: 3.20
127 */
128#define GTK_SOURCE_VERSION_3_6 (G_ENCODE_VERSION (3, 6))
129
130/**
131 * GTK_SOURCE_VERSION_3_8:
132 *
133 * A macro that evaluates to the 3.8 version of GtkSourceView,
134 * in a format that can be used by the C pre-processor.
135 *
136 * Since: 3.20
137 */
138#define GTK_SOURCE_VERSION_3_8 (G_ENCODE_VERSION (3, 8))
139
140/**
141 * GTK_SOURCE_VERSION_3_10:
142 *
143 * A macro that evaluates to the 3.10 version of GtkSourceView,
144 * in a format that can be used by the C pre-processor.
145 *
146 * Since: 3.20
147 */
148#define GTK_SOURCE_VERSION_3_10 (G_ENCODE_VERSION (3, 10))
149
150/**
151 * GTK_SOURCE_VERSION_3_12:
152 *
153 * A macro that evaluates to the 3.12 version of GtkSourceView,
154 * in a format that can be used by the C pre-processor.
155 *
156 * Since: 3.20
157 */
158#define GTK_SOURCE_VERSION_3_12 (G_ENCODE_VERSION (3, 12))
159
160/**
161 * GTK_SOURCE_VERSION_3_14:
162 *
163 * A macro that evaluates to the 3.14 version of GtkSourceView,
164 * in a format that can be used by the C pre-processor.
165 *
166 * Since: 3.20
167 */
168#define GTK_SOURCE_VERSION_3_14 (G_ENCODE_VERSION (3, 14))
169
170/**
171 * GTK_SOURCE_VERSION_3_16:
172 *
173 * A macro that evaluates to the 3.16 version of GtkSourceView,
174 * in a format that can be used by the C pre-processor.
175 *
176 * Since: 3.20
177 */
178#define GTK_SOURCE_VERSION_3_16 (G_ENCODE_VERSION (3, 16))
179
180/**
181 * GTK_SOURCE_VERSION_3_18:
182 *
183 * A macro that evaluates to the 3.18 version of GtkSourceView,
184 * in a format that can be used by the C pre-processor.
185 *
186 * Since: 3.20
187 */
188#define GTK_SOURCE_VERSION_3_18 (G_ENCODE_VERSION (3, 18))
189
190/**
191 * GTK_SOURCE_VERSION_3_20:
192 *
193 * A macro that evaluates to the 3.20 version of GtkSourceView,
194 * in a format that can be used by the C pre-processor.
195 *
196 * Since: 3.20
197 */
198#define GTK_SOURCE_VERSION_3_20 (G_ENCODE_VERSION (3, 20))
199
200/**
201 * GTK_SOURCE_VERSION_3_22:
202 *
203 * A macro that evaluates to the 3.22 version of GtkSourceView,
204 * in a format that can be used by the C pre-processor.
205 *
206 * Since: 3.22
207 */
208#define GTK_SOURCE_VERSION_3_22 (G_ENCODE_VERSION (3, 22))
209
210/**
211 * GTK_SOURCE_VERSION_3_24:
212 *
213 * A macro that evaluates to the 3.24 version of GtkSourceView,
214 * in a format that can be used by the C pre-processor.
215 *
216 * Since: 3.24
217 */
218#define GTK_SOURCE_VERSION_3_24 (G_ENCODE_VERSION (3, 24))
219
220#ifndef __GTK_DOC_IGNORE__
221#if (GTK_SOURCE_MINOR_VERSION % 2)
222#define GTK_SOURCE_VERSION_CUR_STABLE (G_ENCODE_VERSION (GTK_SOURCE_MAJOR_VERSION, GTK_SOURCE_MINOR_VERSION + 1))
223#else
224#define GTK_SOURCE_VERSION_CUR_STABLE (G_ENCODE_VERSION (GTK_SOURCE_MAJOR_VERSION, GTK_SOURCE_MINOR_VERSION))
225#endif
226#endif /* __GTK_DOC_IGNORE__ */
227
228#ifndef __GTK_DOC_IGNORE__
229#if (GTK_SOURCE_MINOR_VERSION % 2)
230#define GTK_SOURCE_VERSION_PREV_STABLE (G_ENCODE_VERSION (GTK_SOURCE_MAJOR_VERSION, GTK_SOURCE_MINOR_VERSION - 1))
231#else
232#define GTK_SOURCE_VERSION_PREV_STABLE (G_ENCODE_VERSION (GTK_SOURCE_MAJOR_VERSION, GTK_SOURCE_MINOR_VERSION - 2))
233#endif
234#endif /* __GTK_DOC_IGNORE__ */
235
236/**
237 * GTK_SOURCE_VERSION_MIN_REQUIRED:
238 *
239 * A macro that should be defined by the user prior to including
240 * the gtksource.h header.
241 * The definition should be one of the predefined version
242 * macros: %GTK_SOURCE_VERSION_3_0, %GTK_SOURCE_VERSION_3_2, ...
243 *
244 * This macro defines the lower bound for the GtkSourceView API to use.
245 *
246 * If a function has been deprecated in a newer version of GtkSourceView,
247 * defining this symbol hides the compiler warnings for those functions
248 * without disabling warnings for the other deprecated functions.
249 *
250 * <warning>
251 * Warning: if you define this macro, do not forget to update it! Especially
252 * when writing new code. Otherwise you can miss the new deprecations.
253 * </warning>
254 *
255 * Since: 3.20
256 */
257#ifndef GTK_SOURCE_VERSION_MIN_REQUIRED
258#define GTK_SOURCE_VERSION_MIN_REQUIRED (GTK_SOURCE_VERSION_CUR_STABLE)
259#endif
260
261/**
262 * GTK_SOURCE_VERSION_MAX_ALLOWED:
263 *
264 * A macro that should be defined by the user prior to including
265 * the gtksource.h header.
266 * The definition should be one of the predefined version
267 * macros: %GTK_SOURCE_VERSION_3_0, %GTK_SOURCE_VERSION_3_2, ...
268 *
269 * This macro defines the upper bound for the GtkSourceView API to use.
270 *
271 * If a function has been introduced in a newer version of GtkSourceView,
272 * it is possible to use this symbol to get compiler warnings when
273 * trying to use that function.
274 *
275 * Since: 3.20
276 */
277#ifndef GTK_SOURCE_VERSION_MAX_ALLOWED
278#if GTK_SOURCE_VERSION_MIN_REQUIRED > GTK_SOURCE_VERSION_PREV_STABLE
279#define GTK_SOURCE_VERSION_MAX_ALLOWED  GTK_SOURCE_VERSION_MIN_REQUIRED
280#else
281#define GTK_SOURCE_VERSION_MAX_ALLOWED GTK_SOURCE_VERSION_CUR_STABLE
282#endif
283#endif
284
285/* sanity checks */
286#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_MIN_REQUIRED
287#error "GTK_SOURCE_VERSION_MAX_ALLOWED must be >= GTK_SOURCE_VERSION_MIN_REQUIRED"
288#endif
289#if GTK_SOURCE_VERSION_MIN_REQUIRED < GTK_SOURCE_VERSION_3_0
290#error "GTK_SOURCE_VERSION_MIN_REQUIRED must be >= GTK_SOURCE_VERSION_3_0"
291#endif
292
293#ifndef __GTK_DOC_IGNORE__
294#define GTK_SOURCE_AVAILABLE_IN_ALL _GTK_SOURCE_EXTERN
295#endif
296
297/* Every new stable minor release should add a set of macros here */
298
299#ifndef __GTK_DOC_IGNORE__
300#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_0
301#define GTK_SOURCE_DEPRECATED_IN_3_0 G_DEPRECATED _GTK_SOURCE_EXTERN
302#define GTK_SOURCE_DEPRECATED_IN_3_0_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
303#else
304#define GTK_SOURCE_DEPRECATED_IN_3_0 _GTK_SOURCE_EXTERN
305#define GTK_SOURCE_DEPRECATED_IN_3_0_FOR(f) _GTK_SOURCE_EXTERN
306#endif
307#endif /* __GTK_DOC_IGNORE__ */
308
309#ifndef __GTK_DOC_IGNORE__
310#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_0
311#define GTK_SOURCE_AVAILABLE_IN_3_0 G_UNAVAILABLE(3, 0) _GTK_SOURCE_EXTERN
312#else
313#define GTK_SOURCE_AVAILABLE_IN_3_0 _GTK_SOURCE_EXTERN
314#endif
315#endif /* __GTK_DOC_IGNORE__ */
316
317#ifndef __GTK_DOC_IGNORE__
318#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_2
319#define GTK_SOURCE_DEPRECATED_IN_3_2 G_DEPRECATED _GTK_SOURCE_EXTERN
320#define GTK_SOURCE_DEPRECATED_IN_3_2_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
321#else
322#define GTK_SOURCE_DEPRECATED_IN_3_2 _GTK_SOURCE_EXTERN
323#define GTK_SOURCE_DEPRECATED_IN_3_2_FOR(f) _GTK_SOURCE_EXTERN
324#endif
325#endif /* __GTK_DOC_IGNORE__ */
326
327#ifndef __GTK_DOC_IGNORE__
328#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_2
329#define GTK_SOURCE_AVAILABLE_IN_3_2 G_UNAVAILABLE(3, 2) _GTK_SOURCE_EXTERN
330#else
331#define GTK_SOURCE_AVAILABLE_IN_3_2 _GTK_SOURCE_EXTERN
332#endif
333#endif /* __GTK_DOC_IGNORE__ */
334
335#ifndef __GTK_DOC_IGNORE__
336#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_4
337#define GTK_SOURCE_DEPRECATED_IN_3_4 G_DEPRECATED _GTK_SOURCE_EXTERN
338#define GTK_SOURCE_DEPRECATED_IN_3_4_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
339#else
340#define GTK_SOURCE_DEPRECATED_IN_3_4 _GTK_SOURCE_EXTERN
341#define GTK_SOURCE_DEPRECATED_IN_3_4_FOR(f) _GTK_SOURCE_EXTERN
342#endif
343#endif /* __GTK_DOC_IGNORE__ */
344
345#ifndef __GTK_DOC_IGNORE__
346#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_4
347#define GTK_SOURCE_AVAILABLE_IN_3_4 G_UNAVAILABLE(3, 4) _GTK_SOURCE_EXTERN
348#else
349#define GTK_SOURCE_AVAILABLE_IN_3_4 _GTK_SOURCE_EXTERN
350#endif
351#endif /* __GTK_DOC_IGNORE__ */
352
353#ifndef __GTK_DOC_IGNORE__
354#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_6
355#define GTK_SOURCE_DEPRECATED_IN_3_6 G_DEPRECATED _GTK_SOURCE_EXTERN
356#define GTK_SOURCE_DEPRECATED_IN_3_6_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
357#else
358#define GTK_SOURCE_DEPRECATED_IN_3_6 _GTK_SOURCE_EXTERN
359#define GTK_SOURCE_DEPRECATED_IN_3_6_FOR(f) _GTK_SOURCE_EXTERN
360#endif
361#endif /* __GTK_DOC_IGNORE__ */
362
363#ifndef __GTK_DOC_IGNORE__
364#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_6
365#define GTK_SOURCE_AVAILABLE_IN_3_6 G_UNAVAILABLE(3, 6) _GTK_SOURCE_EXTERN
366#else
367#define GTK_SOURCE_AVAILABLE_IN_3_6 _GTK_SOURCE_EXTERN
368#endif
369#endif /* __GTK_DOC_IGNORE__ */
370
371#ifndef __GTK_DOC_IGNORE__
372#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_8
373#define GTK_SOURCE_DEPRECATED_IN_3_8 G_DEPRECATED _GTK_SOURCE_EXTERN
374#define GTK_SOURCE_DEPRECATED_IN_3_8_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
375#else
376#define GTK_SOURCE_DEPRECATED_IN_3_8 _GTK_SOURCE_EXTERN
377#define GTK_SOURCE_DEPRECATED_IN_3_8_FOR(f) _GTK_SOURCE_EXTERN
378#endif
379#endif /* __GTK_DOC_IGNORE__ */
380
381#ifndef __GTK_DOC_IGNORE__
382#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_8
383#define GTK_SOURCE_AVAILABLE_IN_3_8 G_UNAVAILABLE(3, 8) _GTK_SOURCE_EXTERN
384#else
385#define GTK_SOURCE_AVAILABLE_IN_3_8 _GTK_SOURCE_EXTERN
386#endif
387#endif /* __GTK_DOC_IGNORE__ */
388
389#ifndef __GTK_DOC_IGNORE__
390#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_10
391#define GTK_SOURCE_DEPRECATED_IN_3_10 G_DEPRECATED _GTK_SOURCE_EXTERN
392#define GTK_SOURCE_DEPRECATED_IN_3_10_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
393#else
394#define GTK_SOURCE_DEPRECATED_IN_3_10 _GTK_SOURCE_EXTERN
395#define GTK_SOURCE_DEPRECATED_IN_3_10_FOR(f) _GTK_SOURCE_EXTERN
396#endif
397#endif /* __GTK_DOC_IGNORE__ */
398
399#ifndef __GTK_DOC_IGNORE__
400#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_10
401#define GTK_SOURCE_AVAILABLE_IN_3_10 G_UNAVAILABLE(3, 10) _GTK_SOURCE_EXTERN
402#else
403#define GTK_SOURCE_AVAILABLE_IN_3_10 _GTK_SOURCE_EXTERN
404#endif
405#endif /* __GTK_DOC_IGNORE__ */
406
407#ifndef __GTK_DOC_IGNORE__
408#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_12
409#define GTK_SOURCE_DEPRECATED_IN_3_12 G_DEPRECATED _GTK_SOURCE_EXTERN
410#define GTK_SOURCE_DEPRECATED_IN_3_12_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
411#else
412#define GTK_SOURCE_DEPRECATED_IN_3_12 _GTK_SOURCE_EXTERN
413#define GTK_SOURCE_DEPRECATED_IN_3_12_FOR(f) _GTK_SOURCE_EXTERN
414#endif
415#endif /* __GTK_DOC_IGNORE__ */
416
417#ifndef __GTK_DOC_IGNORE__
418#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_12
419#define GTK_SOURCE_AVAILABLE_IN_3_12 G_UNAVAILABLE(3, 12) _GTK_SOURCE_EXTERN
420#else
421#define GTK_SOURCE_AVAILABLE_IN_3_12 _GTK_SOURCE_EXTERN
422#endif
423#endif /* __GTK_DOC_IGNORE__ */
424
425#ifndef __GTK_DOC_IGNORE__
426#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_14
427#define GTK_SOURCE_DEPRECATED_IN_3_14 G_DEPRECATED _GTK_SOURCE_EXTERN
428#define GTK_SOURCE_DEPRECATED_IN_3_14_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
429#else
430#define GTK_SOURCE_DEPRECATED_IN_3_14 _GTK_SOURCE_EXTERN
431#define GTK_SOURCE_DEPRECATED_IN_3_14_FOR(f) _GTK_SOURCE_EXTERN
432#endif
433#endif /* __GTK_DOC_IGNORE__ */
434
435#ifndef __GTK_DOC_IGNORE__
436#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_14
437#define GTK_SOURCE_AVAILABLE_IN_3_14 G_UNAVAILABLE(3, 14) _GTK_SOURCE_EXTERN
438#else
439#define GTK_SOURCE_AVAILABLE_IN_3_14 _GTK_SOURCE_EXTERN
440#endif
441#endif /* __GTK_DOC_IGNORE__ */
442
443#ifndef __GTK_DOC_IGNORE__
444#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_16
445#define GTK_SOURCE_DEPRECATED_IN_3_16 G_DEPRECATED _GTK_SOURCE_EXTERN
446#define GTK_SOURCE_DEPRECATED_IN_3_16_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
447#else
448#define GTK_SOURCE_DEPRECATED_IN_3_16 _GTK_SOURCE_EXTERN
449#define GTK_SOURCE_DEPRECATED_IN_3_16_FOR(f) _GTK_SOURCE_EXTERN
450#endif
451#endif /* __GTK_DOC_IGNORE__ */
452
453#ifndef __GTK_DOC_IGNORE__
454#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_16
455#define GTK_SOURCE_AVAILABLE_IN_3_16 G_UNAVAILABLE(3, 16) _GTK_SOURCE_EXTERN
456#else
457#define GTK_SOURCE_AVAILABLE_IN_3_16 _GTK_SOURCE_EXTERN
458#endif
459#endif /* __GTK_DOC_IGNORE__ */
460
461#ifndef __GTK_DOC_IGNORE__
462#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_18
463#define GTK_SOURCE_DEPRECATED_IN_3_18 G_DEPRECATED _GTK_SOURCE_EXTERN
464#define GTK_SOURCE_DEPRECATED_IN_3_18_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
465#else
466#define GTK_SOURCE_DEPRECATED_IN_3_18 _GTK_SOURCE_EXTERN
467#define GTK_SOURCE_DEPRECATED_IN_3_18_FOR(f) _GTK_SOURCE_EXTERN
468#endif
469#endif /* __GTK_DOC_IGNORE__ */
470
471#ifndef __GTK_DOC_IGNORE__
472#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_18
473#define GTK_SOURCE_AVAILABLE_IN_3_18 G_UNAVAILABLE(3, 18) _GTK_SOURCE_EXTERN
474#else
475#define GTK_SOURCE_AVAILABLE_IN_3_18 _GTK_SOURCE_EXTERN
476#endif
477#endif /* __GTK_DOC_IGNORE__ */
478
479#ifndef __GTK_DOC_IGNORE__
480#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_20
481#define GTK_SOURCE_DEPRECATED_IN_3_20 G_DEPRECATED _GTK_SOURCE_EXTERN
482#define GTK_SOURCE_DEPRECATED_IN_3_20_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
483#else
484#define GTK_SOURCE_DEPRECATED_IN_3_20 _GTK_SOURCE_EXTERN
485#define GTK_SOURCE_DEPRECATED_IN_3_20_FOR(f) _GTK_SOURCE_EXTERN
486#endif
487#endif /* __GTK_DOC_IGNORE__ */
488
489#ifndef __GTK_DOC_IGNORE__
490#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_20
491#define GTK_SOURCE_AVAILABLE_IN_3_20 G_UNAVAILABLE(3, 20) _GTK_SOURCE_EXTERN
492#else
493#define GTK_SOURCE_AVAILABLE_IN_3_20 _GTK_SOURCE_EXTERN
494#endif
495#endif /* __GTK_DOC_IGNORE__ */
496
497#ifndef __GTK_DOC_IGNORE__
498#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_22
499#define GTK_SOURCE_DEPRECATED_IN_3_22 G_DEPRECATED _GTK_SOURCE_EXTERN
500#define GTK_SOURCE_DEPRECATED_IN_3_22_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
501#else
502#define GTK_SOURCE_DEPRECATED_IN_3_22 _GTK_SOURCE_EXTERN
503#define GTK_SOURCE_DEPRECATED_IN_3_22_FOR(f) _GTK_SOURCE_EXTERN
504#endif
505#endif /* __GTK_DOC_IGNORE__ */
506
507#ifndef __GTK_DOC_IGNORE__
508#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_22
509#define GTK_SOURCE_AVAILABLE_IN_3_22 G_UNAVAILABLE(3, 22) _GTK_SOURCE_EXTERN
510#else
511#define GTK_SOURCE_AVAILABLE_IN_3_22 _GTK_SOURCE_EXTERN
512#endif
513#endif /* __GTK_DOC_IGNORE__ */
514
515#ifndef __GTK_DOC_IGNORE__
516#if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_24
517#define GTK_SOURCE_DEPRECATED_IN_3_24 G_DEPRECATED _GTK_SOURCE_EXTERN
518#define GTK_SOURCE_DEPRECATED_IN_3_24_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN
519#else
520#define GTK_SOURCE_DEPRECATED_IN_3_24 _GTK_SOURCE_EXTERN
521#define GTK_SOURCE_DEPRECATED_IN_3_24_FOR(f) _GTK_SOURCE_EXTERN
522#endif
523#endif /* __GTK_DOC_IGNORE__ */
524
525#ifndef __GTK_DOC_IGNORE__
526#if GTK_SOURCE_VERSION_MAX_ALLOWED < GTK_SOURCE_VERSION_3_24
527#define GTK_SOURCE_AVAILABLE_IN_3_24 G_UNAVAILABLE(3, 24) _GTK_SOURCE_EXTERN
528#else
529#define GTK_SOURCE_AVAILABLE_IN_3_24 _GTK_SOURCE_EXTERN
530#endif
531#endif /* __GTK_DOC_IGNORE__ */
532
533GTK_SOURCE_AVAILABLE_IN_3_20
534guint		gtk_source_get_major_version		(void);
535
536GTK_SOURCE_AVAILABLE_IN_3_20
537guint		gtk_source_get_minor_version		(void);
538
539GTK_SOURCE_AVAILABLE_IN_3_20
540guint		gtk_source_get_micro_version		(void);
541
542GTK_SOURCE_AVAILABLE_IN_3_20
543gboolean	gtk_source_check_version		(guint major,
544							 guint minor,
545							 guint micro);
546
547G_END_DECLS
548
549#endif /* GTK_SOURCE_VERSION_H */
550