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;