freetype.bmx 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. Strict
  2. Module Pub.FreeType
  3. ModuleInfo "Version: 1.14"
  4. ModuleInfo "License: FreeType License"
  5. ModuleInfo "Modserver: BRL"
  6. ModuleInfo "History: 1.14"
  7. ModuleInfo "History: Updated to FreeType 2.10.0"
  8. ModuleInfo "History: Added include path for Arch-based Linux distros."
  9. ModuleInfo "History: 1.13"
  10. ModuleInfo "History: Updated to FreeType 2.9.1.f686ad"
  11. ModuleInfo "History: 1.12"
  12. ModuleInfo "History: Updated to FreeType 2.9.0"
  13. ModuleInfo "History: 1.11"
  14. ModuleInfo "History: Updated to FreeType 2.8.1"
  15. ModuleInfo "History: 1.10"
  16. ModuleInfo "History: Updated to FreeType 2.7.1"
  17. ModuleInfo "History: 1.09"
  18. ModuleInfo "History: Updated to FreeType 2.5.2"
  19. ModuleInfo "History: 1.08 Release"
  20. ModuleInfo "History: Updated to FreeType 2.3.11"
  21. ModuleInfo "History: 1.07 Release"
  22. ModuleInfo "History: Linux version now uses installed freetype"
  23. ModuleInfo "History: 1.06 Release"
  24. ModuleInfo "History: Fixed too large fonts crashing"
  25. ModuleInfo "History: Updated to latest FreeType lib version"
  26. ModuleInfo "History: 1.05 Release"
  27. ModuleInfo "History: Fixed Tiger build warnings in ftmac.c"
  28. ModuleInfo "History: 1.04 Release"
  29. ModuleInfo "History: Added stream hooks (new code in 'ftsystem.c')"
  30. ?linux
  31. ModuleInfo "CC_OPTS: -I/usr/include/freetype2"
  32. ?
  33. Rem
  34. Changes to freetype source:
  35. ftoption.h : Enabled FT_CONFIG_OPTION_SYSTEM_ZLIB define
  36. ftoption.h : FT_RENDER_POOL_SIZE changed to 65536L, was 16384. This appears to be the cause of the 'big font' crashes
  37. End Rem
  38. ?Linuxx86
  39. ModuleInfo "CC_OPTS: `pkg-config --cflags freetype2`"
  40. Import "-lfreetype"
  41. ?Linuxx64
  42. ModuleInfo "CC_OPTS: `pkg-config --cflags freetype2`"
  43. Import "-lfreetype"
  44. ?raspberrypi
  45. ModuleInfo "CC_OPTS: `pkg-config --cflags freetype2`"
  46. Import "-lfreetype"
  47. ?haiku
  48. ModuleInfo "CC_OPTS: `freetype-config --cflags`"
  49. Import "-lfreetype"
  50. ?win32
  51. ModuleInfo "CC_OPTS: -DFT2_BUILD_LIBRARY"
  52. Import "source.bmx"
  53. Import "include/*.h"
  54. ?macos
  55. ModuleInfo "CC_OPTS: -DFT2_BUILD_LIBRARY"
  56. Import "source.bmx"
  57. Import "include/*.h"
  58. ?android
  59. ModuleInfo "CC_OPTS: -DFT2_BUILD_LIBRARY"
  60. Import "source.bmx"
  61. Import "include/*.h"
  62. ?emscripten
  63. ModuleInfo "CC_OPTS: -DFT2_BUILD_LIBRARY"
  64. Import "source.bmx"
  65. Import "include/*.h"
  66. ?nx
  67. ModuleInfo "CC_OPTS: -DFT2_BUILD_LIBRARY"
  68. Import "source.bmx"
  69. Import "include/*.h"
  70. ?
  71. Import "glue.c"
  72. Extern
  73. Function FT_Init_FreeType( ft_lib:Byte Ptr Ptr )
  74. Function FT_Done_FreeType( ft_lib:Byte Ptr )
  75. Function FT_Done_Face( ft_face:Byte Ptr )
  76. Function FT_Done_Glyph( ft_glyph:Byte Ptr )
  77. Function FT_New_Face( ft_lib:Byte Ptr,arg$z,faceIndex,ft_face:Byte Ptr Ptr )
  78. Function FT_New_Memory_Face( ft_lib:Byte Ptr,buf:Byte Ptr,size,faceIndex,ft_face:Byte Ptr Ptr )
  79. Function FT_Set_Pixel_Sizes( ft_face:Byte Ptr,width,height )
  80. Function FT_Get_Char_Index( ft_face:Byte Ptr,index )
  81. Function FT_Set_Charmap( ft_face:Byte Ptr,charmap )
  82. Function FT_Load_Char( ft_face:Byte Ptr,index,flags )
  83. Function FT_Load_Glyph( ft_face:Byte Ptr,index,flags )
  84. Function FT_Render_Glyph( ft_glyph:Byte Ptr,Mode )
  85. Function bmx_freetype_Face_numglyphs:Int(ft_face:Byte Ptr)
  86. Function bmx_freetype_Face_glyph:Byte Ptr(ft_face:Byte Ptr)
  87. Function bmx_freetype_Face_size:Byte Ptr(ft_face:Byte Ptr)
  88. Function bmx_freetype_Size_height:Int(ft_size:Byte Ptr)
  89. Function bmx_freetype_Size_ascend:Int(ft_size:Byte Ptr)
  90. Function bmx_freetype_Size_descend:Int(ft_size:Byte Ptr)
  91. Function bmx_freetype_Face_family_name:String(ft_face:Byte Ptr)
  92. Function bmx_freetype_Face_style_name:String(ft_face:Byte Ptr)
  93. Function bmx_freetype_Slot_bitmapleft:Int(slot:Byte Ptr)
  94. Function bmx_freetype_Slot_bitmaptop:Int(slot:Byte Ptr)
  95. Function bmx_freetype_Slot_bitmap_width:Int(slot:Byte Ptr)
  96. Function bmx_freetype_Slot_bitmap_rows:Int(slot:Byte Ptr)
  97. Function bmx_freetype_Slot_bitmap_pitch:Int(slot:Byte Ptr)
  98. Function bmx_freetype_Slot_advance_x:Int(slot:Byte Ptr)
  99. Function bmx_freetype_Slot_bitmap_buffer:Byte Ptr(slot:Byte Ptr)
  100. Function bmx_freetype_Slot_bitmap_numgreys:Int(slot:Byte Ptr)
  101. End Extern
  102. Const FT_LOAD_DEFAULT=0
  103. Const FT_LOAD_NO_SCALE=1
  104. Const FT_LOAD_NO_HINTING=2
  105. Const FT_LOAD_RENDER=4
  106. Const FT_LOAD_NO_BITMAP=8
  107. Const FT_LOAD_VERTICAL_LAYOUT=$10
  108. Const FT_LOAD_FORCE_AUTOHINT=$20
  109. Const FT_LOAD_CROP_BITMAP=$40
  110. Const FT_LOAD_PEDANTIC=$80
  111. Const FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH=$200
  112. Const FT_LOAD_NO_RECURSE=$400
  113. Const FT_LOAD_IGNORE_TRANSFORM=$800
  114. Const FT_LOAD_MONOCHROME=$1000
  115. Const FT_LOAD_LINEAR_DESIGN=$2000
  116. Const FT_RENDER_MODE_NORMAL=0
  117. Const FT_RENDER_MODE_LIGHT=1
  118. Const FT_RENDER_MODE_MONO=2
  119. Const FT_RENDER_MODE_LCD=3
  120. Const FT_RENDER_MODE_LCD_V=4