1 2 // Copyright 2019 - 2021 Michael D. Parker 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 ft211 = 211, 18 } 19 20 version(BindBC_Static) version = BindFT_Static; 21 version(BindFT_Static) enum staticBinding = true; 22 else enum staticBinding = false; 23 24 enum FREETYPE_MAJOR = 2; 25 26 version(Posix) enum enableBZIP2 = true; 27 else version(FT_BZIP2) enum enableBZIP2 = true; 28 else enum enableBZIP2 = false; 29 30 version(FT_27) { 31 enum FREETYPE_MINOR = 7; 32 enum FREETYPE_PATCH = 1; 33 enum ftSupport = FTSupport.ft27; 34 } 35 else version(FT_28) { 36 enum FREETYPE_MINOR = 8; 37 enum FREETYPE_PATCH = 1; 38 enum ftSupport = FTSupport.ft28; 39 } 40 else version(FT_29) { 41 enum FREETYPE_MINOR = 9; 42 enum FREETYPE_PATCH = 1; 43 enum ftSupport = FTSupport.ft29; 44 } 45 else version(FT_210) { 46 enum FREETYPE_MINOR = 10; 47 enum FREETYPE_PATCH = 4; 48 enum ftSupport = FTSupport.ft210; 49 } 50 else version(FT_211) { 51 enum FREETYPE_MINOR = 11; 52 enum FREETYPE_PATCH = 0; 53 enum ftSupport = FTSupport.ft211; 54 } 55 else { // default 56 enum FREETYPE_MINOR = 6; 57 enum FREETYPE_PATCH = 4; 58 enum ftSupport = FTSupport.ft26; 59 } 60 61 // config/ftconfg.h 62 alias FT_Int16 = short; 63 alias FT_UInt16 = ushort; 64 alias FT_Int32 = int; 65 alias FT_UInt32 = uint; 66 alias FT_Fast = int; 67 alias FT_UFast = uint; 68 alias FT_Int64 = long; 69 alias FT_Uint64 = ulong;