1 
2 //          Copyright Michael D. Parker 2018.
3 // Distributed under the Boost Software License, Version 1.0.
4 //    (See accompanying file LICENSE_1_0.txt or copy at
5 //          http://www.boost.org/LICENSE_1_0.txt)
6 
7 module bindbc.freetype.config;
8 
9 enum FTSupport {
10     noLibrary,
11     badLibrary,
12     ft26    = 26,
13     ft27    = 27,
14     ft28    = 28,
15     ft29    = 29,
16     ft210   = 210,
17 }
18 
19 enum FREETYPE_MAJOR = 2;
20 
21 version(Posix) enum enableBZIP2 = true;
22 else version(FT_BZIP2) enum enableBZIP2 = true;
23 else enum enableBZIP2 = false;
24 
25 version(FT_27) {
26     enum FREETYPE_MINOR = 7;
27     enum FREETYPE_PATCH = 1;
28     enum ftSupport = FTSupport.ft27;
29 }
30 else version(FT_28) {
31     enum FREETYPE_MINOR = 8;
32     enum FREETYPE_PATCH = 1;
33     enum ftSupport = FTSupport.ft28;
34 }
35 else version(FT_29) {
36     enum FREETYPE_MINOR = 9;
37     enum FREETYPE_PATCH = 1;
38     enum ftSupport = FTSupport.ft29;
39 }
40 else version(FT_210) {
41     enum FREETYPE_MINOR = 10;
42     enum FREETYPE_PATCH = 2;
43     enum ftSupport = FTSupport.ft210;
44 }
45 else { // default
46     enum FREETYPE_MINOR = 6;
47     enum FREETYPE_PATCH = 4;
48     enum ftSupport = FTSupport.ft26;
49 }
50 
51 // config/ftconfg.h
52 alias FT_Int16 = short;
53 alias FT_UInt16 = ushort;
54 alias FT_Int32 = int;
55 alias FT_UInt32 = uint;
56 alias FT_Fast = int;
57 alias FT_UFast = uint;
58 alias FT_Int64 = long;
59 alias FT_Uint64 = ulong;