@hxa-rn/react-native-gcanvas 6.0.24-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1280) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE +21 -0
  3. package/README.md +207 -0
  4. package/harmony/gcanvas/LICENSE +21 -0
  5. package/harmony/gcanvas/NOTICE +33 -0
  6. package/harmony/gcanvas/OAT.xml +38 -0
  7. package/harmony/gcanvas/build-profile.json5 +16 -0
  8. package/harmony/gcanvas/consumer-rules.txt +0 -0
  9. package/harmony/gcanvas/hvigorfile.ts +2 -0
  10. package/harmony/gcanvas/index.ets +1 -0
  11. package/harmony/gcanvas/oh-package.json5 +14 -0
  12. package/harmony/gcanvas/src/main/cpp/CMakeLists.txt +126 -0
  13. package/harmony/gcanvas/src/main/cpp/GCanvasEngine.cpp +665 -0
  14. package/harmony/gcanvas/src/main/cpp/GCanvasEngine.h +123 -0
  15. package/harmony/gcanvas/src/main/cpp/GCanvasNapi.cpp +485 -0
  16. package/harmony/gcanvas/src/main/cpp/GCanvasXComponent.cpp +166 -0
  17. package/harmony/gcanvas/src/main/cpp/GcanvasPackage.h +24 -0
  18. package/harmony/gcanvas/src/main/cpp/core/CMakeLists.txt +221 -0
  19. package/harmony/gcanvas/src/main/cpp/core/README.md +1 -0
  20. package/harmony/gcanvas/src/main/cpp/core/harmony/3d/gmanager.cpp +69 -0
  21. package/harmony/gcanvas/src/main/cpp/core/harmony/3d/gmanager.h +34 -0
  22. package/harmony/gcanvas/src/main/cpp/core/harmony/3d/jsc/weexjsc.h +14 -0
  23. package/harmony/gcanvas/src/main/cpp/core/harmony/3d/util/auto_ptr.h +110 -0
  24. package/harmony/gcanvas/src/main/cpp/core/harmony/3d/util/i_delete.h +23 -0
  25. package/harmony/gcanvas/src/main/cpp/core/harmony/3d/util/ref_count.h +34 -0
  26. package/harmony/gcanvas/src/main/cpp/core/harmony/3d/view/GcanvasWeexOhos.cpp +28 -0
  27. package/harmony/gcanvas/src/main/cpp/core/harmony/3d/view/GcanvasWeexOhos.h +27 -0
  28. package/harmony/gcanvas/src/main/cpp/core/harmony/3d/view/grenderer.cpp +677 -0
  29. package/harmony/gcanvas/src/main/cpp/core/harmony/3d/view/grenderer.h +127 -0
  30. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/LICENSE.TXT +46 -0
  31. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/README +107 -0
  32. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/config/ftconfig.h +51 -0
  33. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/config/ftheader.h +836 -0
  34. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/config/ftmodule.h +33 -0
  35. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/config/ftoption.h +1030 -0
  36. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/config/ftstdlib.h +185 -0
  37. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/config/integer-types.h +250 -0
  38. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/config/mac-support.h +49 -0
  39. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/config/public-macros.h +138 -0
  40. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/freetype.h +5289 -0
  41. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftadvanc.h +188 -0
  42. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftbbox.h +101 -0
  43. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftbdf.h +212 -0
  44. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftbitmap.h +329 -0
  45. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftbzip2.h +102 -0
  46. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftcache.h +1087 -0
  47. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftchapters.h +168 -0
  48. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftcid.h +167 -0
  49. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftcolor.h +1667 -0
  50. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftdriver.h +1320 -0
  51. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/fterrdef.h +283 -0
  52. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/fterrors.h +296 -0
  53. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftfntfmt.h +93 -0
  54. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftgasp.h +143 -0
  55. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftglyph.h +750 -0
  56. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftgxval.h +354 -0
  57. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftgzip.h +151 -0
  58. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftimage.h +1289 -0
  59. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftincrem.h +348 -0
  60. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftlcdfil.h +323 -0
  61. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftlist.h +296 -0
  62. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftlogging.h +184 -0
  63. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftlzw.h +100 -0
  64. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftmac.h +289 -0
  65. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftmm.h +834 -0
  66. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftmodapi.h +807 -0
  67. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftmoderr.h +204 -0
  68. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftotval.h +206 -0
  69. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftoutln.h +588 -0
  70. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftparams.h +218 -0
  71. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftpfr.h +179 -0
  72. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftrender.h +244 -0
  73. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftsizes.h +159 -0
  74. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftsnames.h +272 -0
  75. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftstroke.h +773 -0
  76. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftsynth.h +104 -0
  77. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftsystem.h +350 -0
  78. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/fttrigon.h +350 -0
  79. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/fttypes.h +617 -0
  80. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ftwinfnt.h +276 -0
  81. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/autohint.h +234 -0
  82. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/cffotypes.h +107 -0
  83. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/cfftypes.h +416 -0
  84. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/compiler-macros.h +343 -0
  85. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftcalc.h +584 -0
  86. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftdebug.h +442 -0
  87. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftdrv.h +289 -0
  88. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftgloadr.h +147 -0
  89. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/fthash.h +135 -0
  90. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftmemory.h +401 -0
  91. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftmmtypes.h +91 -0
  92. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftobjs.h +1232 -0
  93. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftpsprop.h +47 -0
  94. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftrfork.h +245 -0
  95. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftserv.h +495 -0
  96. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftstream.h +570 -0
  97. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/fttrace.h +173 -0
  98. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/ftvalid.h +160 -0
  99. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/psaux.h +1447 -0
  100. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/pshints.h +699 -0
  101. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svbdf.h +66 -0
  102. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svcfftl.h +90 -0
  103. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svcid.h +69 -0
  104. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svfntfmt.h +55 -0
  105. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svgldict.h +72 -0
  106. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svgxval.h +72 -0
  107. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svkern.h +51 -0
  108. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svmetric.h +131 -0
  109. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svmm.h +214 -0
  110. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svotval.h +55 -0
  111. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svpfr.h +65 -0
  112. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svpostnm.h +65 -0
  113. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svprop.h +66 -0
  114. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svpscmap.h +145 -0
  115. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svpsinfo.h +86 -0
  116. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svsfnt.h +88 -0
  117. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svttcmap.h +90 -0
  118. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svtteng.h +53 -0
  119. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svttglyf.h +56 -0
  120. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/services/svwinfnt.h +50 -0
  121. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/sfnt.h +1099 -0
  122. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/svginterface.h +46 -0
  123. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/t1types.h +307 -0
  124. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/tttypes.h +1747 -0
  125. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/internal/wofftypes.h +312 -0
  126. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/otsvg.h +336 -0
  127. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/t1tables.h +735 -0
  128. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/ttnameid.h +1235 -0
  129. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/tttables.h +856 -0
  130. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/freetype/tttags.h +124 -0
  131. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/include/ft2build.h +42 -0
  132. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afblue.c +779 -0
  133. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afblue.cin +39 -0
  134. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afblue.dat +1121 -0
  135. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afblue.h +429 -0
  136. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afblue.hin +146 -0
  137. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afcjk.c +2383 -0
  138. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afcjk.h +141 -0
  139. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afcover.h +105 -0
  140. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afdummy.c +77 -0
  141. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afdummy.h +40 -0
  142. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/aferrors.h +42 -0
  143. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afglobal.c +513 -0
  144. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afglobal.h +173 -0
  145. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afhints.c +1796 -0
  146. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afhints.h +467 -0
  147. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afindic.c +157 -0
  148. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afindic.h +41 -0
  149. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/aflatin.c +3643 -0
  150. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/aflatin.h +194 -0
  151. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afloader.c +706 -0
  152. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afloader.h +91 -0
  153. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afmodule.c +527 -0
  154. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afmodule.h +55 -0
  155. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afranges.c +1072 -0
  156. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afranges.h +47 -0
  157. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afscript.h +408 -0
  158. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afshaper.c +690 -0
  159. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afshaper.h +71 -0
  160. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afstyles.h +487 -0
  161. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/aftypes.h +511 -0
  162. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afws-decl.h +33 -0
  163. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/afws-iter.h +31 -0
  164. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/autofit.c +35 -0
  165. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/ft-hb.c +115 -0
  166. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/ft-hb.h +48 -0
  167. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/module.mk +23 -0
  168. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/autofit/rules.mk +88 -0
  169. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftadvanc.c +174 -0
  170. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftbase.c +41 -0
  171. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftbase.h +82 -0
  172. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftbbox.c +542 -0
  173. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftbdf.c +90 -0
  174. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftbitmap.c +1144 -0
  175. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftcalc.c +1126 -0
  176. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftcid.c +117 -0
  177. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftcolor.c +156 -0
  178. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftdbgmem.c +971 -0
  179. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftdebug.c +644 -0
  180. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/fterrors.c +45 -0
  181. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftfntfmt.c +54 -0
  182. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftfstype.c +61 -0
  183. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftgasp.c +60 -0
  184. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftgloadr.c +383 -0
  185. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftglyph.c +911 -0
  186. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftgxval.c +141 -0
  187. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/fthash.c +338 -0
  188. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftinit.c +263 -0
  189. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftlcdfil.c +437 -0
  190. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftmac.c +1099 -0
  191. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftmm.c +704 -0
  192. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftobjs.c +5917 -0
  193. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftotval.c +90 -0
  194. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftoutln.c +1120 -0
  195. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftpatent.c +50 -0
  196. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftpfr.c +152 -0
  197. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftpsprop.c +284 -0
  198. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftrfork.c +934 -0
  199. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftsnames.c +185 -0
  200. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftstream.c +872 -0
  201. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftstroke.c +2403 -0
  202. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftsynth.c +180 -0
  203. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftsystem.c +338 -0
  204. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/fttrigon.c +517 -0
  205. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/fttype1.c +126 -0
  206. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftutil.c +442 -0
  207. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftver.rc +61 -0
  208. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/ftwinfnt.c +52 -0
  209. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/md5.c +291 -0
  210. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/md5.h +45 -0
  211. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/base/rules.mk +108 -0
  212. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/bdf/README +152 -0
  213. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/bdf/bdf.c +34 -0
  214. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/bdf/bdf.h +253 -0
  215. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/bdf/bdfdrivr.c +1013 -0
  216. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/bdf/bdfdrivr.h +72 -0
  217. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/bdf/bdferror.h +45 -0
  218. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/bdf/bdflib.c +2378 -0
  219. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/bdf/module.mk +34 -0
  220. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/bdf/rules.mk +84 -0
  221. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/bzip2/ftbzip2.c +535 -0
  222. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/bzip2/rules.mk +64 -0
  223. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcache.c +31 -0
  224. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcbasic.c +598 -0
  225. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftccache.c +584 -0
  226. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftccache.h +359 -0
  227. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftccback.h +85 -0
  228. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftccmap.c +323 -0
  229. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcerror.h +42 -0
  230. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcglyph.c +204 -0
  231. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcglyph.h +314 -0
  232. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcimage.c +158 -0
  233. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcimage.h +106 -0
  234. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcmanag.c +677 -0
  235. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcmanag.h +175 -0
  236. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcmru.c +341 -0
  237. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcmru.h +242 -0
  238. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcsbits.c +413 -0
  239. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/ftcsbits.h +91 -0
  240. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cache/rules.mk +85 -0
  241. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cff.c +28 -0
  242. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffcmap.c +230 -0
  243. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffcmap.h +67 -0
  244. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffdrivr.c +1263 -0
  245. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffdrivr.h +35 -0
  246. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cfferrs.h +42 -0
  247. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffgload.c +762 -0
  248. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffgload.h +62 -0
  249. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffload.c +2570 -0
  250. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffload.h +124 -0
  251. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffobjs.c +1175 -0
  252. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffobjs.h +84 -0
  253. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffparse.c +1550 -0
  254. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cffparse.h +144 -0
  255. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/cfftoken.h +150 -0
  256. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/module.mk +23 -0
  257. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cff/rules.mk +75 -0
  258. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/ciderrs.h +41 -0
  259. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/cidgload.c +618 -0
  260. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/cidgload.h +58 -0
  261. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/cidload.c +937 -0
  262. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/cidload.h +52 -0
  263. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/cidobjs.c +543 -0
  264. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/cidobjs.h +154 -0
  265. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/cidparse.c +311 -0
  266. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/cidparse.h +130 -0
  267. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/cidriver.c +274 -0
  268. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/cidriver.h +36 -0
  269. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/cidtoken.h +115 -0
  270. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/module.mk +23 -0
  271. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/rules.mk +73 -0
  272. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/cid/type1cid.c +28 -0
  273. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/dlg/dlgwrap.c +32 -0
  274. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/dlg/rules.mk +70 -0
  275. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/README +532 -0
  276. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvalid.c +46 -0
  277. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvalid.h +107 -0
  278. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvbsln.c +334 -0
  279. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvcommn.c +1747 -0
  280. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvcommn.h +581 -0
  281. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxverror.h +51 -0
  282. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvfeat.c +339 -0
  283. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvfeat.h +173 -0
  284. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvfgen.c +484 -0
  285. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvjust.c +721 -0
  286. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvkern.c +920 -0
  287. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvlcar.c +224 -0
  288. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmod.c +288 -0
  289. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmod.h +46 -0
  290. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmort.c +301 -0
  291. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmort.h +99 -0
  292. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmort0.c +152 -0
  293. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmort1.c +260 -0
  294. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmort2.c +312 -0
  295. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmort4.c +126 -0
  296. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmort5.c +234 -0
  297. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmorx.c +199 -0
  298. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmorx.h +73 -0
  299. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmorx0.c +112 -0
  300. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmorx1.c +278 -0
  301. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmorx2.c +331 -0
  302. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmorx4.c +56 -0
  303. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvmorx5.c +226 -0
  304. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvopbd.c +218 -0
  305. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvprop.c +330 -0
  306. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/gxvtrak.c +288 -0
  307. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/module.mk +23 -0
  308. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gxvalid/rules.mk +98 -0
  309. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/README.freetype +22 -0
  310. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/adler32.c +168 -0
  311. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/crc32.c +1061 -0
  312. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/crc32.h +9446 -0
  313. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/ftgzip.c +805 -0
  314. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/ftzconf.h +551 -0
  315. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/gzguts.h +218 -0
  316. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/inffast.c +320 -0
  317. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/inffast.h +11 -0
  318. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/inffixed.h +94 -0
  319. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/inflate.c +1534 -0
  320. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/inflate.h +131 -0
  321. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/inftrees.c +299 -0
  322. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/inftrees.h +67 -0
  323. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/patches/freetype-zlib.diff +451 -0
  324. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/rules.mk +81 -0
  325. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/zlib.h +1972 -0
  326. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/zutil.c +305 -0
  327. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/gzip/zutil.h +281 -0
  328. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/lzw/ftlzw.c +415 -0
  329. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/lzw/ftzopen.c +429 -0
  330. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/lzw/ftzopen.h +174 -0
  331. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/lzw/rules.mk +72 -0
  332. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/module.mk +23 -0
  333. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvalid.c +31 -0
  334. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvalid.h +77 -0
  335. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvbase.c +345 -0
  336. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvcommn.c +1099 -0
  337. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvcommn.h +468 -0
  338. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otverror.h +42 -0
  339. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvgdef.c +303 -0
  340. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvgpos.c +1051 -0
  341. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvgpos.h +36 -0
  342. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvgsub.c +627 -0
  343. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvjstf.c +259 -0
  344. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvmath.c +453 -0
  345. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvmod.c +281 -0
  346. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/otvmod.h +38 -0
  347. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/otvalid/rules.mk +81 -0
  348. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/README +96 -0
  349. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/module.mk +34 -0
  350. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/pcf.c +35 -0
  351. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/pcf.h +251 -0
  352. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/pcfdrivr.c +836 -0
  353. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/pcfdrivr.h +44 -0
  354. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/pcferror.h +41 -0
  355. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/pcfread.c +1731 -0
  356. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/pcfread.h +44 -0
  357. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/pcfutil.c +119 -0
  358. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/pcfutil.h +55 -0
  359. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pcf/rules.mk +82 -0
  360. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/module.mk +23 -0
  361. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfr.c +29 -0
  362. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrcmap.c +188 -0
  363. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrcmap.h +45 -0
  364. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrdrivr.c +212 -0
  365. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrdrivr.h +36 -0
  366. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrerror.h +41 -0
  367. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrgload.c +849 -0
  368. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrgload.h +49 -0
  369. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrload.c +1062 -0
  370. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrload.h +123 -0
  371. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrobjs.c +603 -0
  372. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrobjs.h +96 -0
  373. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrsbit.c +813 -0
  374. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrsbit.h +37 -0
  375. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/pfrtypes.h +331 -0
  376. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pfr/rules.mk +76 -0
  377. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/afmparse.c +1094 -0
  378. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/afmparse.h +88 -0
  379. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/cffdecode.c +2411 -0
  380. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/cffdecode.h +63 -0
  381. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/module.mk +23 -0
  382. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psarrst.c +240 -0
  383. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psarrst.h +99 -0
  384. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psaux.c +40 -0
  385. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psauxerr.h +42 -0
  386. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psauxmod.c +190 -0
  387. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psauxmod.h +60 -0
  388. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psblues.c +571 -0
  389. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psblues.h +185 -0
  390. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psconv.c +610 -0
  391. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psconv.h +70 -0
  392. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/pserror.c +52 -0
  393. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/pserror.h +120 -0
  394. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psfixed.h +94 -0
  395. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psfont.c +566 -0
  396. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psfont.h +134 -0
  397. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psft.c +895 -0
  398. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psft.h +167 -0
  399. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psglue.h +144 -0
  400. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/pshints.c +1952 -0
  401. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/pshints.h +288 -0
  402. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psintrp.c +3050 -0
  403. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psintrp.h +83 -0
  404. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psobjs.c +2560 -0
  405. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psobjs.h +312 -0
  406. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psread.c +112 -0
  407. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psread.h +68 -0
  408. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psstack.c +329 -0
  409. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/psstack.h +122 -0
  410. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/pstypes.h +77 -0
  411. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/rules.mk +89 -0
  412. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/t1cmap.c +393 -0
  413. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/t1cmap.h +104 -0
  414. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/t1decode.c +2159 -0
  415. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psaux/t1decode.h +73 -0
  416. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/module.mk +23 -0
  417. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/pshalgo.c +2191 -0
  418. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/pshalgo.h +233 -0
  419. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/pshglob.c +795 -0
  420. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/pshglob.h +196 -0
  421. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/pshinter.c +27 -0
  422. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/pshmod.c +125 -0
  423. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/pshmod.h +38 -0
  424. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/pshnterr.h +41 -0
  425. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/pshrec.c +1224 -0
  426. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/pshrec.h +171 -0
  427. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/pshinter/rules.mk +75 -0
  428. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psnames/module.mk +23 -0
  429. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psnames/psmodule.c +621 -0
  430. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psnames/psmodule.h +37 -0
  431. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psnames/psnamerr.h +42 -0
  432. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psnames/psnames.c +24 -0
  433. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psnames/pstables.h +4238 -0
  434. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/psnames/rules.mk +73 -0
  435. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/raster/ftmisc.h +118 -0
  436. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/raster/ftraster.c +2738 -0
  437. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/raster/ftraster.h +47 -0
  438. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/raster/ftrend1.c +209 -0
  439. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/raster/ftrend1.h +37 -0
  440. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/raster/module.mk +23 -0
  441. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/raster/raster.c +25 -0
  442. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/raster/rasterrs.h +42 -0
  443. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/raster/rules.mk +72 -0
  444. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sdf/ftbsdf.c +1350 -0
  445. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sdf/ftsdf.c +3932 -0
  446. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sdf/ftsdf.h +97 -0
  447. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sdf/ftsdfcommon.c +104 -0
  448. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sdf/ftsdfcommon.h +140 -0
  449. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sdf/ftsdferrs.h +37 -0
  450. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sdf/ftsdfrend.c +603 -0
  451. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sdf/ftsdfrend.h +118 -0
  452. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sdf/module.mk +29 -0
  453. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sdf/rules.mk +78 -0
  454. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sdf/sdf.c +29 -0
  455. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/module.mk +23 -0
  456. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/pngshim.c +474 -0
  457. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/pngshim.h +50 -0
  458. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/rules.mk +87 -0
  459. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/sfdriver.c +1384 -0
  460. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/sfdriver.h +35 -0
  461. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/sferrors.h +41 -0
  462. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/sfnt.c +41 -0
  463. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/sfobjs.c +1552 -0
  464. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/sfobjs.h +58 -0
  465. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/sfwoff.c +426 -0
  466. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/sfwoff.h +43 -0
  467. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/sfwoff2.c +2380 -0
  468. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/sfwoff2.h +78 -0
  469. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttbdf.c +257 -0
  470. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttbdf.h +49 -0
  471. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttcmap.c +3902 -0
  472. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttcmap.h +126 -0
  473. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttcmapc.h +56 -0
  474. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttcolr.c +1923 -0
  475. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttcolr.h +83 -0
  476. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttcpal.c +310 -0
  477. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttcpal.h +48 -0
  478. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttgpos.c +598 -0
  479. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttgpos.h +53 -0
  480. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttkern.c +317 -0
  481. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttkern.h +51 -0
  482. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttload.c +1496 -0
  483. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttload.h +111 -0
  484. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttmtx.c +338 -0
  485. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttmtx.h +54 -0
  486. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttpost.c +484 -0
  487. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttpost.h +46 -0
  488. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttsbit.c +1685 -0
  489. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttsbit.h +62 -0
  490. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttsvg.c +413 -0
  491. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/ttsvg.h +43 -0
  492. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/woff2tags.c +119 -0
  493. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/sfnt/woff2tags.h +41 -0
  494. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/smooth/ftgrays.c +2149 -0
  495. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/smooth/ftgrays.h +57 -0
  496. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/smooth/ftsmerrs.h +42 -0
  497. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/smooth/ftsmooth.c +605 -0
  498. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/smooth/ftsmooth.h +37 -0
  499. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/smooth/module.mk +23 -0
  500. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/smooth/rules.mk +73 -0
  501. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/smooth/smooth.c +25 -0
  502. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/svg/ftsvg.c +355 -0
  503. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/svg/ftsvg.h +35 -0
  504. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/svg/module.mk +23 -0
  505. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/svg/rules.mk +70 -0
  506. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/svg/svg.c +24 -0
  507. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/svg/svgtypes.h +42 -0
  508. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/afblue.pl +551 -0
  509. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/apinames.c +556 -0
  510. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/chktrcmp.py +119 -0
  511. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/cordic.py +32 -0
  512. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/ftrandom/Makefile +45 -0
  513. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/ftrandom/README +69 -0
  514. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/ftrandom/ftrandom.c +720 -0
  515. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/glnames.py +5533 -0
  516. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/make_distribution_archives.py +208 -0
  517. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/no-copyright +66 -0
  518. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/test_afm.c +156 -0
  519. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/test_bbox.c +187 -0
  520. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/test_trig.c +257 -0
  521. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/update-copyright +14 -0
  522. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/update-copyright-year +157 -0
  523. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/tools/vms_shorten_symbol.c +250 -0
  524. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/module.mk +23 -0
  525. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/rules.mk +75 -0
  526. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/truetype.c +29 -0
  527. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttdriver.c +704 -0
  528. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttdriver.h +35 -0
  529. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/tterrors.h +42 -0
  530. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttgload.c +2740 -0
  531. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttgload.h +61 -0
  532. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttgxvar.c +4594 -0
  533. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttgxvar.h +453 -0
  534. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttinterp.c +7751 -0
  535. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttinterp.h +465 -0
  536. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttobjs.c +1543 -0
  537. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttobjs.h +426 -0
  538. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttpload.c +665 -0
  539. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/truetype/ttpload.h +74 -0
  540. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/module.mk +23 -0
  541. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/rules.mk +76 -0
  542. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1afm.c +413 -0
  543. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1afm.h +53 -0
  544. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1driver.c +807 -0
  545. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1driver.h +35 -0
  546. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1errors.h +41 -0
  547. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1gload.c +606 -0
  548. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1gload.h +52 -0
  549. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1load.c +2755 -0
  550. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1load.h +126 -0
  551. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1objs.c +655 -0
  552. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1objs.h +160 -0
  553. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1parse.c +487 -0
  554. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1parse.h +137 -0
  555. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/t1tokens.h +143 -0
  556. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type1/type1.c +29 -0
  557. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type42/module.mk +23 -0
  558. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type42/rules.mk +73 -0
  559. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type42/t42drivr.c +248 -0
  560. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type42/t42drivr.h +36 -0
  561. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type42/t42error.h +41 -0
  562. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type42/t42objs.c +698 -0
  563. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type42/t42objs.h +123 -0
  564. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type42/t42parse.c +1351 -0
  565. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type42/t42parse.h +91 -0
  566. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type42/t42types.h +56 -0
  567. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/type42/type42.c +26 -0
  568. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/winfonts/fnterrs.h +42 -0
  569. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/winfonts/module.mk +23 -0
  570. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/winfonts/rules.mk +68 -0
  571. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/winfonts/winfnt.c +1219 -0
  572. package/harmony/gcanvas/src/main/cpp/core/harmony/freetype/src/winfonts/winfnt.h +164 -0
  573. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/.appveyor.yml +69 -0
  574. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/.travis.yml +41 -0
  575. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/ANNOUNCE +55 -0
  576. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/AUTHORS +46 -0
  577. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/CHANGES +6111 -0
  578. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/CMakeLists.txt +1042 -0
  579. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/INSTALL +465 -0
  580. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/LICENSE +134 -0
  581. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/Makefile.am +392 -0
  582. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/Makefile.in +2420 -0
  583. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/README +183 -0
  584. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/TODO +23 -0
  585. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/TRADEMARK +8 -0
  586. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/aclocal.m4 +1196 -0
  587. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/arm/arm_init.c +136 -0
  588. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/arm/filter_neon.S +253 -0
  589. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/arm/filter_neon_intrinsics.c +402 -0
  590. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/arm/palette_neon_intrinsics.c +149 -0
  591. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/autogen.sh +225 -0
  592. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/ci/ci_autotools.sh +95 -0
  593. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/ci/ci_cmake.sh +127 -0
  594. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/ci/ci_legacy.sh +116 -0
  595. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/compile +348 -0
  596. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/config.guess +1476 -0
  597. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/config.h.in +126 -0
  598. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/config.sub +1801 -0
  599. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/configure +16116 -0
  600. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/configure.ac +532 -0
  601. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/README.txt +5 -0
  602. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/arm-neon/README +83 -0
  603. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/arm-neon/android-ndk.c +39 -0
  604. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/arm-neon/linux-auxv.c +120 -0
  605. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/arm-neon/linux.c +161 -0
  606. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/conftest/README +49 -0
  607. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/conftest/pngcp.dfa +57 -0
  608. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/conftest/read.dfa +58 -0
  609. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/conftest/s_read.dfa +35 -0
  610. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/conftest/s_write.dfa +33 -0
  611. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/conftest/simple.dfa +36 -0
  612. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/conftest/write.dfa +45 -0
  613. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/examples/README.txt +24 -0
  614. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/examples/iccfrompng.c +185 -0
  615. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/examples/pngpixel.c +371 -0
  616. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/examples/pngtopng.c +98 -0
  617. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/examples/simpleover.c +648 -0
  618. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/COPYING +340 -0
  619. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/LICENSE +50 -0
  620. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/Makefile.mingw32 +131 -0
  621. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/Makefile.sgi +105 -0
  622. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/Makefile.unx +134 -0
  623. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/Makefile.w32 +114 -0
  624. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/README +186 -0
  625. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/makevms.com +132 -0
  626. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/readpng.c +323 -0
  627. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/readpng.h +88 -0
  628. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/readpng2.c +521 -0
  629. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/readpng2.h +116 -0
  630. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/readppm.c +188 -0
  631. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/rpng-win.c +735 -0
  632. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/rpng-x.c +911 -0
  633. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/rpng2-win.c +1261 -0
  634. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/rpng2-x.c +2143 -0
  635. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/toucan.png +0 -0
  636. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/wpng.c +865 -0
  637. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/writepng.c +401 -0
  638. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/gregbook/writepng.h +133 -0
  639. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/libtests/fakepng.c +65 -0
  640. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/libtests/gentests.sh +100 -0
  641. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/libtests/makepng.c +1948 -0
  642. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/libtests/pngimage.c +1722 -0
  643. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/libtests/pngstest-errors.h +165 -0
  644. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/libtests/pngstest.c +3832 -0
  645. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/libtests/pngunknown.c +1305 -0
  646. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/libtests/pngvalid.c +12279 -0
  647. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/libtests/readpng.c +114 -0
  648. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/libtests/tarith.c +1011 -0
  649. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/libtests/timepng.c +607 -0
  650. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/mips-msa/README +83 -0
  651. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/mips-msa/linux.c +67 -0
  652. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/oss-fuzz/Dockerfile +25 -0
  653. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/oss-fuzz/README.txt +37 -0
  654. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/oss-fuzz/build.sh +51 -0
  655. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc +209 -0
  656. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/oss-fuzz/libpng_read_fuzzer.options +2 -0
  657. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/oss-fuzz/png.dict +39 -0
  658. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminim/README +5 -0
  659. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminim/decoder/README +10 -0
  660. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminim/decoder/pngusr.dfa +40 -0
  661. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminim/decoder/pngusr.h +23 -0
  662. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminim/encoder/README +10 -0
  663. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminim/encoder/pngusr.dfa +39 -0
  664. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminim/encoder/pngusr.h +23 -0
  665. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminim/preader/README +15 -0
  666. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminim/preader/pngusr.dfa +40 -0
  667. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminim/preader/pngusr.h +23 -0
  668. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/CHANGES.txt +13 -0
  669. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/CMakeLists.txt +34 -0
  670. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/LICENSE.txt +22 -0
  671. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/README.txt +120 -0
  672. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/makevms.com +92 -0
  673. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/png2pnm.bat +41 -0
  674. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/png2pnm.c +427 -0
  675. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/png2pnm.sh +42 -0
  676. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/pngminus.bat +4 -0
  677. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/pngminus.sh +5 -0
  678. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/pnm2png.bat +41 -0
  679. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/pnm2png.c +620 -0
  680. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngminus/pnm2png.sh +42 -0
  681. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/README +107 -0
  682. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/bad_interlace_conversions.txt +9 -0
  683. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn0g01.png +0 -0
  684. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn0g02.png +0 -0
  685. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn0g04.png +0 -0
  686. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn0g08.png +0 -0
  687. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn0g16.png +0 -0
  688. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn2c08.png +0 -0
  689. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn2c16.png +0 -0
  690. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn3p01.png +0 -0
  691. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn3p02.png +0 -0
  692. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn3p04.png +0 -0
  693. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn3p08.png +0 -0
  694. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn4a08.png +0 -0
  695. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn4a16.png +0 -0
  696. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn6a08.png +0 -0
  697. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/basn6a16.png +0 -0
  698. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftbbn0g01.png +0 -0
  699. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftbbn0g02.png +0 -0
  700. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftbbn0g04.png +0 -0
  701. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftbbn2c16.png +0 -0
  702. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftbbn3p08.png +0 -0
  703. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftbgn2c16.png +0 -0
  704. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftbgn3p08.png +0 -0
  705. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftbrn2c08.png +0 -0
  706. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftbwn0g16.png +0 -0
  707. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftbwn3p08.png +0 -0
  708. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftbyn3p08.png +0 -0
  709. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftp0n0g08.png +0 -0
  710. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftp0n2c08.png +0 -0
  711. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftp0n3p08.png +0 -0
  712. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ftp1n3p08.png +0 -0
  713. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ibasn0g08.png +0 -0
  714. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ibasn0g16.png +0 -0
  715. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ibasn2c08.png +0 -0
  716. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ibasn2c16.png +0 -0
  717. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ibasn3p08.png +0 -0
  718. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ibasn4a08.png +0 -0
  719. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ibasn4a16.png +0 -0
  720. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ibasn6a08.png +0 -0
  721. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/ibasn6a16.png +0 -0
  722. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftbbn2c16.png +0 -0
  723. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftbbn3p08.png +0 -0
  724. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftbgn2c16.png +0 -0
  725. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftbgn3p08.png +0 -0
  726. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftbrn2c08.png +0 -0
  727. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftbwn0g16.png +0 -0
  728. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftbwn3p08.png +0 -0
  729. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftbyn3p08.png +0 -0
  730. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftp0n0g08.png +0 -0
  731. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftp0n2c08.png +0 -0
  732. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftp0n3p08.png +0 -0
  733. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/iftp1n3p08.png +0 -0
  734. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/interlaced/README +2 -0
  735. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/interlaced/ibasn0g01.png +0 -0
  736. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/interlaced/ibasn0g02.png +0 -0
  737. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/interlaced/ibasn0g04.png +0 -0
  738. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/interlaced/ibasn3p01.png +0 -0
  739. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/interlaced/ibasn3p02.png +0 -0
  740. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/interlaced/ibasn3p04.png +0 -0
  741. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/interlaced/iftbbn0g01.png +0 -0
  742. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/interlaced/iftbbn0g02.png +0 -0
  743. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/pngsuite/interlaced/iftbbn0g04.png +0 -0
  744. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/powerpc-vsx/README +81 -0
  745. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/powerpc-vsx/linux.c +57 -0
  746. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/powerpc-vsx/linux_aux.c +34 -0
  747. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/bad_iCCP.png +0 -0
  748. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/badadler.png +0 -0
  749. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/badcrc.png +0 -0
  750. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/empty_ancillary_chunks.png +0 -0
  751. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_IDAT.png +0 -0
  752. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_bKGD_chunk.png +0 -0
  753. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_cHRM_chunk.png +0 -0
  754. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_eXIf_chunk.png +0 -0
  755. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_gAMA_chunk.png +0 -0
  756. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_hIST_chunk.png +0 -0
  757. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_iCCP_chunk.png +0 -0
  758. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_iTXt_chunk.png +0 -0
  759. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_juNK_unsafe_to_copy.png +0 -0
  760. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_juNk_safe_to_copy.png +0 -0
  761. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_pCAL_chunk.png +0 -0
  762. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_pHYs_chunk.png +0 -0
  763. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_sCAL_chunk.png +0 -0
  764. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_sPLT_chunk.png +0 -0
  765. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_sRGB_chunk.png +0 -0
  766. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_sTER_chunk.png +0 -0
  767. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_tEXt_chunk.png +0 -0
  768. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_tIME_chunk.png +0 -0
  769. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/crashers/huge_zTXt_chunk.png +0 -0
  770. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-1-1.8-tRNS.png +0 -0
  771. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-1-1.8.png +0 -0
  772. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-1-linear-tRNS.png +0 -0
  773. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-1-linear.png +0 -0
  774. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-1-sRGB-tRNS.png +0 -0
  775. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-1-sRGB.png +0 -0
  776. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-1-tRNS.png +0 -0
  777. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-1.png +0 -0
  778. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-16-1.8-tRNS.png +0 -0
  779. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-16-1.8.png +0 -0
  780. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-16-linear-tRNS.png +0 -0
  781. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-16-linear.png +0 -0
  782. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-16-sRGB-tRNS.png +0 -0
  783. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-16-sRGB.png +0 -0
  784. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-16-tRNS.png +0 -0
  785. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-16.png +0 -0
  786. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-2-1.8-tRNS.png +0 -0
  787. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-2-1.8.png +0 -0
  788. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-2-linear-tRNS.png +0 -0
  789. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-2-linear.png +0 -0
  790. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-2-sRGB-tRNS.png +0 -0
  791. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-2-sRGB.png +0 -0
  792. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-2-tRNS.png +0 -0
  793. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-2.png +0 -0
  794. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-4-1.8-tRNS.png +0 -0
  795. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-4-1.8.png +0 -0
  796. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-4-linear-tRNS.png +0 -0
  797. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-4-linear.png +0 -0
  798. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-4-sRGB-tRNS.png +0 -0
  799. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-4-sRGB.png +0 -0
  800. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-4-tRNS.png +0 -0
  801. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-4.png +0 -0
  802. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-8-1.8-tRNS.png +0 -0
  803. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-8-1.8.png +0 -0
  804. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-8-linear-tRNS.png +0 -0
  805. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-8-linear.png +0 -0
  806. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-8-sRGB-tRNS.png +0 -0
  807. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-8-sRGB.png +0 -0
  808. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-8-tRNS.png +0 -0
  809. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-8.png +0 -0
  810. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-alpha-16-1.8.png +0 -0
  811. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-alpha-16-linear.png +0 -0
  812. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-alpha-16-sRGB.png +0 -0
  813. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-alpha-16.png +0 -0
  814. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-alpha-8-1.8.png +0 -0
  815. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-alpha-8-linear.png +0 -0
  816. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-alpha-8-sRGB.png +0 -0
  817. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/gray-alpha-8.png +0 -0
  818. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/makepngs.sh +94 -0
  819. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-1-1.8-tRNS.png +0 -0
  820. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-1-1.8.png +0 -0
  821. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-1-linear-tRNS.png +0 -0
  822. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-1-linear.png +0 -0
  823. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-1-sRGB-tRNS.png +0 -0
  824. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-1-sRGB.png +0 -0
  825. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-1-tRNS.png +0 -0
  826. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-1.png +0 -0
  827. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-2-1.8-tRNS.png +0 -0
  828. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-2-1.8.png +0 -0
  829. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-2-linear-tRNS.png +0 -0
  830. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-2-linear.png +0 -0
  831. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-2-sRGB-tRNS.png +0 -0
  832. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-2-sRGB.png +0 -0
  833. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-2-tRNS.png +0 -0
  834. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-2.png +0 -0
  835. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-4-1.8-tRNS.png +0 -0
  836. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-4-1.8.png +0 -0
  837. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-4-linear-tRNS.png +0 -0
  838. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-4-linear.png +0 -0
  839. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-4-sRGB-tRNS.png +0 -0
  840. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-4-sRGB.png +0 -0
  841. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-4-tRNS.png +0 -0
  842. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-4.png +0 -0
  843. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-8-1.8-tRNS.png +0 -0
  844. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-8-1.8.png +0 -0
  845. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-8-linear-tRNS.png +0 -0
  846. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-8-linear.png +0 -0
  847. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-8-sRGB-tRNS.png +0 -0
  848. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-8-sRGB.png +0 -0
  849. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-8-tRNS.png +0 -0
  850. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/palette-8.png +0 -0
  851. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-16-1.8-tRNS.png +0 -0
  852. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-16-1.8.png +0 -0
  853. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-16-linear-tRNS.png +0 -0
  854. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-16-linear.png +0 -0
  855. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-16-sRGB-tRNS.png +0 -0
  856. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-16-sRGB.png +0 -0
  857. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-16-tRNS.png +0 -0
  858. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-16.png +0 -0
  859. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-8-1.8-tRNS.png +0 -0
  860. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-8-1.8.png +0 -0
  861. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-8-linear-tRNS.png +0 -0
  862. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-8-linear.png +0 -0
  863. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-8-sRGB-tRNS.png +0 -0
  864. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-8-sRGB.png +0 -0
  865. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-8-tRNS.png +0 -0
  866. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-8.png +0 -0
  867. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-alpha-16-1.8.png +0 -0
  868. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-alpha-16-linear.png +0 -0
  869. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-alpha-16-sRGB.png +0 -0
  870. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-alpha-16.png +0 -0
  871. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-alpha-8-1.8.png +0 -0
  872. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-alpha-8-linear.png +0 -0
  873. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-alpha-8-sRGB.png +0 -0
  874. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/testpngs/rgb-alpha-8.png +0 -0
  875. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/README.txt +27 -0
  876. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/checksum-icc.c +102 -0
  877. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/chkfmt +144 -0
  878. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/cvtcolor.c +188 -0
  879. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/genpng.c +881 -0
  880. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/intgamma.sh +110 -0
  881. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/makesRGB.c +430 -0
  882. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/png-fix-itxt.c +164 -0
  883. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/pngcp.c +2453 -0
  884. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/pngfix.c +4049 -0
  885. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/reindent +25 -0
  886. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/tools/sRGB.h +48 -0
  887. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/visupng/PngFile.c +454 -0
  888. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/visupng/PngFile.h +30 -0
  889. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/visupng/README.txt +61 -0
  890. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/visupng/VisualPng.c +978 -0
  891. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/visupng/VisualPng.dsp +147 -0
  892. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/visupng/VisualPng.dsw +29 -0
  893. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/visupng/VisualPng.ico +0 -0
  894. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/visupng/VisualPng.png +0 -0
  895. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/visupng/VisualPng.rc +152 -0
  896. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/visupng/cexcept.h +248 -0
  897. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/contrib/visupng/resource.h +23 -0
  898. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/depcomp +791 -0
  899. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/example.c +1041 -0
  900. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/install-sh +518 -0
  901. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/intel/filter_sse2_intrinsics.c +391 -0
  902. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/intel/intel_init.c +52 -0
  903. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/libpng-config.in +127 -0
  904. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/libpng-manual.txt +5409 -0
  905. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/libpng.3 +6052 -0
  906. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/libpng.pc.in +12 -0
  907. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/libpngpf.3 +24 -0
  908. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/ltmain.sh +11147 -0
  909. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/mips/filter_msa_intrinsics.c +808 -0
  910. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/mips/mips_init.c +130 -0
  911. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/missing +215 -0
  912. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/png.5 +84 -0
  913. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/png.c +4607 -0
  914. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/png.h +3247 -0
  915. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngbar.jpg +0 -0
  916. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngbar.png +0 -0
  917. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngconf.h +623 -0
  918. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngdebug.h +153 -0
  919. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngerror.c +963 -0
  920. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngget.c +1249 -0
  921. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pnginfo.h +267 -0
  922. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pnglibconf.h +219 -0
  923. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngmem.c +284 -0
  924. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngnow.png +0 -0
  925. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngpread.c +1096 -0
  926. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngpriv.h +2152 -0
  927. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngread.c +4225 -0
  928. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngrio.c +120 -0
  929. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngrtran.c +5044 -0
  930. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngrutil.c +4678 -0
  931. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngset.c +1802 -0
  932. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngstruct.h +489 -0
  933. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngtest.c +2158 -0
  934. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngtest.png +0 -0
  935. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngtrans.c +864 -0
  936. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngusr.dfa +14 -0
  937. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngwio.c +168 -0
  938. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngwrite.c +2390 -0
  939. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngwtran.c +575 -0
  940. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/pngwutil.c +2781 -0
  941. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/powerpc/filter_vsx_intrinsics.c +768 -0
  942. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/powerpc/powerpc_init.c +126 -0
  943. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/owatcom/libpng.tgt +383 -0
  944. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/owatcom/libpng.wpj +112 -0
  945. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/owatcom/pngconfig.mak +160 -0
  946. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/owatcom/pngstest.tgt +219 -0
  947. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/owatcom/pngtest.tgt +179 -0
  948. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/owatcom/pngvalid.tgt +210 -0
  949. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/visualc71/PRJ0041.mak +21 -0
  950. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/visualc71/README.txt +58 -0
  951. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/visualc71/README_zlib.txt +44 -0
  952. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/visualc71/libpng.sln +60 -0
  953. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/visualc71/libpng.vcproj +419 -0
  954. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/visualc71/pngtest.vcproj +267 -0
  955. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/visualc71/zlib.vcproj +391 -0
  956. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/vstudio/README.txt +87 -0
  957. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/vstudio/libpng/libpng.vcxproj +234 -0
  958. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/vstudio/pnglibconf/pnglibconf.vcxproj +61 -0
  959. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/vstudio/vstudio.sln +109 -0
  960. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/vstudio/zlib/zlib.vcxproj +175 -0
  961. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/projects/vstudio/zlib.props +57 -0
  962. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/README.txt +83 -0
  963. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/SCOPTIONS.ppc +7 -0
  964. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/checksym.awk +173 -0
  965. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/descrip.mms +47 -0
  966. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/dfn.awk +203 -0
  967. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/genchk.cmake.in +37 -0
  968. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/genout.cmake.in +105 -0
  969. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/gensrc.cmake.in +138 -0
  970. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/intprefix.c +22 -0
  971. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/libpng-config-body.in +96 -0
  972. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/libpng-config-head.in +24 -0
  973. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/libpng.pc.in +10 -0
  974. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/libtool.m4 +8369 -0
  975. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/ltoptions.m4 +437 -0
  976. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/ltsugar.m4 +124 -0
  977. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/ltversion.m4 +23 -0
  978. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/lt~obsolete.m4 +99 -0
  979. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/macro.lst +3 -0
  980. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.32sunu +241 -0
  981. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.64sunu +241 -0
  982. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.acorn +57 -0
  983. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.aix +116 -0
  984. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.amiga +58 -0
  985. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.atari +71 -0
  986. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.bc32 +158 -0
  987. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.beos +222 -0
  988. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.cegcc +116 -0
  989. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.clang +87 -0
  990. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.darwin +222 -0
  991. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.dec +210 -0
  992. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.dj2 +72 -0
  993. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.freebsd +66 -0
  994. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.gcc +87 -0
  995. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.hp64 +228 -0
  996. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.hpgcc +225 -0
  997. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.hpux +226 -0
  998. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.ibmc +90 -0
  999. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.intel +118 -0
  1000. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.linux +240 -0
  1001. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.linux-opt +258 -0
  1002. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.mips +100 -0
  1003. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.msys +199 -0
  1004. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.netbsd +55 -0
  1005. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.openbsd +86 -0
  1006. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.sco +223 -0
  1007. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.sggcc +233 -0
  1008. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.sgi +234 -0
  1009. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.so9 +244 -0
  1010. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.solaris +240 -0
  1011. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.std +133 -0
  1012. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.sunos +112 -0
  1013. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makefile.vcwin32 +112 -0
  1014. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/makevms.com +142 -0
  1015. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/options.awk +898 -0
  1016. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/pnglibconf.dfa +920 -0
  1017. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/pnglibconf.h.prebuilt +219 -0
  1018. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/pnglibconf.mak +55 -0
  1019. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/pngwin.rc +112 -0
  1020. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/prefix.c +24 -0
  1021. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/smakefile.ppc +34 -0
  1022. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/sym.c +15 -0
  1023. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/symbols.c +58 -0
  1024. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/symbols.def +255 -0
  1025. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/test.cmake.in +31 -0
  1026. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/scripts/vers.c +19 -0
  1027. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/test-driver +148 -0
  1028. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngimage-full +2 -0
  1029. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngimage-quick +2 -0
  1030. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngstest-1.8 +2 -0
  1031. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngstest-1.8-alpha +2 -0
  1032. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngstest-linear +2 -0
  1033. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngstest-linear-alpha +2 -0
  1034. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngstest-none +2 -0
  1035. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngstest-none-alpha +2 -0
  1036. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngstest-sRGB +2 -0
  1037. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngstest-sRGB-alpha +2 -0
  1038. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngtest-all +16 -0
  1039. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngunknown-IDAT +2 -0
  1040. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngunknown-discard +2 -0
  1041. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngunknown-if-safe +2 -0
  1042. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngunknown-sAPI +2 -0
  1043. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngunknown-sTER +2 -0
  1044. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngunknown-save +2 -0
  1045. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngunknown-vpAg +2 -0
  1046. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-gamma-16-to-8 +2 -0
  1047. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-gamma-alpha-mode +2 -0
  1048. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-gamma-background +2 -0
  1049. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-gamma-expand16-alpha-mode +2 -0
  1050. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-gamma-expand16-background +2 -0
  1051. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-gamma-expand16-transform +2 -0
  1052. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-gamma-sbit +2 -0
  1053. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-gamma-threshold +2 -0
  1054. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-gamma-transform +2 -0
  1055. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-progressive-interlace-standard +2 -0
  1056. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-progressive-size +2 -0
  1057. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-progressive-standard +2 -0
  1058. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-standard +2 -0
  1059. package/harmony/gcanvas/src/main/cpp/core/harmony/libpng/tests/pngvalid-transform +2 -0
  1060. package/harmony/gcanvas/src/main/cpp/core/harmony/manager/GCanvasManagerOhos.cpp +50 -0
  1061. package/harmony/gcanvas/src/main/cpp/core/harmony/memory/AutoPtr.h +99 -0
  1062. package/harmony/gcanvas/src/main/cpp/core/harmony/memory/IDelete.h +25 -0
  1063. package/harmony/gcanvas/src/main/cpp/core/harmony/memory/RefCount.h +55 -0
  1064. package/harmony/gcanvas/src/main/cpp/core/harmony/png/IPngCoder.h +38 -0
  1065. package/harmony/gcanvas/src/main/cpp/core/harmony/png/LodePngCoder.cpp +101 -0
  1066. package/harmony/gcanvas/src/main/cpp/core/harmony/png/LodePngCoder.h +40 -0
  1067. package/harmony/gcanvas/src/main/cpp/core/harmony/png/PngLoader.cpp +114 -0
  1068. package/harmony/gcanvas/src/main/cpp/core/harmony/png/PngLoader.h +53 -0
  1069. package/harmony/gcanvas/src/main/cpp/core/harmony/png/thirdparty/lodepng.c +6292 -0
  1070. package/harmony/gcanvas/src/main/cpp/core/harmony/png/thirdparty/lodepng.h +1890 -0
  1071. package/harmony/gcanvas/src/main/cpp/core/src/GCanvas.cpp +89 -0
  1072. package/harmony/gcanvas/src/main/cpp/core/src/GCanvas.hpp +45 -0
  1073. package/harmony/gcanvas/src/main/cpp/core/src/GCanvasManager.cpp +158 -0
  1074. package/harmony/gcanvas/src/main/cpp/core/src/GCanvasManager.h +56 -0
  1075. package/harmony/gcanvas/src/main/cpp/core/src/GCanvasWeex.cpp +1925 -0
  1076. package/harmony/gcanvas/src/main/cpp/core/src/GCanvasWeex.hpp +335 -0
  1077. package/harmony/gcanvas/src/main/cpp/core/src/RNCGCanvasBridge.h +225 -0
  1078. package/harmony/gcanvas/src/main/cpp/core/src/export.h +29 -0
  1079. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GCanvas2dContext.cpp +2366 -0
  1080. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GCanvas2dContext.h +449 -0
  1081. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GCanvasState.cpp +189 -0
  1082. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GCanvasState.h +83 -0
  1083. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GContext2dType.h +68 -0
  1084. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GConvert.cpp +476 -0
  1085. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GConvert.h +25 -0
  1086. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GFillStyle.h +191 -0
  1087. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GFontManager.h +110 -0
  1088. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GFontStyle.cpp +149 -0
  1089. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GFontStyle.h +94 -0
  1090. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GFrameBufferObject.cpp +226 -0
  1091. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GFrameBufferObject.h +116 -0
  1092. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GGL.h +45 -0
  1093. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GGlyphCache.cpp +106 -0
  1094. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GGlyphCache.h +159 -0
  1095. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GPath.cpp +1213 -0
  1096. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GPath.h +115 -0
  1097. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GPoint.h +117 -0
  1098. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GShader.cpp +346 -0
  1099. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GShader.h +360 -0
  1100. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GShaderManager.cpp +140 -0
  1101. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GShaderManager.h +38 -0
  1102. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GStrSeparator.cpp +84 -0
  1103. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GStrSeparator.h +31 -0
  1104. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GTextDefine.h +34 -0
  1105. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GTexture.cpp +327 -0
  1106. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GTexture.h +133 -0
  1107. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GTransform.h +163 -0
  1108. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GTreemap.cpp +61 -0
  1109. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GTreemap.h +88 -0
  1110. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GWebglContext.cpp +3259 -0
  1111. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/GWebglContext.h +13 -0
  1112. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/shaders/default.glsl +39 -0
  1113. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/shaders/grad.glsl +101 -0
  1114. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/shaders/pattern.glsl +45 -0
  1115. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/shaders/radiation.glsl +110 -0
  1116. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/shaders/shadow.glsl +39 -0
  1117. package/harmony/gcanvas/src/main/cpp/core/src/gcanvas/shaders/texture.glsl +34 -0
  1118. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GCanvas2DContextAndroid.cpp +386 -0
  1119. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GCanvas2DContextAndroid.h +113 -0
  1120. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GCanvas2DContextImpl.cpp +67 -0
  1121. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GCanvasAndroid.cpp +41 -0
  1122. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GCanvasAndroid.h +36 -0
  1123. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GFont.cpp +806 -0
  1124. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GFont.h +164 -0
  1125. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GFontCache.cpp +467 -0
  1126. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GFontCache.h +93 -0
  1127. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GFontFamily.cpp +187 -0
  1128. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GFontFamily.h +68 -0
  1129. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GFontManager.cpp +205 -0
  1130. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GFontManagerAndroid.cpp +328 -0
  1131. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GFontManagerAndroid.h +63 -0
  1132. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GFontManagerImpl.cpp +22 -0
  1133. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GFrameBufferObjectImpl.cpp +180 -0
  1134. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GPreCompiledShaders.cpp +175 -0
  1135. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GPreCompiledShaders.h +75 -0
  1136. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GSystemFontInformation.cpp +231 -0
  1137. package/harmony/gcanvas/src/main/cpp/core/src/platform/Android/GSystemFontInformation.h +69 -0
  1138. package/harmony/gcanvas/src/main/cpp/core/src/platform/Linux/FontTool.hpp +892 -0
  1139. package/harmony/gcanvas/src/main/cpp/core/src/platform/Linux/GFont.cpp +742 -0
  1140. package/harmony/gcanvas/src/main/cpp/core/src/platform/Linux/GFontCache.cpp +296 -0
  1141. package/harmony/gcanvas/src/main/cpp/core/src/platform/Linux/GFontFamily.cpp +162 -0
  1142. package/harmony/gcanvas/src/main/cpp/core/src/platform/Linux/GFontManager.cpp +230 -0
  1143. package/harmony/gcanvas/src/main/cpp/core/src/platform/Linux/GSystemFontInformation.cpp +232 -0
  1144. package/harmony/gcanvas/src/main/cpp/core/src/platform/Linux/PortableMap.hpp +621 -0
  1145. package/harmony/gcanvas/src/main/cpp/core/src/platform/Linux/argh.h +434 -0
  1146. package/harmony/gcanvas/src/main/cpp/core/src/platform/Linux/fonttool.cpp +109 -0
  1147. package/harmony/gcanvas/src/main/cpp/core/src/platform/Linux/utils.hpp +229 -0
  1148. package/harmony/gcanvas/src/main/cpp/core/src/platform/iOS/GCVFont.h +126 -0
  1149. package/harmony/gcanvas/src/main/cpp/core/src/platform/iOS/GCVFont.mm +573 -0
  1150. package/harmony/gcanvas/src/main/cpp/core/src/platform/iOS/GFontManager.mm +185 -0
  1151. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GCanvas2DContextHarmony.cpp +391 -0
  1152. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GCanvas2DContextHarmony.h +114 -0
  1153. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GCanvas2DContextOHOS.cpp +49 -0
  1154. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GCanvasHarmony.cpp +42 -0
  1155. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GCanvasHarmony.h +37 -0
  1156. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GFont.cpp +806 -0
  1157. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GFont.h +164 -0
  1158. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GFontCache.cpp +466 -0
  1159. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GFontCache.h +94 -0
  1160. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GFontFamily.cpp +188 -0
  1161. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GFontFamily.h +69 -0
  1162. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GFontManagerHarmony.cpp +329 -0
  1163. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GFontManagerHarmony.h +64 -0
  1164. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GFontManagerImpl.cpp +23 -0
  1165. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GFrameBufferObjectImpl.cpp +221 -0
  1166. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GPreCompiledShaders.cpp +176 -0
  1167. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GPreCompiledShaders.h +76 -0
  1168. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GSystemFontInformation.cpp +232 -0
  1169. package/harmony/gcanvas/src/main/cpp/core/src/platform/ohos/GSystemFontInformation.h +70 -0
  1170. package/harmony/gcanvas/src/main/cpp/core/src/support/CharacterSet.cpp +126 -0
  1171. package/harmony/gcanvas/src/main/cpp/core/src/support/CharacterSet.h +30 -0
  1172. package/harmony/gcanvas/src/main/cpp/core/src/support/ConcurrenceQueue.h +128 -0
  1173. package/harmony/gcanvas/src/main/cpp/core/src/support/DynArray.h +157 -0
  1174. package/harmony/gcanvas/src/main/cpp/core/src/support/Encode.cpp +116 -0
  1175. package/harmony/gcanvas/src/main/cpp/core/src/support/Encode.h +20 -0
  1176. package/harmony/gcanvas/src/main/cpp/core/src/support/FileUtils.cpp +153 -0
  1177. package/harmony/gcanvas/src/main/cpp/core/src/support/FileUtils.h +56 -0
  1178. package/harmony/gcanvas/src/main/cpp/core/src/support/GLUtil.cpp +174 -0
  1179. package/harmony/gcanvas/src/main/cpp/core/src/support/GLUtil.h +25 -0
  1180. package/harmony/gcanvas/src/main/cpp/core/src/support/Lesser.h +27 -0
  1181. package/harmony/gcanvas/src/main/cpp/core/src/support/Log.cpp +158 -0
  1182. package/harmony/gcanvas/src/main/cpp/core/src/support/Log.h +100 -0
  1183. package/harmony/gcanvas/src/main/cpp/core/src/support/Util.cpp +118 -0
  1184. package/harmony/gcanvas/src/main/cpp/core/src/support/Util.h +38 -0
  1185. package/harmony/gcanvas/src/main/cpp/core/src/support/Value.cpp +180 -0
  1186. package/harmony/gcanvas/src/main/cpp/core/src/support/Value.h +76 -0
  1187. package/harmony/gcanvas/src/main/cpp/generated/RNOH/generated/BaseGcanvasPackage.h +79 -0
  1188. package/harmony/gcanvas/src/main/cpp/generated/RNOH/generated/components/GCanvasViewJSIBinder.h +37 -0
  1189. package/harmony/gcanvas/src/main/cpp/generated/RNOH/generated/turbo_modules/GCanvasModule.cpp +35 -0
  1190. package/harmony/gcanvas/src/main/cpp/generated/RNOH/generated/turbo_modules/GCanvasModule.h +16 -0
  1191. package/harmony/gcanvas/src/main/cpp/generated/react/renderer/components/gcanvas/ComponentDescriptors.h +24 -0
  1192. package/harmony/gcanvas/src/main/cpp/generated/react/renderer/components/gcanvas/EventEmitters.cpp +33 -0
  1193. package/harmony/gcanvas/src/main/cpp/generated/react/renderer/components/gcanvas/EventEmitters.h +31 -0
  1194. package/harmony/gcanvas/src/main/cpp/generated/react/renderer/components/gcanvas/Props.cpp +28 -0
  1195. package/harmony/gcanvas/src/main/cpp/generated/react/renderer/components/gcanvas/Props.h +30 -0
  1196. package/harmony/gcanvas/src/main/cpp/generated/react/renderer/components/gcanvas/ShadowNodes.cpp +17 -0
  1197. package/harmony/gcanvas/src/main/cpp/generated/react/renderer/components/gcanvas/ShadowNodes.h +32 -0
  1198. package/harmony/gcanvas/src/main/cpp/generated/react/renderer/components/gcanvas/States.cpp +16 -0
  1199. package/harmony/gcanvas/src/main/cpp/generated/react/renderer/components/gcanvas/States.h +29 -0
  1200. package/harmony/gcanvas/src/main/ets/GCanvasModuleTurboModule.ts +448 -0
  1201. package/harmony/gcanvas/src/main/ets/GCanvasNativeEngine.ts +206 -0
  1202. package/harmony/gcanvas/src/main/ets/GcanvasTurboModulesFactory.ets +42 -0
  1203. package/harmony/gcanvas/src/main/ets/components/GCanvasView.ets +109 -0
  1204. package/harmony/gcanvas/src/main/ets/generated/components/GCanvasView.ts +126 -0
  1205. package/harmony/gcanvas/src/main/ets/generated/components/ts.ts +5 -0
  1206. package/harmony/gcanvas/src/main/ets/generated/index.ets +5 -0
  1207. package/harmony/gcanvas/src/main/ets/generated/ts.ts +6 -0
  1208. package/harmony/gcanvas/src/main/ets/generated/turboModules/GCanvasModule.ts +52 -0
  1209. package/harmony/gcanvas/src/main/ets/generated/turboModules/ts.ts +5 -0
  1210. package/harmony/gcanvas/src/main/module.json5 +21 -0
  1211. package/harmony/gcanvas/src/main/resources/base/element/string.json +12 -0
  1212. package/harmony/gcanvas/src/main/resources/en_US/element/string.json +8 -0
  1213. package/harmony/gcanvas/src/main/resources/zh_CN/element/string.json +12 -0
  1214. package/harmony/gcanvas.har +0 -0
  1215. package/package.json +69 -0
  1216. package/packages/gcanvas/.babelrc +5 -0
  1217. package/packages/gcanvas/.eslintrc.js +133 -0
  1218. package/packages/gcanvas/package.json +19 -0
  1219. package/packages/gcanvas/rollup.config.js +14 -0
  1220. package/packages/gcanvas/src/bridge/react-native.js +286 -0
  1221. package/packages/gcanvas/src/bridge/weex.js +210 -0
  1222. package/packages/gcanvas/src/context/2d/FillStyleLinearGradient.js +17 -0
  1223. package/packages/gcanvas/src/context/2d/FillStylePattern.js +8 -0
  1224. package/packages/gcanvas/src/context/2d/FillStyleRadialGradient.js +17 -0
  1225. package/packages/gcanvas/src/context/2d/OffScreenRenderingContext.js +49 -0
  1226. package/packages/gcanvas/src/context/2d/RenderingContext.js +787 -0
  1227. package/packages/gcanvas/src/context/webgl/ActiveInfo.js +11 -0
  1228. package/packages/gcanvas/src/context/webgl/Buffer.js +21 -0
  1229. package/packages/gcanvas/src/context/webgl/Framebuffer.js +21 -0
  1230. package/packages/gcanvas/src/context/webgl/GLenum.js +300 -0
  1231. package/packages/gcanvas/src/context/webgl/GLmethod.js +142 -0
  1232. package/packages/gcanvas/src/context/webgl/GLtype.js +22 -0
  1233. package/packages/gcanvas/src/context/webgl/Program.js +21 -0
  1234. package/packages/gcanvas/src/context/webgl/Renderbuffer.js +21 -0
  1235. package/packages/gcanvas/src/context/webgl/RenderingContext.js +1479 -0
  1236. package/packages/gcanvas/src/context/webgl/Shader.js +22 -0
  1237. package/packages/gcanvas/src/context/webgl/ShaderPrecisionFormat.js +11 -0
  1238. package/packages/gcanvas/src/context/webgl/Texture.js +22 -0
  1239. package/packages/gcanvas/src/context/webgl/UniformLocation.js +22 -0
  1240. package/packages/gcanvas/src/context/webgl/classUtils.js +3 -0
  1241. package/packages/gcanvas/src/env/canvas.js +210 -0
  1242. package/packages/gcanvas/src/env/image.js +76 -0
  1243. package/packages/gcanvas/src/env/off-screen-canvas.js +74 -0
  1244. package/packages/gcanvas/src/index.js +65 -0
  1245. package/src/components/CanvasView.js +20 -0
  1246. package/src/components/GCanvasComponent.js +408 -0
  1247. package/src/index.js +69 -0
  1248. package/src/packages/gcanvas/.babelrc +5 -0
  1249. package/src/packages/gcanvas/.eslintrc.js +133 -0
  1250. package/src/packages/gcanvas/package.json +19 -0
  1251. package/src/packages/gcanvas/rollup.config.js +14 -0
  1252. package/src/packages/gcanvas/src/bridge/react-native.js +288 -0
  1253. package/src/packages/gcanvas/src/bridge/weex.js +210 -0
  1254. package/src/packages/gcanvas/src/context/2d/FillStyleLinearGradient.js +17 -0
  1255. package/src/packages/gcanvas/src/context/2d/FillStylePattern.js +8 -0
  1256. package/src/packages/gcanvas/src/context/2d/FillStyleRadialGradient.js +17 -0
  1257. package/src/packages/gcanvas/src/context/2d/OffScreenRenderingContext.js +49 -0
  1258. package/src/packages/gcanvas/src/context/2d/RenderingContext.js +801 -0
  1259. package/src/packages/gcanvas/src/context/webgl/ActiveInfo.js +11 -0
  1260. package/src/packages/gcanvas/src/context/webgl/Buffer.js +21 -0
  1261. package/src/packages/gcanvas/src/context/webgl/Framebuffer.js +21 -0
  1262. package/src/packages/gcanvas/src/context/webgl/GLenum.js +300 -0
  1263. package/src/packages/gcanvas/src/context/webgl/GLmethod.js +142 -0
  1264. package/src/packages/gcanvas/src/context/webgl/GLtype.js +22 -0
  1265. package/src/packages/gcanvas/src/context/webgl/Program.js +21 -0
  1266. package/src/packages/gcanvas/src/context/webgl/Renderbuffer.js +21 -0
  1267. package/src/packages/gcanvas/src/context/webgl/RenderingContext.js +1479 -0
  1268. package/src/packages/gcanvas/src/context/webgl/Shader.js +22 -0
  1269. package/src/packages/gcanvas/src/context/webgl/ShaderPrecisionFormat.js +11 -0
  1270. package/src/packages/gcanvas/src/context/webgl/Texture.js +22 -0
  1271. package/src/packages/gcanvas/src/context/webgl/UniformLocation.js +22 -0
  1272. package/src/packages/gcanvas/src/context/webgl/classUtils.js +3 -0
  1273. package/src/packages/gcanvas/src/env/canvas.js +210 -0
  1274. package/src/packages/gcanvas/src/env/image.js +76 -0
  1275. package/src/packages/gcanvas/src/env/off-screen-canvas.js +74 -0
  1276. package/src/packages/gcanvas/src/index.js +65 -0
  1277. package/src/specs/v1/.gitkeep +1 -0
  1278. package/src/specs/v1/GCanvasViewNativeComponent.ts +47 -0
  1279. package/src/specs/v1/NativeGCanvasModule.ts +140 -0
  1280. package/src/specs/v2/.gitkeep +1 -0
@@ -0,0 +1,3259 @@
1
+ /**
2
+ * Created by G-Canvas Open Source Team.
3
+ * Copyright (c) 2017, Alibaba, Inc. All rights reserved.
4
+ *
5
+ * This source code is licensed under the Apache Licence 2.0.
6
+ * For the full copyright and license information, please view
7
+ * the LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ #ifdef GCANVAS_WEEX
11
+
12
+ #include "GGL.h"
13
+ #include "GCanvas.hpp"
14
+ #include "GCanvasWeex.hpp"
15
+ #include "../support/Encode.h"
16
+ #include "../support/Util.h"
17
+
18
+ #include <string>
19
+ #include <stdint.h>
20
+ #include <sstream>
21
+ #include <iostream>
22
+
23
+ //refrence https://www.khronos.org/registry/OpenGL-Refpages/es2.0/
24
+
25
+ #if defined (ANDROID) || defined (OHOS)
26
+ #define GL_GLEXT_PROTOTYPES
27
+ PFNGLGENVERTEXARRAYSOESPROC glGenVertexArraysOESv;
28
+ PFNGLBINDVERTEXARRAYOESPROC glBindVertexArrayOESv;
29
+ PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArraysOESv;
30
+ PFNGLISVERTEXARRAYOESPROC glIsVertexArrayOESv;
31
+ #endif
32
+
33
+ #define WEBGL_EXT_API_OFFSET 300
34
+ #define WEBGL_EXT_API_COUNT 7
35
+ #define WEBGL_EXT_API_MAX_INDEX (WEBGL_EXT_API_OFFSET+WEBGL_EXT_API_COUNT)
36
+
37
+ #define WEBGL_API_COUNT 137 //(1 + 136)
38
+ #define g_encode_type 0
39
+
40
+ #define G_BUFFER_OFFSET(i) ((char *)NULL + (i))
41
+
42
+
43
+ namespace gcanvas {
44
+
45
+ template<typename T>
46
+ std::string toString(const T &value) {
47
+ std::ostringstream oss;
48
+ oss << value;
49
+ return oss.str();
50
+ }
51
+
52
+ const int *ParseTokensInt(const char *&p, int iMaxCount) {
53
+ static int tokens[16];
54
+ if (iMaxCount > 16) {
55
+ LOG_I("[ParseTokensInt] iMaxCount[%d] is too larger...", iMaxCount);
56
+ }
57
+ int iToken = 0;
58
+
59
+ while (*p && *p != ';' && iToken < iMaxCount) {
60
+ tokens[iToken++] = atoi(p);
61
+ while (*p && (*p != ',' && *p != ';')) {
62
+ ++p;
63
+ }
64
+ if (*p == ',') ++p;
65
+ }
66
+ if (*p == ';') ++p;
67
+ return tokens;
68
+ }
69
+
70
+ const float *ParseTokensFloat(const char *&p, int iMaxCount) {
71
+ static float tokens[32];
72
+ int iToken = 0;
73
+
74
+ while (*p && *p != ';' && iToken < iMaxCount) {
75
+ tokens[iToken++] = atof(p);
76
+ while (*p && (*p != ',' && *p != ';')) {
77
+ ++p;
78
+ }
79
+ if (*p == ',') ++p;
80
+ }
81
+ if (*p == ';') ++p;
82
+ return tokens;
83
+ }
84
+
85
+ void ParseTokensSkip(const char *&p) {
86
+ while (*p && (*p != ',' && *p != ';')) {
87
+ ++p;
88
+ }
89
+ ++p;
90
+ }
91
+
92
+
93
+ void ParseTokensString(const char *&pos, std::string &str) {
94
+ const char *begin = pos;
95
+ ParseTokensSkip(pos);
96
+ unsigned int len = (unsigned int) (pos - begin - 1);
97
+
98
+ if (pos <= begin) {
99
+ str.clear();
100
+ return;
101
+ }
102
+
103
+ if (len > str.length()) str.resize(len);
104
+
105
+ strncpy((char *) str.c_str(), begin, len);
106
+ *((char *) str.c_str() + len) = '\0';
107
+ }
108
+
109
+ int ParseTokensBase64(const char *&pos, std::string &str) {
110
+ const char *begin = pos;
111
+ ParseTokensSkip(pos);
112
+ int len = (int) (pos - begin - 1);
113
+
114
+ if (pos <= begin) {
115
+ str.clear();
116
+ return 0;
117
+ }
118
+
119
+ if (len > (int) str.length()) str.resize((size_t) len);
120
+
121
+ gcanvas::Base64DecodeBuf((char *) str.c_str(), begin, len);
122
+ *((char *) str.c_str() + len) = '\0';
123
+ return len;
124
+ }
125
+
126
+ int8_t *SplitStringToInt8Array(const char *pos, const char *delim, unsigned int &size) {
127
+ std::vector<int8_t> elems;
128
+ char *begin = (char *) pos;
129
+ char *pstr = strtok(begin, delim);
130
+
131
+ while (pstr) {
132
+
133
+ elems.push_back(atoi(pstr));
134
+ pstr = strtok(NULL, delim);
135
+ }
136
+
137
+ size = (unsigned int) elems.size();
138
+
139
+ if (size > 0) {
140
+ int8_t *int8Array = (int8_t *) malloc(sizeof(int8_t) * size);
141
+ for (int i = 0; i < size; i++) {
142
+ int8Array[i] = elems.at(i);
143
+ }
144
+
145
+ return int8Array;
146
+ } else {
147
+ return NULL;
148
+ }
149
+ }
150
+
151
+
152
+ int16_t *SplitStringToInt16Array(const char *pos, const char *delim, unsigned int &size) {
153
+ std::vector<int16_t> elems;
154
+ char *begin = (char *) pos;
155
+ char *pstr = strtok(begin, delim);
156
+
157
+ while (pstr) {
158
+
159
+ elems.push_back(atoi(pstr));
160
+ pstr = strtok(NULL, delim);
161
+ }
162
+
163
+ size = (unsigned int) elems.size();
164
+
165
+ if (size > 0) {
166
+ int16_t *uint16Array = (int16_t *) malloc(sizeof(int16_t) * size);
167
+ for (int i = 0; i < size; i++) {
168
+ uint16Array[i] = elems.at(i);
169
+ }
170
+
171
+ return uint16Array;
172
+ } else {
173
+ return NULL;
174
+ }
175
+ }
176
+
177
+ int32_t *SplitStringToInt32Array(const char *pos, const char *delim, unsigned int &size) {
178
+ std::vector<int32_t> elems;
179
+ char *begin = (char *) pos;
180
+ char *pstr = strtok(begin, delim);
181
+
182
+ while (pstr) {
183
+
184
+ elems.push_back(atoi(pstr));
185
+ pstr = strtok(NULL, delim);
186
+ }
187
+
188
+ size = (unsigned int) elems.size();
189
+
190
+ if (size > 0) {
191
+ int32_t *uint32Array = (int32_t *) malloc(sizeof(int32_t) * size);
192
+ for (int i = 0; i < size; i++) {
193
+ uint32Array[i] = elems.at(i);
194
+ }
195
+
196
+ return uint32Array;
197
+ } else {
198
+ return NULL;
199
+ }
200
+ }
201
+
202
+
203
+ float *SplitStringToFloat32Array(const char *pos, const char *delim, unsigned int &size) {
204
+ std::vector<float> elems;
205
+ char *begin = (char *) pos;
206
+ char *pstr = strtok(begin, delim);
207
+
208
+ while (pstr) {
209
+
210
+ elems.push_back(atof(pstr));
211
+ pstr = strtok(NULL, delim);
212
+ }
213
+
214
+ size = (unsigned int) elems.size();
215
+
216
+ if (size > 0) {
217
+ float *floatArray = (float *) malloc(sizeof(float) * size);
218
+ for (int i = 0; i < size; i++) {
219
+ floatArray[i] = elems.at(i);
220
+ }
221
+ return floatArray;
222
+ } else {
223
+ return NULL;
224
+ }
225
+ }
226
+
227
+ /*
228
+ uint_8 1
229
+ uint_16 2
230
+ uint_32 4
231
+ float32 14
232
+ */
233
+ void *SplitStringToArray(const char *pos, int bytes, unsigned int &size) {
234
+ void *array = NULL;
235
+
236
+ if (bytes == 1) {
237
+ int8_t *int8Array = SplitStringToInt8Array(pos, ",", size);
238
+ size *= bytes;
239
+ array = int8Array;
240
+ } else if (bytes == 2) {
241
+ int16_t *int16Array = SplitStringToInt16Array(pos, ",", size);
242
+ size *= bytes;
243
+ array = int16Array;
244
+ } else if (bytes == 4) {
245
+ int32_t *int32Array = SplitStringToInt32Array(pos, ",", size);
246
+ size *= bytes;
247
+ array = int32Array;
248
+ } else if (bytes == 14) {
249
+ float *float32Array = SplitStringToFloat32Array(pos, ",", size);
250
+ size *= (bytes - 10);
251
+ array = float32Array;
252
+ }
253
+
254
+ return array;
255
+ }
256
+
257
+
258
+ typedef enum {
259
+ kReturnBoolean = 1,
260
+ kReturnInt,
261
+ kReturnFloat,
262
+ kReturnIntArray,
263
+ kReturnFloatArray,
264
+ kReturnString,
265
+ kReturnBooleanArray,
266
+ kReturnUintArray
267
+ } ParamReturnType;
268
+
269
+
270
+ typedef enum {
271
+ kContinue = 0, // go on deal next cmd
272
+ kGotoNext, // skip over ";", go to next cmd
273
+ kBreak // some error happen, stop deal cmd
274
+ } FuncReturnType;
275
+
276
+ const char *GetMacroValDebug(int index) {
277
+ // #ifdef DEBUG
278
+ switch (index) {
279
+ case 0x0: return "GL_NONE or GL_ZERO or GL_POINTS";
280
+ case 0x1: return "GL_ONE or GL_LINES";
281
+ case 0x2: return "GL_LINE_LOOP";
282
+ case 0x3: return "GL_LINE_STRIP";
283
+ case 0x4: return "GL_TRIANGLES";
284
+ case 0x5: return "GL_TRIANGLE_STRIP";
285
+ case 0x6: return "GL_TRIANGLE_FAN";
286
+ case 0x100: return "GL_DEPTH_BUFFER_BIT";
287
+ case 0x200: return "GL_NEVER";
288
+ case 0x201: return "GL_LESS";
289
+ case 0x202: return "GL_EQUAL";
290
+ case 0x203: return "GL_LEQUAL";
291
+ case 0x204: return "GL_GREATER";
292
+ case 0x205: return "GL_NOTEQUAL";
293
+ case 0x206: return "GL_GEQUAL";
294
+ case 0x207: return "GL_ALWAYS";
295
+ case 0x300: return "GL_SRC_COLOR";
296
+ case 0x301: return "GL_ONE_MINUS_SRC_COLOR";
297
+ case 0x302: return "GL_SRC_ALPHA";
298
+ case 0x303: return "GL_ONE_MINUS_SRC_ALPHA";
299
+ case 0x304: return "GL_DST_ALPHA";
300
+ case 0x305: return "GL_ONE_MINUS_DST_ALPHA";
301
+ case 0x306: return "GL_DST_COLOR";
302
+ case 0x307: return "GL_ONE_MINUS_DST_COLOR";
303
+ case 0x308: return "GL_SRC_ALPHA_SATURATE";
304
+ case 0x400: return "GL_STENCIL_BUFFER_BIT";
305
+ case 0x404: return "GL_FRONT";
306
+ case 0x405: return "GL_BACK";
307
+ case 0x408: return "GL_FRONT_AND_BACK";
308
+ case 0x500: return "GL_INVALID_ENUM";
309
+ case 0x501: return "GL_INVALID_VALUE";
310
+ case 0x502: return "GL_INVALID_OPERATION";
311
+ case 0x505: return "GL_OUT_OF_MEMORY";
312
+ case 0x506: return "GL_INVALID_FRAMEBUFFER_OPERATION";
313
+ case 0x900: return "GL_CW";
314
+ case 0x901: return "GL_CCW";
315
+ case 0xB21: return "GL_LINE_WIDTH";
316
+ case 0xB44: return "GL_CULL_FACE";
317
+ case 0xB45: return "GL_CULL_FACE_MODE";
318
+ case 0xB46: return "GL_FRONT_FACE";
319
+ case 0xB70: return "GL_DEPTH_RANGE";
320
+ case 0xB71: return "GL_DEPTH_TEST";
321
+ case 0xB72: return "GL_DEPTH_WRITEMASK";
322
+ case 0xB73: return "GL_DEPTH_CLEAR_VALUE";
323
+ case 0xB74: return "GL_DEPTH_FUNC";
324
+ case 0xB90: return "GL_STENCIL_TEST";
325
+ case 0xB91: return "GL_STENCIL_CLEAR_VALUE";
326
+ case 0xB92: return "GL_STENCIL_FUNC";
327
+ case 0xB93: return "GL_STENCIL_VALUE_MASK";
328
+ case 0xB94: return "GL_STENCIL_FAIL";
329
+ case 0xB95: return "GL_STENCIL_PASS_DEPTH_FAIL";
330
+ case 0xB96: return "GL_STENCIL_PASS_DEPTH_PASS";
331
+ case 0xB97: return "GL_STENCIL_REF";
332
+ case 0xB98: return "GL_STENCIL_WRITEMASK";
333
+ case 0xBA2: return "GL_VIEWPORT";
334
+ case 0xBD0: return "GL_DITHER";
335
+ case 0xBE2: return "GL_BLEND";
336
+ case 0xC10: return "GL_SCISSOR_BOX";
337
+ case 0xC11: return "GL_SCISSOR_TEST";
338
+ case 0xC22: return "GL_COLOR_CLEAR_VALUE";
339
+ case 0xC23: return "GL_COLOR_WRITEMASK";
340
+ case 0xCF5: return "GL_UNPACK_ALIGNMENT";
341
+ case 0xD05: return "GL_PACK_ALIGNMENT";
342
+ case 0xD33: return "GL_MAX_TEXTURE_SIZE";
343
+ case 0xD3A: return "GL_MAX_VIEWPORT_DIMS";
344
+ case 0xD50: return "GL_SUBPIXEL_BITS";
345
+ case 0xD52: return "GL_RED_BITS";
346
+ case 0xD53: return "GL_GREEN_BITS";
347
+ case 0xD54: return "GL_BLUE_BITS";
348
+ case 0xD55: return "GL_ALPHA_BITS";
349
+ case 0xD56: return "GL_DEPTH_BITS";
350
+ case 0xD57: return "GL_STENCIL_BITS";
351
+ case 0xDE1: return "GL_TEXTURE_2D";
352
+ case 0x1100: return "GL_DONT_CARE";
353
+ case 0x1101: return "GL_FASTEST";
354
+ case 0x1102: return "GL_NICEST";
355
+ case 0x1400: return "GL_BYTE";
356
+ case 0x1401: return "GL_UNSIGNED_BYTE";
357
+ case 0x1402: return "GL_SHORT";
358
+ case 0x1403: return "GL_UNSIGNED_SHORT";
359
+ case 0x1404: return "GL_INT";
360
+ case 0x1405: return "GL_UNSIGNED_INT";
361
+ case 0x1406: return "GL_FLOAT";
362
+ case 0x150A: return "GL_INVERT";
363
+ case 0x1702: return "GL_TEXTURE";
364
+ case 0x1901: return "GL_STENCIL_INDEX";
365
+ case 0x1902: return "GL_DEPTH_COMPONENT";
366
+ case 0x1906: return "GL_ALPHA";
367
+ case 0x1907: return "GL_RGB";
368
+ case 0x1908: return "GL_RGBA";
369
+ case 0x1909: return "GL_LUMINANCE";
370
+ case 0x190A: return "GL_LUMINANCE_ALPHA";
371
+ case 0x1E00: return "GL_KEEP";
372
+ case 0x1E01: return "GL_REPLACE";
373
+ case 0x1E02: return "GL_INCR";
374
+ case 0x1E03: return "GL_DECR";
375
+ case 0x1F00: return "GL_VENDOR";
376
+ case 0x1F01: return "GL_RENDERER";
377
+ case 0x1F02: return "GL_VERSION";
378
+ case 0x2600: return "GL_NEAREST";
379
+ case 0x2601: return "GL_LINEAR";
380
+ case 0x2700: return "GL_NEAREST_MIPMAP_NEAREST";
381
+ case 0x2701: return "GL_LINEAR_MIPMAP_NEAREST";
382
+ case 0x2702: return "GL_NEAREST_MIPMAP_LINEAR";
383
+ case 0x2703: return "GL_LINEAR_MIPMAP_LINEAR";
384
+ case 0x2800: return "GL_TEXTURE_MAG_FILTER";
385
+ case 0x2801: return "GL_TEXTURE_MIN_FILTER";
386
+ case 0x2802: return "GL_TEXTURE_WRAP_S";
387
+ case 0x2803: return "GL_TEXTURE_WRAP_T";
388
+ case 0x2901: return "GL_REPEAT";
389
+ case 0x2A00: return "GL_POLYGON_OFFSET_UNITS";
390
+ case 0x4000: return "GL_COLOR_BUFFER_BIT";
391
+ case 0x8001: return "GL_CONSTANT_COLOR";
392
+ case 0x8002: return "GL_ONE_MINUS_CONSTANT_COLOR";
393
+ case 0x8003: return "GL_CONSTANT_ALPHA";
394
+ case 0x8004: return "GL_ONE_MINUS_CONSTANT_ALPHA";
395
+ case 0x8005: return "GL_BLEND_COLOR";
396
+ case 0x8006: return "GL_FUNC_ADD";
397
+ case 0x8009: return "GL_BLEND_EQUATION_RGB";
398
+ case 0x800A: return "GL_FUNC_SUBTRACT";
399
+ case 0x800B: return "GL_FUNC_REVERSE_SUBTRACT";
400
+ case 0x8033: return "GL_UNSIGNED_SHORT_4_4_4_4";
401
+ case 0x8034: return "GL_UNSIGNED_SHORT_5_5_5_1";
402
+ case 0x8037: return "GL_POLYGON_OFFSET_FILL";
403
+ case 0x8038: return "GL_POLYGON_OFFSET_FACTOR";
404
+ case 0x8056: return "GL_RGBA4";
405
+ case 0x8057: return "GL_RGB5_A1";
406
+ case 0x8069: return "GL_TEXTURE_BINDING_2D";
407
+ case 0x809E: return "GL_SAMPLE_ALPHA_TO_COVERAGE";
408
+ case 0x80A0: return "GL_SAMPLE_COVERAGE";
409
+ case 0x80A8: return "GL_SAMPLE_BUFFERS";
410
+ case 0x80A9: return "GL_SAMPLES";
411
+ case 0x80AA: return "GL_SAMPLE_COVERAGE_VALUE";
412
+ case 0x80AB: return "GL_SAMPLE_COVERAGE_INVERT";
413
+ case 0x80C8: return "GL_BLEND_DST_RGB";
414
+ case 0x80C9: return "GL_BLEND_SRC_RGB";
415
+ case 0x80CA: return "GL_BLEND_DST_ALPHA";
416
+ case 0x80CB: return "GL_BLEND_SRC_ALPHA";
417
+ case 0x812F: return "GL_CLAMP_TO_EDGE";
418
+ case 0x8192: return "GL_GENERATE_MIPMAP_HINT";
419
+ case 0x81A5: return "GL_DEPTH_COMPONENT16";
420
+ case 0x821A: return "GL_DEPTH_STENCIL_ATTACHMENT";
421
+ case 0x8363: return "GL_UNSIGNED_SHORT_5_6_5";
422
+ case 0x8370: return "GL_MIRRORED_REPEAT";
423
+ case 0x846D: return "GL_ALIASED_POINT_SIZE_RANGE";
424
+ case 0x846E: return "GL_ALIASED_LINE_WIDTH_RANGE";
425
+ case 0x84C0: return "GL_TEXTURE0";
426
+ case 0x84C1: return "GL_TEXTURE1";
427
+ case 0x84C2: return "GL_TEXTURE2";
428
+ case 0x84C3: return "GL_TEXTURE3";
429
+ case 0x84C4: return "GL_TEXTURE4";
430
+ case 0x84C5: return "GL_TEXTURE5";
431
+ case 0x84C6: return "GL_TEXTURE6";
432
+ case 0x84C7: return "GL_TEXTURE7";
433
+ case 0x84C8: return "GL_TEXTURE8";
434
+ case 0x84C9: return "GL_TEXTURE9";
435
+ case 0x84CA: return "GL_TEXTURE10";
436
+ case 0x84CB: return "GL_TEXTURE11";
437
+ case 0x84CC: return "GL_TEXTURE12";
438
+ case 0x84CD: return "GL_TEXTURE13";
439
+ case 0x84CE: return "GL_TEXTURE14";
440
+ case 0x84CF: return "GL_TEXTURE15";
441
+ case 0x84D0: return "GL_TEXTURE16";
442
+ case 0x84D1: return "GL_TEXTURE17";
443
+ case 0x84D2: return "GL_TEXTURE18";
444
+ case 0x84D3: return "GL_TEXTURE19";
445
+ case 0x84D4: return "GL_TEXTURE20";
446
+ case 0x84D5: return "GL_TEXTURE21";
447
+ case 0x84D6: return "GL_TEXTURE22";
448
+ case 0x84D7: return "GL_TEXTURE23";
449
+ case 0x84D8: return "GL_TEXTURE24";
450
+ case 0x84D9: return "GL_TEXTURE25";
451
+ case 0x84DA: return "GL_TEXTURE26";
452
+ case 0x84DB: return "GL_TEXTURE27";
453
+ case 0x84DC: return "GL_TEXTURE28";
454
+ case 0x84DD: return "GL_TEXTURE29";
455
+ case 0x84DE: return "GL_TEXTURE30";
456
+ case 0x84DF: return "GL_TEXTURE31";
457
+ case 0x84E0: return "GL_ACTIVE_TEXTURE";
458
+ case 0x84E8: return "GL_MAX_RENDERBUFFER_SIZE";
459
+ case 0x84F9: return "GL_DEPTH_STENCIL";
460
+ case 0x8507: return "GL_INCR_WRAP";
461
+ case 0x8508: return "GL_DECR_WRAP";
462
+ case 0x8513: return "GL_TEXTURE_CUBE_MAP";
463
+ case 0x8514: return "GL_TEXTURE_BINDING_CUBE_MAP";
464
+ case 0x8515: return "GL_TEXTURE_CUBE_MAP_POSITIVE_X";
465
+ case 0x8516: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_X";
466
+ case 0x8517: return "GL_TEXTURE_CUBE_MAP_POSITIVE_Y";
467
+ case 0x8518: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y";
468
+ case 0x8519: return "GL_TEXTURE_CUBE_MAP_POSITIVE_Z";
469
+ case 0x851A: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z";
470
+ case 0x851C: return "GL_MAX_CUBE_MAP_TEXTURE_SIZE";
471
+ case 0x8622: return "GL_VERTEX_ATTRIB_ARRAY_ENABLED";
472
+ case 0x8623: return "GL_VERTEX_ATTRIB_ARRAY_SIZE";
473
+ case 0x8624: return "GL_VERTEX_ATTRIB_ARRAY_STRIDE";
474
+ case 0x8625: return "GL_VERTEX_ATTRIB_ARRAY_TYPE";
475
+ case 0x8626: return "GL_CURRENT_VERTEX_ATTRIB";
476
+ case 0x8645: return "GL_VERTEX_ATTRIB_ARRAY_POINTER";
477
+ case 0x86A2: return "GL_NUM_COMPRESSED_TEXTURE_FORMATS";
478
+ case 0x86A3: return "GL_COMPRESSED_TEXTURE_FORMATS";
479
+ case 0x8764: return "GL_BUFFER_SIZE";
480
+ case 0x8765: return "GL_BUFFER_USAGE";
481
+ case 0x8800: return "GL_STENCIL_BACK_FUNC";
482
+ case 0x8801: return "GL_STENCIL_BACK_FAIL";
483
+ case 0x8802: return "GL_STENCIL_BACK_PASS_DEPTH_FAIL";
484
+ case 0x8803: return "GL_STENCIL_BACK_PASS_DEPTH_PASS";
485
+ case 0x883D: return "GL_BLEND_EQUATION_ALPHA";
486
+ case 0x8869: return "GL_MAX_VERTEX_ATTRIBS";
487
+ case 0x886A: return "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED";
488
+ case 0x8872: return "GL_MAX_TEXTURE_IMAGE_UNITS";
489
+ case 0x8892: return "GL_ARRAY_BUFFER";
490
+ case 0x8893: return "GL_ELEMENT_ARRAY_BUFFER";
491
+ case 0x8894: return "GL_ARRAY_BUFFER_BINDING";
492
+ case 0x8895: return "GL_ELEMENT_ARRAY_BUFFER_BINDING";
493
+ case 0x889F: return "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING";
494
+ case 0x88E0: return "GL_STREAM_DRAW";
495
+ case 0x88E4: return "GL_STATIC_DRAW";
496
+ case 0x88E8: return "GL_DYNAMIC_DRAW";
497
+ case 0x88F0: return "GL_DEPTH24_STENCIL8";
498
+ case 0x8B30: return "GL_FRAGMENT_SHADER";
499
+ case 0x8B31: return "GL_VERTEX_SHADER";
500
+ case 0x8B4C: return "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS";
501
+ case 0x8B4D: return "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS";
502
+ case 0x8B4F: return "GL_SHADER_TYPE";
503
+ case 0x8B50: return "GL_FLOAT_VEC2";
504
+ case 0x8B51: return "GL_FLOAT_VEC3";
505
+ case 0x8B52: return "GL_FLOAT_VEC4";
506
+ case 0x8B53: return "GL_INT_VEC2";
507
+ case 0x8B54: return "GL_INT_VEC3";
508
+ case 0x8B55: return "GL_INT_VEC4";
509
+ case 0x8B56: return "GL_BOOL";
510
+ case 0x8B57: return "GL_BOOL_VEC2";
511
+ case 0x8B58: return "GL_BOOL_VEC3";
512
+ case 0x8B59: return "GL_BOOL_VEC4";
513
+ case 0x8B5A: return "GL_FLOAT_MAT2";
514
+ case 0x8B5B: return "GL_FLOAT_MAT3";
515
+ case 0x8B5C: return "GL_FLOAT_MAT4";
516
+ case 0x8B5E: return "GL_SAMPLER_2D";
517
+ case 0x8B60: return "GL_SAMPLER_CUBE";
518
+ case 0x8B80: return "GL_DELETE_STATUS";
519
+ case 0x8B81: return "GL_COMPILE_STATUS";
520
+ case 0x8B82: return "GL_LINK_STATUS";
521
+ case 0x8B83: return "GL_VALIDATE_STATUS";
522
+ case 0x8B84: return "GL_INFO_LOG_LENGTH";
523
+ case 0x8B85: return "GL_ATTACHED_SHADERS";
524
+ case 0x8B86: return "GL_ACTIVE_UNIFORMS";
525
+ case 0x8B87: return "GL_ACTIVE_UNIFORM_MAX_LENGTH";
526
+ case 0x8B88: return "GL_SHADER_SOURCE_LENGTH";
527
+ case 0x8B89: return "GL_ACTIVE_ATTRIBUTES";
528
+ case 0x8B8A: return "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH";
529
+ case 0x8B8C: return "GL_SHADING_LANGUAGE_VERSION";
530
+ case 0x8B8D: return "GL_CURRENT_PROGRAM";
531
+ case 0x8CA3: return "GL_STENCIL_BACK_REF";
532
+ case 0x8CA4: return "GL_STENCIL_BACK_VALUE_MASK";
533
+ case 0x8CA5: return "GL_STENCIL_BACK_WRITEMASK";
534
+ case 0x8CA6: return "GL_FRAMEBUFFER_BINDING";
535
+ case 0x8CA7: return "GL_RENDERBUFFER_BINDING";
536
+ case 0x8CAD: return "GL_DEPTH32F_STENCIL8";
537
+ case 0x8CD0: return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE";
538
+ case 0x8CD1: return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME";
539
+ case 0x8CD2: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL";
540
+ case 0x8CD3: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE";
541
+ case 0x8CD5: return "GL_FRAMEBUFFER_COMPLETE";
542
+ case 0x8CD6: return "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT";
543
+ case 0x8CD7: return "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";
544
+ case 0x8CD9: return "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS";
545
+ case 0x8CDD: return "GL_FRAMEBUFFER_UNSUPPORTED";
546
+ case 0x8CE0: return "GL_COLOR_ATTACHMENT0";
547
+ case 0x8D00: return "GL_DEPTH_ATTACHMENT";
548
+ case 0x8D20: return "GL_STENCIL_ATTACHMENT";
549
+ case 0x8D40: return "GL_FRAMEBUFFER";
550
+ case 0x8D41: return "GL_RENDERBUFFER";
551
+ case 0x8D42: return "GL_RENDERBUFFER_WIDTH";
552
+ case 0x8D43: return "GL_RENDERBUFFER_HEIGHT";
553
+ case 0x8D44: return "GL_RENDERBUFFER_INTERNAL_FORMAT";
554
+ case 0x8D48: return "GL_STENCIL_INDEX8";
555
+ case 0x8D50: return "GL_RENDERBUFFER_RED_SIZE";
556
+ case 0x8D51: return "GL_RENDERBUFFER_GREEN_SIZE";
557
+ case 0x8D52: return "GL_RENDERBUFFER_BLUE_SIZE";
558
+ case 0x8D53: return "GL_RENDERBUFFER_ALPHA_SIZE";
559
+ case 0x8D54: return "GL_RENDERBUFFER_DEPTH_SIZE";
560
+ case 0x8D55: return "GL_RENDERBUFFER_STENCIL_SIZE";
561
+ case 0x8D62: return "GL_RGB565";
562
+ case 0x8DF0: return "GL_LOW_FLOAT";
563
+ case 0x8DF1: return "GL_MEDIUM_FLOAT";
564
+ case 0x8DF2: return "GL_HIGH_FLOAT";
565
+ case 0x8DF3: return "GL_LOW_INT";
566
+ case 0x8DF4: return "GL_MEDIUM_INT";
567
+ case 0x8DF5: return "GL_HIGH_INT";
568
+ case 0x8DFA: return "GL_SHADER_COMPILER";
569
+ case 0x8DFB: return "GL_MAX_VERTEX_UNIFORM_VECTORS";
570
+ case 0x8DFC: return "GL_MAX_VARYING_VECTORS";
571
+ case 0x8DFD: return "GL_MAX_FRAGMENT_UNIFORM_VECTORS";
572
+ case 0x9240: return "GL_UNPACK_FLIP_Y_WEBGL";
573
+ case 0x9241: return "GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL";
574
+ case 0x9242: return "GL_CONTEXT_LOST_WEBGL";
575
+ case 0x9243: return "GL_UNPACK_COLORSPACE_CONVERSION_WEBGL";
576
+ case 0x9244: return "GL_BROWSER_DEFAULT_WEBGL";
577
+ default: return "Unkonw Macro";
578
+ }
579
+ // #endif
580
+
581
+ return "";
582
+ }
583
+
584
+ //////////////////////////////////////////////////////////////////////////
585
+ // WEBGL 1.0 API
586
+ // https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext
587
+ //////////////////////////////////////////////////////////////////////////
588
+ int activeTexture(GCanvasWeex *obj, const char *&p) {
589
+ const int *tokens = ParseTokensInt(p, 1);
590
+
591
+ LOG_D("[webgl::exec] glActiveTexture(%s)", GetMacroValDebug(tokens[0]));
592
+ glActiveTexture(tokens[0]);
593
+ return kContinue;
594
+ }
595
+
596
+ int attachShader(GCanvasWeex *obj, const char *&p) {
597
+ const int *tokens = ParseTokensInt(p, 2);
598
+ GLuint program = tokens[0];
599
+ GLuint shader = tokens[1];
600
+
601
+ LOG_D("[webgl::exec] glAttachShader(%d, %d)", program, shader);
602
+ glAttachShader(program, shader);
603
+ return kContinue;
604
+ }
605
+
606
+ int bindAttribLocation(GCanvasWeex *obj, const char *&p) {
607
+ const int *tokens = ParseTokensInt(p, 2);
608
+ GLuint program = tokens[0];
609
+ GLuint index = tokens[1];
610
+
611
+ std::string &name = obj->mTempStr;
612
+ ParseTokensString(p, name);
613
+
614
+ LOG_D("[webgl::exec] glBindAttribLocation(%d, %d, %s)", program, index, name.c_str());
615
+ glBindAttribLocation(program, index, name.c_str());
616
+ return kContinue;
617
+ }
618
+
619
+ int bindBuffer(GCanvasWeex *obj, const char *&p) {
620
+ const int *tokens = ParseTokensInt(p, 2);
621
+
622
+ GLuint target = tokens[0];
623
+ GLuint buffer = tokens[1];
624
+
625
+ LOG_D("[webgl::exec] glBindBuffer(%s, %d)", GetMacroValDebug(target), buffer);
626
+ glBindBuffer(target, buffer);
627
+ return kContinue;
628
+ }
629
+
630
+ int bindFramebuffer(GCanvasWeex *obj, const char *&p) {
631
+ const int *tokens = ParseTokensInt(p, 2);
632
+ GLuint target = tokens[0];
633
+ GLuint framebuffer = tokens[1];
634
+
635
+ LOG_D("[webgl::exec] glBindFramebuffer(%s, %d)", GetMacroValDebug(target), framebuffer);
636
+
637
+ #ifdef IOS
638
+ if ( framebuffer == 0 ){
639
+ GCanvasContext *ctxWeex = (GCanvasContext*)obj->GetGCanvasContext();
640
+ GWebGLBindToGLKViewFunc func = ctxWeex->GetGWebGLBindToGLKViewFunc();
641
+ if(func){
642
+ func(obj->mContextId);
643
+ }
644
+ }else{
645
+ #endif
646
+ glBindFramebuffer(target, framebuffer);
647
+ #ifdef IOS
648
+ }
649
+ #endif
650
+ return kContinue;
651
+ }
652
+
653
+ int bindRenderbuffer(GCanvasWeex *obj, const char *&p) { // bindRenderbuffer0,81;
654
+ const int *tokens = ParseTokensInt(p, 2);
655
+ GLuint target = tokens[0];
656
+ GLuint renderbuffer = tokens[1];
657
+
658
+ LOG_D("[webgl::exec] bindRenderbuffer(%s, %d)", GetMacroValDebug(target), renderbuffer);
659
+ glBindRenderbuffer(target, renderbuffer);
660
+ return kContinue;
661
+ }
662
+
663
+ //new
664
+ int blendColor(GCanvasWeex *obj, const char *&p) { // blendColor0,81;
665
+ const float *tokens = ParseTokensFloat(p, 4);
666
+ GLfloat red = tokens[0];
667
+ GLfloat green = tokens[1];
668
+ GLfloat blue = tokens[2];
669
+ GLfloat alpha = tokens[3];
670
+
671
+ LOG_D("[webgl::exec] blendColor(%f, %f, %f, %f)", red, green, blue, alpha);
672
+ glBlendColor(red, green, blue, alpha);
673
+ return kContinue;
674
+ }
675
+
676
+ int bindTexture(GCanvasWeex *obj, const char *&p) { // bindTexture0,4;
677
+ const int *tokens = ParseTokensInt(p, 2);
678
+ GLuint target = tokens[0];
679
+ GLuint texture = tokens[1];
680
+
681
+ LOG_D("[webgl::exec] glBindTexture(%s, %d)", GetMacroValDebug(target), texture);
682
+ glBindTexture(target, texture);
683
+ return kContinue;
684
+ }
685
+
686
+ int blendEquation(GCanvasWeex *obj, const char *&p) {
687
+ const int *tokens = ParseTokensInt(p, 1);
688
+
689
+ LOG_D("[webgl::exec] glBlendEquation(%s)", GetMacroValDebug(tokens[0]));
690
+ glBlendEquation(tokens[0]);
691
+ return kContinue;
692
+ }
693
+
694
+ int blendEquationSeparate(GCanvasWeex *obj, const char *&p) {
695
+ const int *tokens = ParseTokensInt(p, 2);
696
+
697
+ LOG_D("[webgl::exec] glBlendEquationSeparate(%s, %s)", GetMacroValDebug(tokens[0]),
698
+ GetMacroValDebug(tokens[1]));
699
+ glBlendEquationSeparate(tokens[0], tokens[1]);
700
+ return kContinue;
701
+ }
702
+
703
+ int blendFunc(GCanvasWeex *obj, const char *&p) { // blendFunc1,2;
704
+ const int *tokens = ParseTokensInt(p, 2);
705
+
706
+ LOG_D("[webgl::exec] glBlendFunc(%s, %s)", GetMacroValDebug(tokens[0]),
707
+ GetMacroValDebug(tokens[1]));
708
+ glBlendFunc(tokens[0], tokens[1]);
709
+ return kContinue;
710
+ }
711
+
712
+ int blendFuncSeparate(GCanvasWeex *obj, const char *&p) {
713
+ const int *tokens = ParseTokensInt(p, 4);
714
+
715
+ LOG_D("[webgl::exec] glBlendFuncSeparate(%s, %s, %s, %s)",
716
+ GetMacroValDebug(tokens[0]), GetMacroValDebug(tokens[1]),
717
+ GetMacroValDebug(tokens[2]), GetMacroValDebug(tokens[3]));
718
+ glBlendFuncSeparate(tokens[0], tokens[1], tokens[2], tokens[3]);
719
+ return kContinue;
720
+ }
721
+
722
+ int bufferData(GCanvasWeex *obj, const char *&p) { // bufferData0,4,AAEAAAAAAQEAAAAAAP8A/wAA,0;
723
+ const int *tokens = ParseTokensInt(p, 2);
724
+ GLenum target = tokens[0];
725
+ int bytes = tokens[1];
726
+ std::string &buf = obj->mTempStr;
727
+ ParseTokensBase64(p, buf);
728
+
729
+ unsigned int size;
730
+ GLvoid *array = SplitStringToArray(buf.c_str(), bytes, size);
731
+
732
+ int usage = ParseTokensInt(p, 1)[0];
733
+ if (bytes == 1) {
734
+ LOG_D("[webgl::exec] glBufferData: %d", ((GLbyte *) array)[0]);
735
+ LOG_D("[webgl::exec] glBufferData: %d", ((GLbyte *) array)[1]);
736
+ LOG_D("[webgl::exec] glBufferData: %d", ((GLbyte *) array)[2]);
737
+ LOG_D("[webgl::exec] glBufferData: %d", ((GLbyte *) array)[3]);
738
+ }
739
+
740
+ if (array) {
741
+ LOG_D("[webgl::exec] glBufferData(%s, %d, %s)",
742
+ GetMacroValDebug(target), size, GetMacroValDebug(usage));
743
+ glBufferData(target, size, (GLvoid *) array, usage);
744
+ free(array);
745
+ }
746
+
747
+ return kContinue;
748
+ }
749
+
750
+ int bufferSubData(GCanvasWeex *obj,
751
+ const char *&p) { //bufferSubData0, offset, bytes, AAEAAAAAAQEAAAAAAP8A/wAA
752
+ const int *tokens = ParseTokensInt(p, 3);
753
+ GLenum target = tokens[0];
754
+ int offset = tokens[1];
755
+ int bytes = tokens[2];
756
+ std::string &buf = obj->mTempStr;
757
+ ParseTokensBase64(p, buf);
758
+
759
+ unsigned int size;
760
+ GLvoid *array = SplitStringToArray(buf.c_str(), bytes, size);
761
+
762
+ if (array) {
763
+ LOG_D("[webgl::exec] glBufferSubData(%s, %d, %d)",
764
+ GetMacroValDebug(target), offset, size);
765
+ glBufferSubData(target, offset, size, (GLvoid *) array);
766
+ free(array);
767
+ }
768
+
769
+ return kContinue;
770
+ }
771
+
772
+ //new
773
+ int checkFramebufferStatus(GCanvasWeex *obj, const char *&p) {
774
+ const int *tokens = ParseTokensInt(p, 1);
775
+ GLenum target = tokens[0];
776
+
777
+ LOG_D("[webgl::exec] glCheckFramebufferStatus(%s)", GetMacroValDebug(target));
778
+ GLenum status = glCheckFramebufferStatus(target);
779
+
780
+ obj->setSyncResult(gcanvas::toString(status));
781
+ LOG_D("[webgl::exec] glCheckFramebufferStatus status(%d)", status);
782
+ return kContinue;
783
+ }
784
+
785
+ int clear(GCanvasWeex *obj, const char *&p) { // clear;
786
+ const int mask = ParseTokensInt(p, 1)[0];
787
+ glClear(mask);
788
+ LOG_D("[webgl::exec] glClear(%d)", mask);
789
+ return kContinue;
790
+ }
791
+
792
+ int clearColor(GCanvasWeex *obj, const char *&p) { // clearColor0,0,0,1;
793
+ const float *tokens = ParseTokensFloat(p, 4);
794
+ LOG_D("[webgl::exec] glClearColor(%f, %f, %f, %f)", tokens[0], tokens[1],
795
+ tokens[2], tokens[3]);
796
+ glClearColor(tokens[0], tokens[1], tokens[2], tokens[3]);
797
+ return kContinue;
798
+ }
799
+
800
+ int clearDepth(GCanvasWeex *obj, const char *&p) { // clearDepth1.0;
801
+ const float *tokens = ParseTokensFloat(p, 1);
802
+ LOG_D("[webgl::exec] glClearDepthf(%f)", tokens[0]);
803
+ glClearDepthf(tokens[0]);
804
+ return kContinue;
805
+ }
806
+
807
+ int clearStencil(GCanvasWeex *obj, const char *&p) { // clearStencil2;
808
+ const int *tokens = ParseTokensInt(p, 1);
809
+ LOG_D("[webgl::exec] glClearStencil(%d)", tokens[0]);
810
+ glClearStencil(tokens[0]);
811
+ return kContinue;
812
+ }
813
+
814
+ int colorMask(GCanvasWeex *obj, const char *&p) { // colorMask0,0,0,1;
815
+ const int *tokens = ParseTokensInt(p, 4);
816
+ LOG_D("[webgl::exec] glColorMask(%d, %d, %d, %d)", tokens[0], tokens[1],
817
+ tokens[2], tokens[3]);
818
+ glColorMask(tokens[0], tokens[1], tokens[2], tokens[3]);
819
+ return kContinue;
820
+ }
821
+
822
+ int compileShader(GCanvasWeex *obj, const char *&p) { // compileShader1
823
+ const int *tokens = ParseTokensInt(p, 1);
824
+ GLuint shader = tokens[0];
825
+
826
+ LOG_D("[webgl::exec] glCompileShader(%d)", shader);
827
+ glCompileShader(shader);
828
+ return kContinue;
829
+ }
830
+
831
+ //new
832
+ int compressedTexImage2D(GCanvasWeex *obj, const char *&p) {
833
+ const int *tokens = ParseTokensInt(p, 7);
834
+ GLenum target = tokens[0];
835
+ GLuint level = tokens[1];
836
+ GLenum internalformat = tokens[2];
837
+ GLsizei width = tokens[3];
838
+ GLsizei height = tokens[4];
839
+ GLsizei border = tokens[5];
840
+ int bytes = tokens[6];
841
+
842
+ std::string &buf = obj->mTempStr;
843
+ ParseTokensBase64(p, buf);
844
+
845
+ unsigned int size = 0;
846
+ GLvoid *array = SplitStringToArray(buf.c_str(), bytes, size);
847
+
848
+ LOG_D("[webgl::exec] glCompressedTexImage2D(%s, %d, %s, %d, %d, %d, %d)",
849
+ GetMacroValDebug(target), level,
850
+ GetMacroValDebug(internalformat), width, height, border, size);
851
+ glCompressedTexImage2D(target, level, internalformat, width, height, border, size, array);
852
+ return kContinue;
853
+ }
854
+
855
+ //new
856
+ int compressedTexSubImage2D(GCanvasWeex *obj, const char *&p) {
857
+ const int *intTokens = ParseTokensInt(p, 8);
858
+ GLenum target = intTokens[0];
859
+ GLuint level = intTokens[1];
860
+ GLint xoffset = intTokens[2];
861
+ GLint yoffset = intTokens[3];
862
+ GLsizei width = intTokens[4];
863
+ GLsizei height = intTokens[5];
864
+ GLenum format = intTokens[6];
865
+ int bytes = intTokens[7];
866
+
867
+ std::string &buf = obj->mTempStr;
868
+ ParseTokensBase64(p, buf);
869
+
870
+ unsigned int size = 0;
871
+ GLvoid *array = SplitStringToArray(buf.c_str(), bytes, size);
872
+
873
+ LOG_D("[webgl::exec] glCompressedTexImage2D(%s, %d, %d, %d, %d, %d, %s, %d)",
874
+ GetMacroValDebug(target), level,
875
+ xoffset, yoffset, width, height, GetMacroValDebug(format), size);
876
+ glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, size,
877
+ array);
878
+ return kContinue;
879
+ }
880
+
881
+
882
+ int copyTexImage2D(GCanvasWeex *obj,
883
+ const char *&p) {//copyTexImage2D gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 0, 0, 512, 512, 0);
884
+ const int *tokens = ParseTokensInt(p, 8);
885
+ LOG_D("[webgl::exec] glCopyTexImage2D(%s, %d, %s, %d, %d, %d, %d)",
886
+ GetMacroValDebug(tokens[0]), tokens[1], GetMacroValDebug(tokens[2]), tokens[3],
887
+ tokens[4], tokens[5], tokens[6], tokens[7]);
888
+ glCopyTexImage2D(tokens[0], tokens[1], tokens[2], tokens[3], tokens[4], tokens[5],
889
+ tokens[6], tokens[7]);
890
+ return kContinue;
891
+ }
892
+
893
+ //new
894
+ int copyTexSubImage2D(GCanvasWeex *obj, const char *&p) {
895
+ const int *tokens = ParseTokensInt(p, 8);
896
+ LOG_D("[webgl::exec] glCopyTexSubImage2D(%s, %d, %d, %d, %d, %d, %d)",
897
+ GetMacroValDebug(tokens[0]), tokens[1], tokens[2], tokens[3], tokens[4], tokens[5],
898
+ tokens[6], tokens[7]);
899
+ glCopyTexSubImage2D(tokens[0], tokens[1], tokens[2], tokens[3], tokens[4], tokens[5],
900
+ tokens[6], tokens[7]);
901
+ return kContinue;
902
+ }
903
+
904
+ int createBuffer(GCanvasWeex *obj, const char *&p) { // createBuffer;
905
+ GLuint buffer = 0;
906
+ glGenBuffers(1, &buffer);
907
+ ++p;
908
+ LOG_D("[webgl::exec] glGenBuffers(1, %d)", buffer);
909
+
910
+ obj->setSyncResult(gcanvas::toString(buffer));
911
+ return kContinue;
912
+ }
913
+
914
+ int createFramebuffer(GCanvasWeex *obj, const char *&p) { // createFramebuffer;
915
+ GLuint framebuffer = 0;
916
+ glGenFramebuffers(1, &framebuffer);
917
+ ++p;
918
+ LOG_D("[webgl::exec] glGenFramebuffers(1, %d)", framebuffer);
919
+
920
+ obj->setSyncResult(gcanvas::toString(framebuffer));
921
+ return kContinue;
922
+ }
923
+
924
+ int createProgram(GCanvasWeex *obj, const char *&p) {//createProgram
925
+ GLuint program = glCreateProgram();
926
+ ++p;
927
+ LOG_D("[webgl::exec] glCreateProgram()=%d", program);
928
+
929
+ obj->setSyncResult(gcanvas::toString(program));
930
+ return kContinue;
931
+ }
932
+
933
+ int createRenderbuffer(GCanvasWeex *obj, const char *&p) { // createRenderbuffer;
934
+ GLuint renderBuffer;
935
+ glGenRenderbuffers(1, &renderBuffer);
936
+ ++p;
937
+ LOG_D("[webgl::exec] glGenRenderbuffers(1, %d)", renderBuffer);
938
+
939
+ obj->setSyncResult(gcanvas::toString(renderBuffer));
940
+ return kContinue;
941
+ }
942
+
943
+ int createShader(GCanvasWeex *obj, const char *&p) { // createShader1;
944
+ const int *tokens = ParseTokensInt(p, 1);
945
+ GLuint shader = glCreateShader(tokens[0]);
946
+ ++p;
947
+ LOG_D("[webgl::exec] glCreateShader(%s)=%d", GetMacroValDebug(tokens[0]), shader);
948
+
949
+ obj->setSyncResult(gcanvas::toString(shader));
950
+ return kContinue;
951
+ }
952
+
953
+ int createTexture(GCanvasWeex *obj, const char *&p) { // createTexture
954
+ GLuint texture;
955
+ glGenTextures(1, &texture);
956
+ ++p;
957
+ LOG_D("[webgl::exec] glGenTextures(1, %u)", texture);
958
+
959
+ obj->setSyncResult(gcanvas::toString(texture));
960
+ return kContinue;
961
+ }
962
+
963
+ int cullFace(GCanvasWeex *obj, const char *&p) { // cullFace1;
964
+ const int *tokens = ParseTokensInt(p, 1);
965
+ LOG_D("[webgl::exec] glCullFace(%s)", GetMacroValDebug(tokens[0]));
966
+ glCullFace(tokens[0]);
967
+ return kContinue;
968
+ }
969
+
970
+ int deleteBuffer(GCanvasWeex *obj, const char *&p) {
971
+ const int *tokens = ParseTokensInt(p, 1);
972
+ GLuint buffer = tokens[0];
973
+
974
+ LOG_D("[webgl::exec] glDeleteBuffer(1, %d)", buffer);
975
+ glDeleteBuffers(1, &buffer);
976
+ return kContinue;
977
+ }
978
+
979
+ int deleteFramebuffer(GCanvasWeex *obj, const char *&p) {
980
+ const int *tokens = ParseTokensInt(p, 1);
981
+ GLuint framebuffer = tokens[0];
982
+
983
+ LOG_D("[webgl::exec] glDeleteFramebuffers(1, %d)", framebuffer);
984
+ glDeleteFramebuffers(1, &framebuffer);
985
+ return kContinue;
986
+ }
987
+
988
+ int deleteProgram(GCanvasWeex *obj, const char *&p) {
989
+ const int *tokens = ParseTokensInt(p, 1);
990
+ GLuint program = tokens[0];
991
+
992
+ LOG_D("[webgl::exec] glDeleteProgram(%d)", program);
993
+ glDeleteProgram(program);
994
+ return kContinue;
995
+ }
996
+
997
+ int deleteRenderbuffer(GCanvasWeex *obj, const char *&p) {
998
+ const int *tokens = ParseTokensInt(p, 1);
999
+ GLuint renderbuffer = tokens[0];
1000
+
1001
+ LOG_D("[webgl::exec] glDeleteRenderbuffers(1, %d)", renderbuffer);
1002
+ glDeleteRenderbuffers(1, &renderbuffer);
1003
+ return kContinue;
1004
+ }
1005
+
1006
+ int deleteShader(GCanvasWeex *obj, const char *&p) { // deleteShader;
1007
+ const int *tokens = ParseTokensInt(p, 1);
1008
+ GLuint shader = tokens[0];
1009
+
1010
+ LOG_D("[webgl::exec] glDeleteShader(%d)", shader);
1011
+ glDeleteShader(shader);
1012
+ return kContinue;
1013
+ }
1014
+
1015
+ int deleteTexture(GCanvasWeex *obj, const char *&p) {
1016
+ const int *tokens = ParseTokensInt(p, 1);
1017
+ GLuint texture = tokens[0];
1018
+
1019
+ LOG_D("[webgl::exec] glDeleteTextures(1, %d)", texture);
1020
+ glDeleteTextures(1, &texture);
1021
+ return kContinue;
1022
+ }
1023
+
1024
+ int depthFunc(GCanvasWeex *obj, const char *&p) { // depthFunc1;
1025
+ const int *tokens = ParseTokensInt(p, 1);
1026
+ LOG_D("[webgl::exec] glDepthFunc(%s)", GetMacroValDebug(tokens[0]));
1027
+ glDepthFunc(tokens[0]);
1028
+ return kContinue;
1029
+ }
1030
+
1031
+ int depthMask(GCanvasWeex *obj, const char *&p) {
1032
+ const int flag = ParseTokensInt(p, 1)[0];
1033
+ LOG_D("[webgl::exec] glDepthMask(%d)", flag);
1034
+ glDepthMask((bool) flag);
1035
+ return kContinue;
1036
+ }
1037
+
1038
+ int depthRange(GCanvasWeex *obj, const char *&p) {
1039
+ const float *tokens = ParseTokensFloat(p, 2);
1040
+ LOG_D("[webgl::exec] glDepthRange(%f, %f)", tokens[0], tokens[1]);
1041
+ glDepthRangef(tokens[0], tokens[1]);
1042
+ return kContinue;
1043
+ }
1044
+
1045
+ //new
1046
+ int detachShader(GCanvasWeex *obj, const char *&p) {
1047
+ const float *tokens = ParseTokensFloat(p, 2);
1048
+ LOG_D("[webgl::exec] glDetachShader(%d, %d)", tokens[0], tokens[1]);
1049
+ glDetachShader(tokens[0], tokens[1]);
1050
+ return kContinue;
1051
+ }
1052
+
1053
+ int disable(GCanvasWeex *obj, const char *&p) { // disable0;
1054
+ const int *tokens = ParseTokensInt(p, 1);
1055
+ LOG_D("[webgl::exec] glDisable(%s)", GetMacroValDebug(tokens[0]));
1056
+ glDisable(tokens[0]);
1057
+ return kContinue;
1058
+ }
1059
+
1060
+ int disableVertexAttribArray(GCanvasWeex *obj, const char *&p) { // disableVertexAttribArray0;
1061
+ const int *tokens = ParseTokensInt(p, 1);
1062
+ LOG_D("[webgl::exec] glDisableVertexAttribArray(%d)",
1063
+ tokens[0]);
1064
+ glDisableVertexAttribArray(tokens[0]);
1065
+ return kContinue;
1066
+ }
1067
+
1068
+ int drawArrays(GCanvasWeex *obj, const char *&p) { // drawArrays4,0,3;
1069
+ const int *tokens = ParseTokensInt(p, 3);
1070
+ LOG_D("[webgl::exec] glDrawArrays(%s, %d, %d)", GetMacroValDebug(tokens[0]),
1071
+ tokens[1], tokens[2]);
1072
+ glDrawArrays(tokens[0], tokens[1], tokens[2]);
1073
+ LOG_D("after glDrawArrays");
1074
+ return kContinue;
1075
+ }
1076
+
1077
+ int drawElements(GCanvasWeex *obj, const char *&p) { // drawElements4,36,0,0;
1078
+ const int *tokens = ParseTokensInt(p, 4);
1079
+ LOG_D("[webgl::exec] glDrawElements(%s, %d, %s, %d)",
1080
+ GetMacroValDebug(tokens[0]), tokens[1], GetMacroValDebug(tokens[2]),
1081
+ tokens[3]);
1082
+ glDrawElements(tokens[0], tokens[1], tokens[2], G_BUFFER_OFFSET(tokens[3]));
1083
+ return kContinue;
1084
+ }
1085
+
1086
+ int enable(GCanvasWeex *obj, const char *&p) { // enable0;
1087
+ const int *tokens = ParseTokensInt(p, 1);
1088
+ LOG_D("[webgl::exec] glEnable(%s)", GetMacroValDebug(tokens[0]));
1089
+ glEnable(tokens[0]);
1090
+ return kContinue;
1091
+ }
1092
+
1093
+ int enableVertexAttribArray(GCanvasWeex *obj, const char *&p) { // enableVertexAttribArray10;
1094
+ GLuint index = ParseTokensInt(p, 1)[0];
1095
+ LOG_D("[webgl::exec] glEnableVertexAttribArray(%d)", index);
1096
+ glEnableVertexAttribArray(index);
1097
+ return kContinue;
1098
+ }
1099
+
1100
+ int flush(GCanvasWeex *obj, const char *&p) { // flush;
1101
+ LOG_D("[webgl::exec] glFlush()");
1102
+ glFlush();
1103
+ ++p;
1104
+ return kContinue;
1105
+ }
1106
+
1107
+ int framebufferRenderbuffer(GCanvasWeex *obj, const char *&p) { // framebufferRenderbuffer0,1,0,81;
1108
+ const int *tokens = ParseTokensInt(p, 4);
1109
+ LOG_D("[webgl::exec] glFramebufferRenderbuffer(GL_FRAMEBUFFER, %s, xGL_RENDERBUFFER, %d)",
1110
+ GetMacroValDebug(tokens[1]), tokens[3]);
1111
+ glFramebufferRenderbuffer(GL_FRAMEBUFFER, tokens[1], GL_RENDERBUFFER, tokens[3]);
1112
+ return kContinue;
1113
+ }
1114
+
1115
+ int framebufferTexture2D(GCanvasWeex *obj, const char *&p) { // framebufferTexture2D0,0,0,40,0;
1116
+ const int *tokens = ParseTokensInt(p, 5);
1117
+ LOG_D("[webgl::exec] glFramebufferTexture2D(GL_FRAMEBUFFER, %s, %s, %d, 0)",
1118
+ GetMacroValDebug(tokens[1]), GetMacroValDebug(tokens[2]), tokens[3], tokens[4]);
1119
+ glFramebufferTexture2D(GL_FRAMEBUFFER, tokens[1], tokens[2], tokens[3], tokens[4]);
1120
+ return kContinue;
1121
+ }
1122
+
1123
+ int frontFace(GCanvasWeex *obj, const char *&p) { // enable0;
1124
+ const int *tokens = ParseTokensInt(p, 1);
1125
+ LOG_D("[webgl::exec] glFrontFace(%s)", GetMacroValDebug(tokens[0]));
1126
+ glFrontFace(tokens[0]);
1127
+ return kContinue;
1128
+ }
1129
+
1130
+ int generateMipmap(GCanvasWeex *obj, const char *&p) { // generateMipmap0;
1131
+ GLenum target = ParseTokensInt(p, 1)[0];
1132
+ LOG_D("[webgl::exec] glGenerateMipmap(%s)", GetMacroValDebug(target));
1133
+ glGenerateMipmap(target);
1134
+ return kContinue;
1135
+ }
1136
+
1137
+ int getActiveAttrib(GCanvasWeex *obj, const char *&p) {//getActiveAttrib
1138
+ const int *tokens = ParseTokensInt(p, 2);
1139
+
1140
+ GLuint program = tokens[0];
1141
+ GLuint index = tokens[1];
1142
+
1143
+ GLchar name[2048];
1144
+ GLsizei size = 0;
1145
+ GLsizei len = 0;
1146
+ GLenum type;
1147
+
1148
+ glGetActiveAttrib(program, index, sizeof(name), &len, &size, &type, name);
1149
+ LOG_D("[webgl::exec] getActiveAttrib(%d, %d)=type:%s,size:%d,name:%s",
1150
+ program, index, GetMacroValDebug(type), size, name);
1151
+ if (len == 0) {
1152
+ obj->setSyncResult("null");
1153
+ } else {
1154
+ //WebGLActiveInfo format: type,size,name
1155
+ std::string result = gcanvas::toString(type);
1156
+ result.append(",");
1157
+ result.append(gcanvas::toString(size));
1158
+ result.append(",");
1159
+ result.append(name);
1160
+
1161
+ obj->setSyncResult(result);
1162
+ }
1163
+
1164
+ return kContinue;
1165
+ }
1166
+
1167
+ int getActiveUniform(GCanvasWeex *obj, const char *&p) {
1168
+ const int *tokens = ParseTokensInt(p, 2);
1169
+ GLuint program = tokens[0];
1170
+ GLuint index = tokens[1];
1171
+
1172
+ GLchar name[2048];
1173
+ GLsizei size = 0;
1174
+ GLsizei len = 0;
1175
+ GLenum type;
1176
+
1177
+ glGetActiveUniform(program, index, sizeof(name), &len, &size, &type, name);
1178
+ LOG_D("[webgl::exec] glGetActiveUniform(%d, %d)=type:%s,size:%d,name:%s",
1179
+ program, index, GetMacroValDebug(type), size, name);
1180
+
1181
+ if (len == 0) {
1182
+ obj->setSyncResult("null");
1183
+ } else {
1184
+ //WebGLActiveInfo format: type,size,name
1185
+ std::string result = gcanvas::toString(type);
1186
+ result.append(",");
1187
+ result.append(gcanvas::toString(size));
1188
+ result.append(",");
1189
+ result.append(name);
1190
+
1191
+ obj->setSyncResult(result);
1192
+ }
1193
+
1194
+ return kContinue;
1195
+ }
1196
+
1197
+ int getAttachedShaders(GCanvasWeex *obj, const char *&p) {
1198
+ const int *tokens = ParseTokensInt(p, 1);
1199
+ GLuint program = tokens[0];
1200
+ GLsizei size = 0;
1201
+ GLuint shader[256];
1202
+
1203
+ glGetAttachedShaders(program, 256, &size, shader);
1204
+
1205
+ std::string result;
1206
+ for (int i = 0; i < size; i++) {
1207
+ result.append(gcanvas::toString(shader[i]));
1208
+ if (i < size - 1)
1209
+ result.append(",");
1210
+ }
1211
+ LOG_D("[webgl::exec] glGetAttachedShaders(%d)=[%s]", program, result.c_str());
1212
+
1213
+ obj->setSyncResult(result);
1214
+ return kContinue;
1215
+ }
1216
+
1217
+ int getAttribLocation(GCanvasWeex *obj, const char *&p) { // getAttribLocation31,position;
1218
+ const int *tokens = ParseTokensInt(p, 1);
1219
+ GLuint program = tokens[0];
1220
+ std::string &name = obj->mTempStr;
1221
+ ParseTokensString(p, name);
1222
+
1223
+ GLint ret = glGetAttribLocation(program, name.c_str());
1224
+ LOG_D("[webgl::exec] glGetAttribLocation(%d, %s)=%d", program,
1225
+ name.c_str(), ret);
1226
+
1227
+ obj->setSyncResult(gcanvas::toString(ret));
1228
+ return kContinue;
1229
+ }
1230
+
1231
+ //new
1232
+ int getBufferParameter(GCanvasWeex *obj, const char *&p) {
1233
+ const int *tokens = ParseTokensInt(p, 2);
1234
+ GLenum target = tokens[0];
1235
+ GLenum pname = tokens[1];
1236
+
1237
+ GLint params = -1;
1238
+ glGetBufferParameteriv(target, pname, &params);
1239
+ LOG_D("[webgl::exec] glGetBufferParameteriv(%s, %s)=%d",
1240
+ GetMacroValDebug(target), GetMacroValDebug(pname), params);
1241
+ if (params == -1) {
1242
+ obj->setSyncResult("null");
1243
+ } else {
1244
+ GLuint retType = kReturnInt; //int
1245
+ std::string result(gcanvas::toString(retType));
1246
+ result += ",";
1247
+ result += gcanvas::toString(params);
1248
+ obj->setSyncResult(result);
1249
+ }
1250
+
1251
+ return kContinue;
1252
+ }
1253
+
1254
+ //new OpenGL ES not Support, just return some in packages/gcanvas/src/context/webgl/RenderingContext.js
1255
+ //int getContextAttributes(GCanvasWeex *obj, const char *&p)
1256
+ //{ // getContextAttributes
1257
+ // return kContinue;
1258
+ //}
1259
+
1260
+ //new
1261
+ int getError(GCanvasWeex *obj, const char *&p) {
1262
+ GLenum error = glGetError();
1263
+ ++p;
1264
+ LOG_D("[webgl::exec] glGetError()=%d", error);
1265
+
1266
+ obj->setSyncResult(gcanvas::toString(error));
1267
+ return kContinue;
1268
+ }
1269
+
1270
+ //new OpenGL ES not Support
1271
+ int getExtension(GCanvasWeex *obj, const char *&p) {
1272
+ const char *extString = (const char *) glGetString(GL_EXTENSIONS);
1273
+ ++p;
1274
+ LOG_D("[webgl::exec] glGetString(GL_EXTENSIONS)=%s", extString);
1275
+ obj->setSyncResult(std::string(extString));
1276
+ return kContinue;
1277
+ }
1278
+
1279
+ //new
1280
+ int getFramebufferAttachmentParameter(GCanvasWeex *obj, const char *&p) {
1281
+ const int *tokens = ParseTokensInt(p, 3);
1282
+ GLenum target = tokens[0];
1283
+ GLenum attachment = tokens[1];
1284
+ GLenum pname = tokens[2];
1285
+
1286
+ GLint params = -1;
1287
+ glGetFramebufferAttachmentParameteriv(target, attachment, pname, &params);
1288
+ LOG_D("[webgl::exec] glGetFramebufferAttachmentParameteriv(%s,%s,%s)=%d",
1289
+ GetMacroValDebug(target), GetMacroValDebug(attachment), GetMacroValDebug(pname),
1290
+ params);
1291
+ if (params == -1) {
1292
+ obj->setSyncResult("null");
1293
+ } else {
1294
+ GLuint retType = kReturnInt; //int
1295
+ std::string result(gcanvas::toString(retType));
1296
+ result += ",";
1297
+ result += gcanvas::toString(params);
1298
+ obj->setSyncResult(result);
1299
+ }
1300
+ return kContinue;
1301
+ }
1302
+
1303
+ //new
1304
+ int getParameter(GCanvasWeex *obj, const char *&p) {
1305
+ //ref:https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGet.xml
1306
+
1307
+ const int *tokens = ParseTokensInt(p, 1);
1308
+ GLenum pname = tokens[0];
1309
+
1310
+ switch (pname) {
1311
+ //return type - GLboolean
1312
+ case GL_BLEND:
1313
+ case GL_CULL_FACE:
1314
+ case GL_DEPTH_TEST:
1315
+ case GL_DEPTH_WRITEMASK:
1316
+ case GL_DITHER:
1317
+ case GL_POLYGON_OFFSET_FILL:
1318
+ case GL_SAMPLE_COVERAGE_INVERT:
1319
+ case GL_SCISSOR_TEST:
1320
+ case GL_STENCIL_TEST: {
1321
+ GLboolean bParams;
1322
+ glGetBooleanv(pname, &bParams);
1323
+
1324
+ LOG_D("[webgl::exec] glGetParameter(%s)=%d, glGetBooleanv",
1325
+ GetMacroValDebug(pname), bParams);
1326
+ GLuint retValue = bParams;
1327
+ GLuint retType = kReturnBoolean; //boolean
1328
+ std::string result(gcanvas::toString(retType));
1329
+ result += ",";
1330
+ result += gcanvas::toString(retValue);
1331
+ obj->setSyncResult(result);
1332
+ break;
1333
+ }
1334
+
1335
+ //return type - GLenum
1336
+ case GL_ACTIVE_TEXTURE:
1337
+ case GL_BLEND_DST_ALPHA:
1338
+ case GL_BLEND_DST_RGB:
1339
+ case GL_BLEND_EQUATION_ALPHA:
1340
+ case GL_BLEND_EQUATION_RGB://same with GL_BLEND_EQUATION:
1341
+ case GL_BLEND_SRC_ALPHA:
1342
+ case GL_BLEND_SRC_RGB:
1343
+ case GL_CULL_FACE_MODE:
1344
+ case GL_DEPTH_FUNC:
1345
+ case GL_FRONT_FACE:
1346
+ case GL_GENERATE_MIPMAP_HINT:
1347
+ case GL_IMPLEMENTATION_COLOR_READ_FORMAT:
1348
+ case GL_IMPLEMENTATION_COLOR_READ_TYPE:
1349
+ case GL_STENCIL_BACK_FAIL:
1350
+ case GL_STENCIL_BACK_FUNC:
1351
+ case GL_STENCIL_BACK_PASS_DEPTH_FAIL:
1352
+ case GL_STENCIL_BACK_PASS_DEPTH_PASS:
1353
+ case GL_STENCIL_FAIL:
1354
+ case GL_STENCIL_FUNC:
1355
+ case GL_STENCIL_PASS_DEPTH_FAIL:
1356
+ case GL_STENCIL_PASS_DEPTH_PASS:
1357
+
1358
+ //return type - GLuint
1359
+ case GL_STENCIL_BACK_VALUE_MASK:
1360
+ case GL_STENCIL_BACK_WRITEMASK:
1361
+ case GL_STENCIL_VALUE_MASK:
1362
+ case GL_STENCIL_WRITEMASK: {
1363
+ GLint iParams;
1364
+ glGetIntegerv(pname, &iParams);
1365
+
1366
+ LOG_D("[webgl::exec] getParameter(%s)=%d, glGetIntegerv",
1367
+ GetMacroValDebug(pname), iParams);
1368
+
1369
+ GLuint retType = kReturnInt; //int
1370
+ std::string result(gcanvas::toString(retType));
1371
+ result += ",";
1372
+ result += gcanvas::toString((unsigned int) iParams);
1373
+ obj->setSyncResult(result);
1374
+ break;
1375
+ }
1376
+
1377
+ //return type - GLint
1378
+ case GL_ALPHA_BITS:
1379
+ case GL_BLUE_BITS:
1380
+ case GL_DEPTH_BITS:
1381
+ case GL_GREEN_BITS:
1382
+ case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:
1383
+ case GL_MAX_CUBE_MAP_TEXTURE_SIZE:
1384
+ case GL_MAX_FRAGMENT_UNIFORM_VECTORS:
1385
+ case GL_MAX_RENDERBUFFER_SIZE:
1386
+ case GL_MAX_TEXTURE_IMAGE_UNITS:
1387
+ case GL_MAX_TEXTURE_SIZE:
1388
+ case GL_MAX_VARYING_VECTORS:
1389
+ case GL_MAX_VERTEX_ATTRIBS:
1390
+ case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS:
1391
+ case GL_MAX_VERTEX_UNIFORM_VECTORS:
1392
+ case GL_PACK_ALIGNMENT:
1393
+ case GL_RED_BITS:
1394
+ case GL_SAMPLE_BUFFERS:
1395
+ case GL_SAMPLES:
1396
+ case GL_STENCIL_BACK_REF:
1397
+ case GL_STENCIL_BITS:
1398
+ case GL_STENCIL_CLEAR_VALUE:
1399
+ case GL_STENCIL_REF:
1400
+ case GL_SUBPIXEL_BITS:
1401
+ case GL_UNPACK_ALIGNMENT:
1402
+
1403
+ case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
1404
+
1405
+ //return type - Buffer & Program & Texture
1406
+ case GL_ARRAY_BUFFER_BINDING:
1407
+ case GL_CURRENT_PROGRAM:
1408
+ case GL_ELEMENT_ARRAY_BUFFER_BINDING:
1409
+ case GL_FRAMEBUFFER_BINDING:
1410
+ case GL_RENDERBUFFER_BINDING:
1411
+ case GL_TEXTURE_BINDING_2D:
1412
+ case GL_TEXTURE_BINDING_CUBE_MAP: {
1413
+ GLint iParams;
1414
+ glGetIntegerv(pname, &iParams);
1415
+
1416
+ LOG_D("[webgl::exec] getParameter(%s)=%d, glGetIntegerv",
1417
+ GetMacroValDebug(pname), iParams);
1418
+
1419
+ GLuint retType = kReturnInt; //int
1420
+ std::string result(gcanvas::toString(retType));
1421
+ result += ",";
1422
+ result += gcanvas::toString(iParams);
1423
+ obj->setSyncResult(result);
1424
+ break;
1425
+ }
1426
+
1427
+ //return type - GLFloat
1428
+ case GL_DEPTH_CLEAR_VALUE:
1429
+ case GL_LINE_WIDTH:
1430
+ case GL_POLYGON_OFFSET_FACTOR:
1431
+ case GL_POLYGON_OFFSET_UNITS:
1432
+ case GL_SAMPLE_COVERAGE_VALUE: {
1433
+ GLfloat fParams;
1434
+ glGetFloatv(pname, &fParams);
1435
+
1436
+ LOG_D("[webgl::exec] getParameter(%s)=%f, glGetFloatv",
1437
+ GetMacroValDebug(pname), fParams);
1438
+
1439
+ GLuint retType = kReturnFloat; //float
1440
+ std::string result = gcanvas::toString(retType);
1441
+ result += ",";
1442
+ result += gcanvas::toString(fParams);
1443
+ obj->setSyncResult(result);
1444
+ break;
1445
+ }
1446
+
1447
+ //return type - IntArray 2 element
1448
+ case GL_MAX_VIEWPORT_DIMS: // Int32Array (with 2 elements)
1449
+ {
1450
+ GLint values[2];
1451
+ glGetIntegerv(pname, values);
1452
+
1453
+ GLuint retType = kReturnIntArray; //intArray
1454
+ std::string result = gcanvas::toString(retType);
1455
+
1456
+ for (int i = 0; i < 2; i++) {
1457
+ result += ",";
1458
+ result += gcanvas::toString(values[i]);
1459
+ }
1460
+ LOG_D("[webgl::exec] getParameter(%s)=%f, glGetIntegerv-array",
1461
+ GetMacroValDebug(pname), result.c_str());
1462
+
1463
+ obj->setSyncResult(result);
1464
+
1465
+ break;
1466
+ }
1467
+
1468
+ //return type - IntArray 4 element
1469
+ case GL_SCISSOR_BOX: //Int32Array (with 4 elements)
1470
+ case GL_VIEWPORT: //Int32Array (with 4 elements)
1471
+ {
1472
+ GLint values[4];
1473
+ glGetIntegerv(pname, values);
1474
+
1475
+ GLuint retType = kReturnIntArray; //intArray
1476
+ std::string result = gcanvas::toString(retType);
1477
+
1478
+ for (int i = 0; i < 4; i++) {
1479
+ GLint v = values[i];
1480
+ if (i > 1) {
1481
+ v /= obj->GetDevicePixelRatio();
1482
+ }
1483
+
1484
+ result += ",";
1485
+ result += gcanvas::toString(v);
1486
+ }
1487
+ LOG_D("[webgl::exec] getParameter(%s)=%f, glGetIntegerv-array",
1488
+ GetMacroValDebug(pname), result.c_str());
1489
+ obj->setSyncResult(result);
1490
+ break;
1491
+ }
1492
+ case GL_COLOR_WRITEMASK: //sequence<GLboolean> (with 4 values)
1493
+ {
1494
+ GLint values[4];
1495
+ glGetIntegerv(pname, values);
1496
+
1497
+ GLuint retType = kReturnBooleanArray; //booleanArray
1498
+ std::string result = gcanvas::toString(retType);
1499
+
1500
+ for (int i = 0; i < 4; i++) {
1501
+ GLint v = values[i];
1502
+ if (i > 1) {
1503
+ v /= obj->GetDevicePixelRatio();
1504
+ }
1505
+
1506
+ result += ",";
1507
+ result += gcanvas::toString(v);
1508
+ }
1509
+ LOG_D("[webgl::exec] getParameter(%s)=%f, glGetIntegerv-array",
1510
+ GetMacroValDebug(pname), result.c_str());
1511
+ obj->setSyncResult(result);
1512
+ break;
1513
+ }
1514
+
1515
+ //return type - FloatArray 2 element
1516
+ case GL_ALIASED_LINE_WIDTH_RANGE: //Float32Array (with 2 elements)
1517
+ case GL_ALIASED_POINT_SIZE_RANGE: //Float32Array (with 2 elements)
1518
+ case GL_DEPTH_RANGE: {
1519
+ GLfloat values[2];
1520
+ glGetFloatv(pname, values);
1521
+
1522
+ GLuint retType = kReturnFloatArray; //FloatArray
1523
+ std::string result = gcanvas::toString(retType);
1524
+
1525
+ for (int i = 0; i < 2; i++) {
1526
+ result += ",";
1527
+ result += gcanvas::toString(values[i]);
1528
+ }
1529
+
1530
+ LOG_D("[webgl::exec] getParameter(%s)=%f, glGetFloatv-array",
1531
+ GetMacroValDebug(pname), result.c_str());
1532
+ obj->setSyncResult(result);
1533
+ break;
1534
+ }
1535
+
1536
+ //return type - FloatArray 4 element
1537
+ case GL_BLEND_COLOR: //Float32Array (with 4 values)
1538
+ case GL_COLOR_CLEAR_VALUE: //Float32Array (with 4 values)
1539
+ {
1540
+ GLfloat values[4];
1541
+ glGetFloatv(pname, values);
1542
+
1543
+ GLuint retType = kReturnFloatArray; //FloatArray
1544
+ std::string result = gcanvas::toString(retType);
1545
+
1546
+ for (int i = 0; i < 4; i++) {
1547
+ result += ",";
1548
+ result += gcanvas::toString(values[i]);
1549
+ }
1550
+
1551
+ LOG_D("[webgl::exec] getParameter(%s)=%f, glGetFloatv-array",
1552
+ GetMacroValDebug(pname), result.c_str());
1553
+
1554
+ obj->setSyncResult(result);
1555
+ break;
1556
+ }
1557
+
1558
+ //return type - String
1559
+ case GL_RENDERER:
1560
+ case GL_SHADING_LANGUAGE_VERSION:
1561
+ case GL_VENDOR:
1562
+ case GL_VERSION: {
1563
+ const GLubyte *charResult = glGetString(pname);
1564
+
1565
+ GLuint retType = kReturnString; //String
1566
+ std::string result = gcanvas::toString(retType);
1567
+ result += ",";
1568
+ result += gcanvas::toString(charResult);
1569
+
1570
+ LOG_D("[webgl::exec] getParameter(%s)=%f, glGetString-array",
1571
+ GetMacroValDebug(pname), result.c_str());
1572
+
1573
+ obj->setSyncResult(result);
1574
+ break;
1575
+ }
1576
+
1577
+ case GL_COMPRESSED_TEXTURE_FORMATS: {
1578
+ GLint numFormats = 0;
1579
+ glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numFormats);
1580
+ GLint *formats = new GLint[numFormats];
1581
+ glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS, formats);
1582
+
1583
+ GLuint retType = kReturnUintArray; //UintArray
1584
+ std::string result = gcanvas::toString(retType);
1585
+
1586
+ for (int i = 0; i < numFormats; i++) {
1587
+ result += ",";
1588
+ result += gcanvas::toString((unsigned int) formats[i]);
1589
+ }
1590
+
1591
+ LOG_D("[webgl::exec] getParameter(%s)=%f, glGetIntegerv-array",
1592
+ GetMacroValDebug(pname), result.c_str());
1593
+
1594
+
1595
+ obj->setSyncResult(result);
1596
+ delete[] formats;
1597
+ break;
1598
+ }
1599
+ default: {
1600
+ LOG_D("[webgl::exec] getParameter(%s) is undefined!!", GetMacroValDebug(pname));
1601
+ GLint iParams;
1602
+ glGetIntegerv(pname, &iParams);
1603
+
1604
+ GLuint retType = kReturnInt; //int
1605
+ std::string result(gcanvas::toString(retType));
1606
+ result += ",";
1607
+ result += gcanvas::toString(iParams);
1608
+ obj->setSyncResult(result);
1609
+ break;
1610
+ }
1611
+ }
1612
+
1613
+ return kContinue;
1614
+ }
1615
+
1616
+ //new
1617
+ int getProgramInfoLog(GCanvasWeex *obj, const char *&p) {
1618
+ const int *tokens = ParseTokensInt(p, 1);
1619
+ GLuint program = tokens[0];
1620
+
1621
+ GLchar infolog[2048];
1622
+ GLsizei len;
1623
+ glGetProgramInfoLog(program, sizeof(infolog), &len, infolog);
1624
+ LOG_D("[webgl::exec] glGetProgramInfoLog(%d)=%s", program, infolog);
1625
+
1626
+ std::string result(infolog);
1627
+ obj->setSyncResult(result);
1628
+ return kContinue;
1629
+ }
1630
+
1631
+ //new
1632
+ int getProgramParameter(GCanvasWeex *obj, const char *&p) {
1633
+ const int *tokens = ParseTokensInt(p, 2);
1634
+ GLuint program = tokens[0];
1635
+ GLenum pname = tokens[1];
1636
+
1637
+ GLint params = -1;
1638
+ glGetProgramiv(program, pname, &params);
1639
+ switch (pname) {
1640
+ //returnType GLBoolean
1641
+ case GL_DELETE_STATUS:
1642
+ case GL_LINK_STATUS:
1643
+ case GL_VALIDATE_STATUS: {
1644
+ if (params == -1) {
1645
+ obj->setSyncResult("null");
1646
+ } else {
1647
+ GLuint retType = kReturnBoolean; //boolean
1648
+ std::string result(gcanvas::toString(retType));
1649
+ result += ",";
1650
+ result += gcanvas::toString(params);
1651
+ obj->setSyncResult(gcanvas::toString(result));
1652
+ }
1653
+ break;
1654
+ }
1655
+ //returnType GLint
1656
+ case GL_ATTACHED_SHADERS:
1657
+ case GL_ACTIVE_ATTRIBUTES:
1658
+ case GL_ACTIVE_UNIFORMS: {
1659
+ if (params == -1) {
1660
+ obj->setSyncResult("null");
1661
+ } else {
1662
+ GLuint retType = kReturnInt; //int
1663
+ std::string result(gcanvas::toString(retType));
1664
+ result += ",";
1665
+ result += gcanvas::toString(params);
1666
+ obj->setSyncResult(gcanvas::toString(result));
1667
+ }
1668
+ break;
1669
+ }
1670
+
1671
+ }
1672
+ LOG_D("[webgl::exec] glGetProgramiv(%d, %s, %d)", program, GetMacroValDebug(pname), params);
1673
+
1674
+
1675
+ return kContinue;
1676
+ }
1677
+
1678
+ //new
1679
+ int getRenderbufferParameter(GCanvasWeex *obj, const char *&p) {
1680
+ const int *tokens = ParseTokensInt(p, 2);
1681
+ GLenum target = tokens[0];
1682
+ GLenum pname = tokens[1];
1683
+
1684
+ GLint params = -1;
1685
+ glGetRenderbufferParameteriv(target, pname, &params);
1686
+
1687
+ LOG_D("[webgl::exec] glGetRenderbufferParameteriv(%s, %s, %d)",
1688
+ GetMacroValDebug(target), GetMacroValDebug(pname), params);
1689
+ if (params == -1) {
1690
+ obj->setSyncResult("null");
1691
+ } else {
1692
+ GLuint retType = kReturnInt; //int
1693
+ std::string result(gcanvas::toString(retType));
1694
+ result += ",";
1695
+ result += gcanvas::toString(params);
1696
+ obj->setSyncResult(result);
1697
+ }
1698
+
1699
+
1700
+ return kContinue;
1701
+ }
1702
+
1703
+ //new
1704
+ int getShaderInfoLog(GCanvasWeex *obj, const char *&p) {
1705
+ const int *tokens = ParseTokensInt(p, 1);
1706
+ GLuint shader = tokens[0];
1707
+
1708
+ GLchar infolog[2048];
1709
+ GLsizei len = 0;
1710
+
1711
+ glGetShaderInfoLog(shader, sizeof(infolog), &len, infolog);
1712
+
1713
+ std::string result(infolog);
1714
+ LOG_D("[webgl::exec] glGetShaderInfoLog(%d, %d, %d, %s)", shader, sizeof(infolog), len,
1715
+ infolog);
1716
+ obj->setSyncResult(result);
1717
+
1718
+ return kContinue;
1719
+ }
1720
+
1721
+
1722
+ int getShaderParameter(GCanvasWeex *obj, const char *&p) { // getShaderParameter1;
1723
+ const int *tokens = ParseTokensInt(p, 2);
1724
+ GLuint shader = tokens[0];
1725
+ GLenum pname = tokens[1];
1726
+
1727
+ GLint params = -1;
1728
+ glGetShaderiv(shader, pname, &params);
1729
+ LOG_D("[webgl::exec] glGetShaderiv(%d, %d, %d)", shader, GetMacroValDebug(pname), params);
1730
+
1731
+ switch (pname) {
1732
+ //returnType GLboolean
1733
+ case GL_DELETE_STATUS:
1734
+ case GL_COMPILE_STATUS: {
1735
+ if (params == -1) {
1736
+ obj->setSyncResult("null");
1737
+ } else {
1738
+ GLuint retType = kReturnBoolean; //boolean
1739
+ std::string result(gcanvas::toString(retType));
1740
+ result += ",";
1741
+ result += gcanvas::toString(params);
1742
+ obj->setSyncResult(result);
1743
+ }
1744
+ break;
1745
+ }
1746
+ //returnType GLenum
1747
+ case GL_SHADER_TYPE:
1748
+ if (params == -1) {
1749
+ obj->setSyncResult("null");
1750
+ } else {
1751
+ GLuint retType = kReturnInt; //int
1752
+ std::string result(gcanvas::toString(retType));
1753
+ result += ",";
1754
+ result += gcanvas::toString(params);
1755
+ obj->setSyncResult(result);
1756
+ }
1757
+ break;
1758
+ }
1759
+ return kContinue;
1760
+ }
1761
+
1762
+ //new
1763
+ int getShaderPrecisionFormat(GCanvasWeex *obj, const char *&p) { // getShaderPrecisionFormat;
1764
+ const int *tokens = ParseTokensInt(p, 2);
1765
+ GLenum shadertype = tokens[0];
1766
+ GLenum precisiontype = tokens[1];
1767
+
1768
+ GLint range[2] = {-1, -1};
1769
+ GLint precision = -1;
1770
+
1771
+ glGetShaderPrecisionFormat(shadertype, precisiontype, range, &precision);
1772
+ LOG_D("[webgl::exec] glGetShaderPrecisionFormat(%s, %s, %d, %d, %d)",
1773
+ GetMacroValDebug(shadertype), GetMacroValDebug(precisiontype), range[0], range[1],
1774
+ precision);
1775
+ if (range[0] == -1) {
1776
+ obj->setSyncResult("null");
1777
+ } else {
1778
+ //format range[0],range[1],precision
1779
+ std::string result;
1780
+ for (int i = 0; i < 2; i++) {
1781
+ result.append(gcanvas::toString(range[i]));
1782
+ result.append(",");
1783
+ }
1784
+ result.append(gcanvas::toString(precision));
1785
+
1786
+ obj->setSyncResult(result);
1787
+ }
1788
+
1789
+ return kContinue;
1790
+ }
1791
+
1792
+ //new
1793
+ int getShaderSource(GCanvasWeex *obj, const char *&p) {
1794
+ const int *tokens = ParseTokensInt(p, 1);
1795
+ GLuint shader = tokens[0];
1796
+
1797
+ GLchar source[4096];
1798
+ GLsizei len = 0;
1799
+
1800
+ glGetShaderSource(shader, sizeof(source), &len, source);
1801
+ LOG_D("[webgl::exec] glGetShaderSource(%d, %d, %d, %s)", shader, sizeof(source), len,
1802
+ source);
1803
+
1804
+ std::string result(source);
1805
+ obj->setSyncResult(result);
1806
+ return kContinue;
1807
+ }
1808
+
1809
+ //new
1810
+ int getSupportedExtensions(GCanvasWeex *obj, const char *&p) {
1811
+ const char *extString = (const char *) glGetString(GL_EXTENSIONS);
1812
+ ++p;
1813
+ LOG_D("[webgl::exec] glGetString(GL_EXTENSIONS)=%s", extString);
1814
+
1815
+ obj->setSyncResult(std::string(extString));
1816
+ return kContinue;
1817
+ }
1818
+
1819
+ //new
1820
+ int getTexParameter(GCanvasWeex *obj, const char *&p) {
1821
+ //https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetTexParameter.xml
1822
+
1823
+ //WebGL 1.0 only support glGetTexParameteriv
1824
+ const int *tokens = ParseTokensInt(p, 2);
1825
+ GLenum target = tokens[0];
1826
+ GLenum pname = tokens[1];
1827
+
1828
+ GLint params = -1;
1829
+ glGetTexParameteriv(target, pname, &params);
1830
+ LOG_D("[webgl::exec] glGetTexParameteriv(%s, %s)=%d", GetMacroValDebug(target),
1831
+ GetMacroValDebug(pname), params);
1832
+ if (params == -1) {
1833
+ obj->setSyncResult("null");
1834
+ } else {
1835
+ GLuint retType = kReturnInt; //int
1836
+ std::string result(gcanvas::toString(retType));
1837
+ result += ",";
1838
+ result += gcanvas::toString(params);
1839
+ obj->setSyncResult(result);
1840
+ }
1841
+ return kContinue;
1842
+ }
1843
+
1844
+ //new
1845
+ int getUniform(GCanvasWeex *obj, const char *&p) {
1846
+ const int *tokens = ParseTokensInt(p, 2);
1847
+ GLint program = tokens[0];
1848
+ GLint location = tokens[1];
1849
+
1850
+ GLint num;
1851
+ glGetProgramiv(program, GL_ACTIVE_UNIFORMS, &num);
1852
+
1853
+ for (int index = 0; index < num; index++) {
1854
+ GLchar name[2048];
1855
+ GLsizei size = 0;
1856
+ GLsizei len = 0;
1857
+ GLenum type;
1858
+
1859
+ glGetActiveUniform(program, index, sizeof(name), &len, &size, &type, name);
1860
+ GLint loc = glGetUniformLocation(program, name);
1861
+
1862
+ if (loc == location) {
1863
+ std::string result = "";
1864
+ //get type
1865
+ LOG_D("getUniform,loc=%d,type=%d\n", loc, type);
1866
+ switch (type) {
1867
+ case GL_INT:
1868
+ case GL_BOOL:
1869
+ case GL_SAMPLER_2D:
1870
+ case GL_SAMPLER_CUBE: {
1871
+ LOG_D("start get [GL_INT,GL_BOOL,GL_SAMPLER_2D,GL_SAMPLER_CUBE].");
1872
+ GLint iParam;
1873
+ glGetUniformiv(program, location, &iParam);
1874
+ LOG_D("end get,para=%d\n", iParam);
1875
+ LOG_D("[webgl::exec] glGetUniformiv(%d, %d)=%d", program, location, iParam);
1876
+ result = gcanvas::toString(kReturnInt);
1877
+ result.append(",");
1878
+ result.append(gcanvas::toString(iParam));
1879
+ break;
1880
+ }
1881
+ case GL_INT_VEC2:
1882
+ case GL_BOOL_VEC2:
1883
+ case GL_INT_VEC3:
1884
+ case GL_BOOL_VEC3:
1885
+ case GL_INT_VEC4:
1886
+ case GL_BOOL_VEC4: {
1887
+ LOG_D("start get [GL_INT_VEC2,GL_BOOL_VEC2,GL_INT_VEC3,GL_BOOL_VEC3,GL_INT_VEC4,GL_BOOL_VEC4].");
1888
+ GLint iParams[4];
1889
+ glGetUniformiv(program, location, iParams);
1890
+ result = gcanvas::toString(kReturnIntArray);
1891
+ LOG_D("end get");
1892
+
1893
+ int paraNum;
1894
+ if (type == GL_INT_VEC2 || type == GL_BOOL_VEC2) paraNum = 2;
1895
+ else if (type == GL_INT_VEC3 || type == GL_BOOL_VEC3) paraNum = 3;
1896
+ else paraNum = 4;
1897
+
1898
+ for (int i = 0; i < paraNum; i++) {
1899
+ result.append(",");
1900
+ LOG_D("num=%d,param=%d\n", i, iParams[i]);
1901
+ result.append(gcanvas::toString(iParams[i]));
1902
+ }
1903
+ LOG_D("[webgl::exec] glGetUniformiv(%d, %d)=[%s]", program, location,
1904
+ result.c_str());
1905
+ break;
1906
+ }
1907
+
1908
+ case GL_FLOAT: {
1909
+ LOG_D("start get [GL_FLOAT].");
1910
+ GLfloat fParam;
1911
+ glGetUniformfv(program, location, &fParam);
1912
+ LOG_D("end get,param=%f", fParam);
1913
+ LOG_D("[webgl::exec] glGetUniformfv(%d, %d)=%f", program, location, fParam);
1914
+ result = gcanvas::toString(kReturnFloat);
1915
+ result.append(",");
1916
+ result.append(gcanvas::toString(fParam));
1917
+ break;
1918
+ }
1919
+
1920
+ case GL_FLOAT_VEC2:
1921
+ case GL_FLOAT_MAT2:
1922
+ case GL_FLOAT_VEC3:
1923
+ case GL_FLOAT_MAT3:
1924
+ case GL_FLOAT_VEC4:
1925
+ case GL_FLOAT_MAT4: {
1926
+ LOG_D("start get [GL_FLOAT_VEC2,GL_FLOAT_MAT2,GL_FLOAT_VEC3,GL_FLOAT_MAT3,GL_FLOAT_VEC4,GL_FLOAT_MAT4].");
1927
+ GLfloat fParams[4];
1928
+ glGetUniformfv(program, location, fParams);
1929
+ LOG_D("end get");
1930
+ result = gcanvas::toString(kReturnFloatArray);
1931
+
1932
+ int paraNum;
1933
+ if (type == GL_FLOAT_VEC2 || type == GL_FLOAT_MAT2) paraNum = 2;
1934
+ else if (type == GL_FLOAT_VEC3 || type == GL_FLOAT_MAT3) paraNum = 3;
1935
+ else paraNum = 4;
1936
+
1937
+ for (int i = 0; i < paraNum; i++) {
1938
+ result.append(",");
1939
+ LOG_D("num=%d,param=%f\n", i, fParams[i]);
1940
+ result.append(gcanvas::toString(fParams[i]));
1941
+ }
1942
+ LOG_D("[webgl::exec] glGetUniformfv(%d, %d)=[%s]", program, location,
1943
+ result.c_str());
1944
+ break;
1945
+ }
1946
+ default:
1947
+ break;
1948
+ }
1949
+
1950
+ if (!result.empty()) {
1951
+ obj->setSyncResult(result);
1952
+ }
1953
+
1954
+ break;
1955
+ }
1956
+ }
1957
+ return kContinue;
1958
+ }
1959
+
1960
+
1961
+ int getUniformLocation(GCanvasWeex *obj, const char *&p) { // getUniformLocation1,s_texture;
1962
+ const int *tokens = ParseTokensInt(p, 1);
1963
+ GLuint program = tokens[0];
1964
+ std::string &name = obj->mTempStr;
1965
+ ParseTokensString(p, name);
1966
+
1967
+ GLint ret = glGetUniformLocation(program, name.c_str());
1968
+ LOG_D("[webgl::exec] glGetUniformLocation(%d, %s)=%d", program, name.c_str(), ret);
1969
+ if (ret == -1) {
1970
+ obj->setSyncResult("null");
1971
+ } else {
1972
+ obj->setSyncResult(gcanvas::toString(ret));
1973
+ }
1974
+ return kContinue;
1975
+ }
1976
+
1977
+ //new
1978
+ int getVertexAttrib(GCanvasWeex *obj,
1979
+ const char *&p) { //https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/getVertexAttrib
1980
+ const int *tokens = ParseTokensInt(p, 2);
1981
+ GLuint index = tokens[0];
1982
+ GLenum pname = tokens[1];
1983
+
1984
+ switch (pname) {
1985
+ case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:
1986
+ case GL_VERTEX_ATTRIB_ARRAY_ENABLED:
1987
+ case GL_VERTEX_ATTRIB_ARRAY_SIZE:
1988
+ case GL_VERTEX_ATTRIB_ARRAY_TYPE:
1989
+ case GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: {
1990
+ GLint params = -1;
1991
+ glGetVertexAttribiv(index, pname, &params);
1992
+ LOG_D("[webgl::exec] glGetVertexAttribiv(%d, %s)=%d", index,
1993
+ GetMacroValDebug(pname), params);
1994
+
1995
+ if (params == -1) {
1996
+ obj->setSyncResult("null");
1997
+ } else {
1998
+ GLuint retType = kReturnInt; //Int
1999
+ std::string result = gcanvas::toString(retType);
2000
+ result += ",";
2001
+ result += gcanvas::toString(params);
2002
+ obj->setSyncResult(result);
2003
+ }
2004
+ break;
2005
+ }
2006
+
2007
+ case GL_CURRENT_VERTEX_ATTRIB: {
2008
+ GLfloat params[4] = {-1, -1, -1, -1};
2009
+ glGetVertexAttribfv(index, pname, params);
2010
+ LOG_D("[webgl::exec] glGetVertexAttribfv(%d, %s)=(%f, %f, %f, %f)",
2011
+ index, GetMacroValDebug(pname), params[0], params[1], params[2], params[3]);
2012
+
2013
+ GLuint retType = kReturnFloatArray; //FloatArray
2014
+ std::string result = gcanvas::toString(retType);
2015
+
2016
+ if (params[0] == -1) {
2017
+ obj->setSyncResult("null");
2018
+ } else {
2019
+ for (int i = 0; i < 4; i++) {
2020
+ result += ",";
2021
+ result += gcanvas::toString(params[i]);
2022
+ }
2023
+ obj->setSyncResult(result);
2024
+ }
2025
+
2026
+ break;
2027
+ }
2028
+
2029
+ default:
2030
+ break;
2031
+ }
2032
+
2033
+ return kContinue;
2034
+ }
2035
+
2036
+
2037
+ //new
2038
+ int getVertexAttribOffset(GCanvasWeex *obj, const char *&p) { // getVertexAttribOffset;
2039
+ const int *tokens = ParseTokensInt(p, 2);
2040
+ GLuint index = tokens[0];
2041
+ // GLenum pname = tokens[1];
2042
+
2043
+ GLvoid *pointer;
2044
+ glGetVertexAttribPointerv(index, GL_VERTEX_ATTRIB_ARRAY_POINTER, &pointer);
2045
+
2046
+ int value = (int) (reinterpret_cast<size_t>(pointer));
2047
+ obj->setSyncResult(gcanvas::toString(value));
2048
+ return kContinue;
2049
+ }
2050
+
2051
+ //new
2052
+ int isBuffer(GCanvasWeex *obj, const char *&p) {
2053
+ const int *tokens = ParseTokensInt(p, 1);
2054
+ GLuint buffer = tokens[0];
2055
+
2056
+ GLuint ret = glIsBuffer(buffer);
2057
+ LOG_D("[webgl::exec] glIsBuffer(%d)=%d", buffer, ret);
2058
+
2059
+ obj->setSyncResult(gcanvas::toString(ret));
2060
+ return kContinue;
2061
+ }
2062
+
2063
+ //new
2064
+ int isEnabled(GCanvasWeex *obj, const char *&p) {
2065
+ const int *tokens = ParseTokensInt(p, 1);
2066
+ GLenum cap = tokens[0];
2067
+
2068
+ GLuint ret = glIsEnabled(cap);
2069
+ LOG_D("[webgl::exec] glIsEnabled(%d)=%d", GetMacroValDebug(cap), ret);
2070
+
2071
+ obj->setSyncResult(gcanvas::toString(ret));
2072
+ return kContinue;
2073
+ }
2074
+
2075
+ //new
2076
+ int isFramebuffer(GCanvasWeex *obj, const char *&p) {
2077
+ const int *tokens = ParseTokensInt(p, 1);
2078
+ GLuint framebuffer = tokens[0];
2079
+
2080
+ GLuint ret = glIsFramebuffer(framebuffer);
2081
+ LOG_D("[webgl::exec] glIsFramebuffer(%d)=%d", framebuffer, ret);
2082
+
2083
+ obj->setSyncResult(gcanvas::toString(ret));
2084
+ return kContinue;
2085
+ }
2086
+
2087
+ //new
2088
+ int isProgram(GCanvasWeex *obj, const char *&p) {
2089
+ const int *tokens = ParseTokensInt(p, 1);
2090
+ GLuint program = tokens[0];
2091
+
2092
+ GLuint ret = glIsProgram(program);
2093
+ LOG_D("[webgl::exec] glIsProgram(%d)=%d", program, ret);
2094
+
2095
+ obj->setSyncResult(gcanvas::toString(ret));
2096
+ return kContinue;
2097
+ }
2098
+
2099
+ //new
2100
+ int isRenderbuffer(GCanvasWeex *obj, const char *&p) {
2101
+ const int *tokens = ParseTokensInt(p, 1);
2102
+ GLuint renderbuffer = tokens[0];
2103
+
2104
+ GLuint ret = glIsRenderbuffer(renderbuffer);
2105
+ LOG_D("[webgl::exec] glIsRenderbuffer(%d)=%d", renderbuffer, ret);
2106
+
2107
+ obj->setSyncResult(gcanvas::toString(ret));
2108
+ return kContinue;
2109
+ }
2110
+
2111
+ //new
2112
+ int isShader(GCanvasWeex *obj, const char *&p) {
2113
+ const int *tokens = ParseTokensInt(p, 1);
2114
+ GLuint shader = tokens[0];
2115
+
2116
+ GLuint ret = glIsShader(shader);
2117
+ LOG_D("[webgl::exec] glIsShader(%d)=%d", shader, ret);
2118
+
2119
+ obj->setSyncResult(gcanvas::toString(ret));
2120
+ return kContinue;
2121
+ }
2122
+
2123
+ //new
2124
+ int isTexture(GCanvasWeex *obj, const char *&p) {
2125
+ const int *tokens = ParseTokensInt(p, 1);
2126
+ GLuint texture = tokens[0];
2127
+
2128
+ GLuint ret = glIsTexture(texture);
2129
+ LOG_D("[webgl::exec] glIsShader(%d)=%d", texture, ret);
2130
+
2131
+ obj->setSyncResult(gcanvas::toString(ret));
2132
+ return kContinue;
2133
+ }
2134
+
2135
+ int lineWidth(GCanvasWeex *obj, const char *&p) { // lineWidth1;
2136
+ const GLfloat *tokens = ParseTokensFloat(p, 1);
2137
+ LOG_D("[webgl::exec] glLineWidth(%f)", tokens[0]);
2138
+ glLineWidth(tokens[0]);
2139
+ return kContinue;
2140
+ }
2141
+
2142
+ int linkProgram(GCanvasWeex *obj, const char *&p) { // linkProgram1
2143
+ const int *tokens = ParseTokensInt(p, 1);
2144
+ GLuint program = tokens[0];
2145
+
2146
+ glLinkProgram(program);
2147
+ LOG_D("[webgl::exec] glLinkProgram(%d)", program);
2148
+ return kContinue;
2149
+ }
2150
+
2151
+ int pixelStorei(GCanvasWeex *obj, const char *&p) { // pixelStorei2,1
2152
+ const int *tokens = ParseTokensInt(p, 2);
2153
+ GLenum pname = tokens[0];
2154
+ GLint param = tokens[1];
2155
+
2156
+ glPixelStorei(pname, param);
2157
+ LOG_D("[webgl::exec] glPixelStorei(%s, %d)", GetMacroValDebug(pname), param);
2158
+ return kContinue;
2159
+ }
2160
+
2161
+ int polygonOffset(GCanvasWeex *obj, const char *&p) { // polygonOffset1.0,1.0);
2162
+ const float *tokens = ParseTokensFloat(p, 2);
2163
+ GLfloat factor = tokens[0];
2164
+ GLfloat units = tokens[1];
2165
+
2166
+ LOG_D("[webgl::exec] glPolygonOffset(%f, %f)", factor, units);
2167
+ glPolygonOffset(factor, units);
2168
+ return kContinue;
2169
+ }
2170
+
2171
+ int readPixels(GCanvasWeex *obj, const char *&p) {
2172
+ const int *tokens = ParseTokensInt(p, 6);
2173
+ float ratio = obj->GetDevicePixelRatio();
2174
+ GLint x = tokens[0] * ratio;
2175
+ GLint y = tokens[1] * ratio;
2176
+ GLsizei width = tokens[2] * ratio;
2177
+ GLsizei height = tokens[3] * ratio;
2178
+ GLenum format = tokens[4];
2179
+ GLenum type = tokens[5];
2180
+
2181
+ GLuint pixelSize = 4 * width * height;
2182
+ GLubyte *pixels = new GLubyte[pixelSize];
2183
+ glReadPixels(x, y, width, height, format, type, pixels);
2184
+
2185
+ LOG_D("[webgl::exec] readPixels(%d, %d, %d, %d, %s, %s)", x, y, width, height,
2186
+ GetMacroValDebug(format), GetMacroValDebug(type));
2187
+
2188
+ //convert pixels to string
2189
+ GLuint retType = kReturnUintArray; //UintArray
2190
+ std::string result = gcanvas::toString(retType);
2191
+
2192
+ for (int i = 0; i < pixelSize; i++) {
2193
+ result += ",";
2194
+ result += gcanvas::toString((unsigned int) (pixels[i] & 0xff));
2195
+ }
2196
+ obj->setSyncResult(result);
2197
+
2198
+ delete[] pixels;
2199
+ return kContinue;
2200
+ }
2201
+
2202
+ int renderbufferStorage(GCanvasWeex *obj, const char *&p) { // renderbufferStorage0,3,512,512;
2203
+ const int *tokens = ParseTokensInt(p, 4);
2204
+ GLenum target = tokens[0];
2205
+ GLenum internalformat = tokens[1];
2206
+ float ratio = obj->GetDevicePixelRatio();
2207
+ GLsizei width = tokens[2] * ratio;
2208
+ GLsizei height = tokens[3] * ratio;
2209
+
2210
+ LOG_D("[webgl::exec] glRenderbufferStorage(%s, %s, %d, %d)",
2211
+ GetMacroValDebug(target), GetMacroValDebug(internalformat), width, height);
2212
+ glRenderbufferStorage(target, internalformat, width, height);
2213
+ return kContinue;
2214
+ }
2215
+
2216
+ //new
2217
+ int sampleCoverage(GCanvasWeex *obj, const char *&p) {
2218
+ const float *fTokens = ParseTokensFloat(p, 1);
2219
+ GLfloat value = fTokens[0];
2220
+
2221
+ const int *tokens = ParseTokensInt(p, 1);
2222
+ GLuint invert = tokens[0];
2223
+
2224
+ LOG_D("[webgl::exec] glSampleCoverage(%f, %d)", value, invert);
2225
+ glSampleCoverage(value, invert);
2226
+ return kContinue;
2227
+ }
2228
+
2229
+ //new
2230
+ int scissor(GCanvasWeex *obj, const char *&p) {
2231
+ const int *tokens = ParseTokensInt(p, 4);
2232
+ float ratio = obj->GetDevicePixelRatio();
2233
+ GLint x = tokens[0] * ratio;
2234
+ GLint y = tokens[1] * ratio;
2235
+ GLsizei width = tokens[2] * ratio;
2236
+ GLsizei height = tokens[3] * ratio;
2237
+
2238
+ LOG_D("[webgl::exec] glScissor(%d, %d, %d, %d)", x, y, width, height);
2239
+ glScissor(x, y, width, height);
2240
+ return kContinue;
2241
+ }
2242
+
2243
+
2244
+ int shaderSource(GCanvasWeex *obj, const char *&p) { // shaderSource1,CiAgICAgICAgYXR0
2245
+ const int *tokens = ParseTokensInt(p, 1);
2246
+ GLuint shader = tokens[0];
2247
+
2248
+ std::string &source = obj->mTempStr;
2249
+ // GLint len = ParseTokensBase64(p, source);
2250
+ // const char *src = source.c_str();
2251
+
2252
+ char *begin = const_cast<char *>(p);
2253
+ while (*p && (*p != '\0')) {
2254
+ ++p;
2255
+ }
2256
+ LOG_D("p: %s", p);
2257
+ GLint len = (int) (p - begin);
2258
+
2259
+ if (p <= begin) {
2260
+ source.clear();
2261
+ return 0;
2262
+ }
2263
+
2264
+ if (len > (int) source.length()) source.resize((size_t) len);
2265
+ const char *src = begin;
2266
+
2267
+ glShaderSource(shader, 1, &src, &len);
2268
+ LOG_D("[webgl::exec] glShaderSource(%d, %d, %d, [%s]) ",
2269
+ shader, 1, len, src);
2270
+ return kContinue;
2271
+ }
2272
+
2273
+ int stencilFunc(GCanvasWeex *obj, const char *&p) {//glStencilFunc(GL_LESS, 0x1, 0x1);
2274
+
2275
+ const int *tokens = ParseTokensInt(p, 3);
2276
+ GLenum func = tokens[0];
2277
+ GLint ref = tokens[1];
2278
+ GLuint mask = tokens[2];
2279
+
2280
+ glStencilFunc(func, ref, mask);
2281
+ LOG_D("[webgl::exec] glStencilFunc(%s, %d, %d)",
2282
+ GetMacroValDebug(func), ref, mask);
2283
+ return kContinue;
2284
+ }
2285
+
2286
+ //new
2287
+ int stencilFuncSeparate(GCanvasWeex *obj, const char *&p) {
2288
+ const int *tokens = ParseTokensInt(p, 4);
2289
+ GLenum face = tokens[0];
2290
+ GLenum func = tokens[1];
2291
+ GLint ref = tokens[2];
2292
+ GLuint mask = tokens[3];
2293
+
2294
+ glStencilFuncSeparate(face, func, ref, mask);
2295
+ LOG_D("[webgl::exec] glStencilFunc(%s, %s, %d, %d)",
2296
+ GetMacroValDebug(face), GetMacroValDebug(func), ref, mask);
2297
+ return kContinue;
2298
+ }
2299
+
2300
+ //new
2301
+ int stencilMask(GCanvasWeex *obj, const char *&p) {
2302
+ const int *tokens = ParseTokensInt(p, 1);
2303
+ GLuint mask = tokens[0];
2304
+
2305
+ glStencilMask(mask);
2306
+ LOG_D("[webgl::exec] glStencilMask(%d)", mask);
2307
+ return kContinue;
2308
+ }
2309
+
2310
+ //new
2311
+ int stencilMaskSeparate(GCanvasWeex *obj, const char *&p) {
2312
+ const int *tokens = ParseTokensInt(p, 2);
2313
+ GLenum face = tokens[0];
2314
+ GLuint mask = tokens[1];
2315
+
2316
+ glStencilMaskSeparate(face, mask);
2317
+ LOG_D("[webgl::exec] glStencilMaskSeparate(%s, %d)", GetMacroValDebug(face), mask);
2318
+ return kContinue;
2319
+ }
2320
+
2321
+ int stencilOp(GCanvasWeex *obj, const char *&p) {
2322
+ const int *tokens = ParseTokensInt(p, 3);
2323
+ GLenum fail = tokens[0];
2324
+ GLenum zfail = tokens[1];
2325
+ GLenum zpass = tokens[2];
2326
+
2327
+ glStencilOp(fail, zfail, zpass);
2328
+ LOG_D("[webgl::exec] glStencilOp(%s, %s, %s)", GetMacroValDebug(fail),
2329
+ GetMacroValDebug(zfail), GetMacroValDebug(zpass));
2330
+ return kContinue;
2331
+ }
2332
+
2333
+ int stencilOpSeparate(GCanvasWeex *obj, const char *&p) {
2334
+ LOG_D("[webgl::exec] glStencilOpSeparate start");
2335
+ const int *tokens = ParseTokensInt(p, 4);
2336
+ GLenum face = tokens[0];
2337
+ GLenum fail = tokens[1];
2338
+ GLenum zfail = tokens[2];
2339
+ GLenum zpass = tokens[3];
2340
+ glStencilOpSeparate(face, fail, zfail, zpass);
2341
+ LOG_D("[webgl::exec] glStencilOpSeparate getError:%d",glGetError());
2342
+ LOG_D("[webgl::exec] glStencilOpSeparate(%s, %s, %s, %s)",
2343
+ GetMacroValDebug(face), GetMacroValDebug(fail), GetMacroValDebug(zfail),
2344
+ GetMacroValDebug(zpass));
2345
+ return kContinue;
2346
+ }
2347
+
2348
+ extern int (*g_webglFuncMap[WEBGL_API_COUNT])(GCanvasWeex *, const char *&);
2349
+
2350
+ extern int (*g_webglExtFuncMap[WEBGL_EXT_API_COUNT])(GCanvasWeex *, const char *&);
2351
+
2352
+ int texImage2D(GCanvasWeex *obj, const char *&p) { // texImage2D0,0,3,3,0,a.bmp;
2353
+ const int args = ParseTokensInt(p, 1)[0];
2354
+ if (6 == args) {
2355
+ const int *tokens = ParseTokensInt(p, 5);
2356
+ GLenum target = tokens[0];
2357
+ GLint level = tokens[1];
2358
+ GLenum internalformat = tokens[2];
2359
+ GLenum format = tokens[3];
2360
+ GLenum type = tokens[4];
2361
+
2362
+ std::string &src = obj->mTempStr;
2363
+ if (strncmp(p, "data:image", 10) == 0) //eg: data:image/png;base64,xxxxxx;
2364
+ {
2365
+ strncpy((char *) src.c_str(), p, strlen(p) - 1); //去掉最后分号
2366
+ LOG_D("[texImage2D] src=data:image, base64");
2367
+ } else {
2368
+ ParseTokensString(p, src);
2369
+ LOG_D("[texImage2D] src=%s", src.c_str());
2370
+ }
2371
+
2372
+ #ifdef IOS
2373
+ GCanvasContext *ctxWeex = (GCanvasContext*)obj->GetGCanvasContext();
2374
+ GWebGLTxtImage2DFunc func = ctxWeex->GetGWebGLTxtImage2DFunc();
2375
+ if (func)
2376
+ {
2377
+ func(target, level, internalformat, format, type, src.c_str());
2378
+ }
2379
+ #endif
2380
+
2381
+ #ifdef ANDROID
2382
+ // int next_cmd = atoi(p);
2383
+ // jint flush_flag = 1;
2384
+ //
2385
+ // // if next cmd still is texImage2D, can unflush load cmd with
2386
+ // // java.primise has the same param num .
2387
+ // if ((next_cmd >= 1) && (next_cmd <= WEBGL_API_COUNT) &&
2388
+ // (g_webglFuncMap[next_cmd] == texImage2D))
2389
+ // {
2390
+ // flush_flag = 0;
2391
+ // }
2392
+ //
2393
+ // JNIEnv *je = obj->mJniEnv;
2394
+ // jobject &jCanvasRender = *(obj->mCanvasRender);
2395
+ // jclass cls = je->GetObjectClass(jCanvasRender);
2396
+ // jmethodID jmid =
2397
+ // je->GetMethodID(cls, "dealTexture", "(Ljava/lang/String;III)V");
2398
+ // jstring jparam = je->NewStringUTF(src.c_str());
2399
+ // jint jflipy = obj->mPixelFlipY;
2400
+ //
2401
+ // LOG_D("[webgl::exec] glTexImage2D(%s, 0, %s, 0)", target, src.c_str());
2402
+ // je->CallVoidMethod(jCanvasRender, jmid, jparam, target, jflipy,
2403
+ // flush_flag);
2404
+
2405
+ // TODO: here need call ReleaseString for free mem, ref is
2406
+ // :http://blog.csdn.net/coutcin/article/details/1350245
2407
+ // TODO: now only use src param, buf before also need deal.
2408
+ #endif
2409
+
2410
+ } else {
2411
+ const int *tokens = ParseTokensInt(p, 9);
2412
+ const GLvoid *array = nullptr;
2413
+ LOG_D("texImage2D after parseTokensInt: %s", p);
2414
+ if (tokens[8] == 0) {
2415
+ ParseTokensSkip(p);
2416
+ } else {
2417
+ std::string &buf = obj->mTempStr;
2418
+ ParseTokensBase64(p, buf);
2419
+ LOG_D("texImage2D after base64 : %s", buf.c_str());
2420
+ int bytes = tokens[8];
2421
+ unsigned int size;
2422
+ array = SplitStringToArray(buf.c_str(), bytes, size);
2423
+ }
2424
+ glTexImage2D(tokens[0], tokens[1], tokens[2], tokens[3], tokens[4],
2425
+ tokens[5], tokens[6], tokens[7], array);
2426
+ if (array) {
2427
+ free((void *)array);
2428
+ }
2429
+
2430
+ LOG_D("[webgl::exec] glTexImage2D(%s, %d, %s, %d, %d, %d, %s, %s, array)",
2431
+ GetMacroValDebug(tokens[0]), tokens[1], GetMacroValDebug(tokens[2]), tokens[3],
2432
+ tokens[4], tokens[5], GetMacroValDebug(tokens[6]), GetMacroValDebug(tokens[7]),
2433
+ array);
2434
+ };
2435
+ return kContinue;
2436
+ }
2437
+
2438
+ int texParameterf(GCanvasWeex *obj, const char *&p) {
2439
+ const int *tokens = ParseTokensInt(p, 2);
2440
+ GLenum target = tokens[0];
2441
+ GLenum pname = tokens[1];
2442
+
2443
+ const float *floatTokens = ParseTokensFloat(p, 1);
2444
+ GLfloat param = floatTokens[0];
2445
+
2446
+ LOG_D("[webgl::exec] glTexParameterf(%s, %s, %f) ",
2447
+ GetMacroValDebug(target), GetMacroValDebug(pname), param);
2448
+ glTexParameterf(target, pname, param);
2449
+ return kContinue;
2450
+ }
2451
+
2452
+ int texParameteri(GCanvasWeex *obj, const char *&p) { // texParameteri0,undefined,undefined;
2453
+
2454
+ const int *tokens = ParseTokensInt(p, 3);
2455
+ GLenum target = tokens[0];
2456
+ GLenum pname = tokens[1];
2457
+ GLint param = tokens[2];
2458
+
2459
+ LOG_D("[webgl::exec] glTexParameteri(%s, %s, %d) ",
2460
+ GetMacroValDebug(target), GetMacroValDebug(pname), param);
2461
+ glTexParameteri(target, pname, param);
2462
+ return kContinue;
2463
+ }
2464
+
2465
+
2466
+ int texSubImage2D(GCanvasWeex *obj, const char *&p) {
2467
+ const int args = ParseTokensInt(p, 1)[0];
2468
+ if (7 == args) {
2469
+ const int *tokens = ParseTokensInt(p, 6);
2470
+
2471
+ GLenum target = tokens[0];
2472
+ GLint level = tokens[1];
2473
+ GLenum xoffset = tokens[2];
2474
+ GLenum yoffset = tokens[3];
2475
+ GLenum format = tokens[4];
2476
+ GLenum type = tokens[5];
2477
+
2478
+ std::string &src = obj->mTempStr;
2479
+ if (strncmp(p, "data:image", 10) == 0) //eg: data:image/png;base64,xxxxxx;
2480
+ {
2481
+ strncpy((char *) src.c_str(), p, strlen(p) - 1);
2482
+ LOG_D("[texImage2D] src=data:image, base64");
2483
+ } else {
2484
+ ParseTokensString(p, src);
2485
+ LOG_D("[texImage2D] src=%s", src.c_str());
2486
+ }
2487
+
2488
+ #ifdef IOS
2489
+ GCanvasContext *ctxWeex = (GCanvasContext*)obj->GetGCanvasContext();
2490
+ GWebGLTxtSubImage2DFunc func = ctxWeex->GetGWebGLTxtSubImage2DFunc();
2491
+ if (func)
2492
+ {
2493
+ func(target, level, xoffset, yoffset, format, type, src.c_str());
2494
+ }
2495
+ #endif
2496
+
2497
+ #ifdef ANDROID
2498
+ //TODO
2499
+ #endif
2500
+
2501
+ } else if (9 == args) {
2502
+ const int *tokens = ParseTokensInt(p, 9);
2503
+ const GLvoid *array = nullptr;
2504
+ if (tokens[8] == 0) {
2505
+ ParseTokensSkip(p);
2506
+ } else {
2507
+ std::string &buf = obj->mTempStr;
2508
+ ParseTokensBase64(p, buf);
2509
+ int bytes = tokens[8];
2510
+ unsigned int size;
2511
+ array = SplitStringToArray(buf.c_str(), bytes, size);
2512
+ }
2513
+ glTexSubImage2D(tokens[0], tokens[1], tokens[2], tokens[3], tokens[4],
2514
+ tokens[5], tokens[6], tokens[7], array);
2515
+
2516
+ LOG_D("[webgl::exec] glTexSubImage2D(%s, %d, %d, %d, %d, %d, %s, %s, array)",
2517
+ GetMacroValDebug(tokens[0]), tokens[1], tokens[2], tokens[3],
2518
+ tokens[4], tokens[5], GetMacroValDebug(tokens[6]), GetMacroValDebug(tokens[7]),
2519
+ array);
2520
+ if (array) {
2521
+ free((void *) array);
2522
+ }
2523
+ }
2524
+ return kContinue;
2525
+ }
2526
+
2527
+
2528
+ int uniformXfv(GCanvasWeex *obj, const char *&p, int type) { // uniform3fv_53,/////wj/////
2529
+ const int *tokens = ParseTokensInt(p, 2);
2530
+ GLint location = tokens[0];
2531
+
2532
+ std::string &value = obj->mTempStr;
2533
+ ParseTokensBase64(p, value);
2534
+
2535
+ unsigned int size;
2536
+ const GLfloat *fvalue = (const GLfloat *) SplitStringToFloat32Array(value.c_str(), ",",
2537
+ size);
2538
+
2539
+ switch (type) {
2540
+ case 1:
2541
+ glUniform1fv(location, size, fvalue);
2542
+ break;
2543
+ case 2:
2544
+ glUniform2fv(location, size / 2, fvalue);
2545
+ break;
2546
+ case 3:
2547
+ glUniform3fv(location, size / 3, fvalue);
2548
+ break;
2549
+ case 4:
2550
+ glUniform4fv(location, size / 4, fvalue);
2551
+ break;
2552
+ }
2553
+
2554
+ return kContinue;
2555
+ }
2556
+
2557
+ int uniformXiv(GCanvasWeex *obj, const char *&p, int type) { // uniform3fv_53,/////wj/////
2558
+ const int *tokens = ParseTokensInt(p, 2);
2559
+ GLint location = tokens[0];
2560
+
2561
+ std::string &value = obj->mTempStr;
2562
+ ParseTokensBase64(p, value);
2563
+
2564
+ unsigned int size;
2565
+ const GLint *ivalue = (const GLint *) SplitStringToInt32Array(value.c_str(), ",", size);
2566
+
2567
+ LOG_D("[webgl::exec] glUniform%div(%d, %d, %d)", type, location, 1, ivalue[0]);
2568
+
2569
+ switch (type) {
2570
+ case 1:
2571
+ glUniform1iv(location, size, ivalue);
2572
+ break;
2573
+ case 2:
2574
+ glUniform2iv(location, size / 2, ivalue);
2575
+ break;
2576
+ case 3:
2577
+ glUniform3iv(location, size / 3, ivalue);
2578
+ break;
2579
+ case 4:
2580
+ glUniform4iv(location, size / 4, ivalue);
2581
+ break;
2582
+ }
2583
+
2584
+ if (ivalue) {
2585
+ free((void *) ivalue);
2586
+ }
2587
+
2588
+ return kContinue;
2589
+ }
2590
+
2591
+ int uniform1f(GCanvasWeex *obj, const char *&p) { // uniform1f_4,0
2592
+ const int *intTokens = ParseTokensInt(p, 1);
2593
+ GLint location = intTokens[0];
2594
+
2595
+ const float *tokens = ParseTokensFloat(p, 1);
2596
+ LOG_D("[webgl::exec] glUniform1f(%d, %f)", location, tokens[0]);
2597
+ glUniform1f(location, tokens[0]);
2598
+ return kContinue;
2599
+ }
2600
+
2601
+ int uniform1fv(GCanvasWeex *obj, const char *&p) { // uniform1fv_53,/////wj/////
2602
+ return uniformXfv(obj, p, 1);
2603
+ }
2604
+
2605
+ int uniform1i(GCanvasWeex *obj, const char *&p) { // uniform1i_4,0
2606
+ const int *tokens = ParseTokensInt(p, 2);
2607
+ GLint location = tokens[0];
2608
+ GLint x = tokens[1];
2609
+
2610
+ LOG_D("[webgl::exec] glUniform1i(%d, %d)", location, x);
2611
+ glUniform1i(location, x);
2612
+ return kContinue;
2613
+ }
2614
+
2615
+ int uniform1iv(GCanvasWeex *obj, const char *&p) { // uniform1fv_53,/////wj/////
2616
+ return uniformXiv(obj, p, 1);
2617
+ }
2618
+
2619
+ int uniform2f(GCanvasWeex *obj, const char *&p) { // uniform2f_51,344,154;
2620
+ const int *intTokens = ParseTokensInt(p, 1);
2621
+ GLint location = intTokens[0];
2622
+
2623
+ const float *tokens = ParseTokensFloat(p, 2);
2624
+ GLfloat x = tokens[0];
2625
+ GLfloat y = tokens[1];
2626
+
2627
+ LOG_D("[webgl::exec] glUniform2f(%d, %f, %f)", location, x, y);
2628
+ glUniform2f(location, x, y);
2629
+ return kContinue;
2630
+ }
2631
+
2632
+ int uniform2fv(GCanvasWeex *obj, const char *&p) { // uniform2fv_53,/////wj/////
2633
+ return uniformXfv(obj, p, 2);
2634
+ }
2635
+
2636
+ int uniform2i(GCanvasWeex *obj, const char *&p) {
2637
+ const int *tokens = ParseTokensInt(p, 3);
2638
+ GLint location = tokens[0];
2639
+ GLint x = tokens[1];
2640
+ GLint y = tokens[2];
2641
+
2642
+ LOG_D("[webgl::exec] glUniform2i(%d, %d, %d)", location, x, y);
2643
+ glUniform2i(location, x, y);
2644
+ return kContinue;
2645
+ }
2646
+
2647
+ int uniform2iv(GCanvasWeex *obj, const char *&p) { return uniformXiv(obj, p, 2); }
2648
+
2649
+ int uniform3f(GCanvasWeex *obj, const char *&p) { // uniform3f_51,0,0,1
2650
+ const int *intTokens = ParseTokensInt(p, 1);
2651
+ GLint location = intTokens[0];
2652
+
2653
+ const float *tokens = ParseTokensFloat(p, 3);
2654
+ GLfloat x = tokens[0];
2655
+ GLfloat y = tokens[1];
2656
+ GLfloat z = tokens[2];
2657
+
2658
+ LOG_D("[webgl::exec] glUniform3f(%d, %f, %f, %f)", location, x, y, z);
2659
+ glUniform3f(location, x, y, z);
2660
+ return kContinue;
2661
+ }
2662
+
2663
+ int uniform3fv(GCanvasWeex *obj, const char *&p) { // uniform3fv_53,/////wj/////
2664
+ return uniformXfv(obj, p, 3);
2665
+ }
2666
+
2667
+ int uniform3i(GCanvasWeex *obj, const char *&p) {
2668
+ const int *tokens = ParseTokensInt(p, 4);
2669
+ GLint location = tokens[0];
2670
+ GLint x = tokens[1];
2671
+ GLint y = tokens[2];
2672
+ GLint z = tokens[3];
2673
+
2674
+ LOG_D("[webgl::exec] glUniform3i(%d, %d, %d, %d)", location, x, y, z);
2675
+ glUniform3i(location, x, y, z);
2676
+ return kContinue;
2677
+ }
2678
+
2679
+ int uniform3iv(GCanvasWeex *obj, const char *&p) { return uniformXiv(obj, p, 3); }
2680
+
2681
+ int uniform4f(GCanvasWeex *obj, const char *&p) { // uniform4f_83,0,0,1,1
2682
+ const int *intTokens = ParseTokensInt(p, 1);
2683
+ GLint location = intTokens[0];
2684
+
2685
+ const float *tokens = ParseTokensFloat(p, 4);
2686
+ GLfloat x = tokens[0];
2687
+ GLfloat y = tokens[1];
2688
+ GLfloat z = tokens[2];
2689
+ GLfloat w = tokens[3];
2690
+
2691
+ LOG_D("[webgl::exec] glUniform4f(%d, %f, %f, %f, %f)", location, x, y, z, w);
2692
+ glUniform4f(location, x, y, z, w);
2693
+
2694
+ return kContinue;
2695
+ }
2696
+
2697
+ int uniform4fv(GCanvasWeex *obj, const char *&p) { // uniform3fv_53,/////wj/////
2698
+ return uniformXfv(obj, p, 4);
2699
+ }
2700
+
2701
+ int uniform4i(GCanvasWeex *obj, const char *&p) {
2702
+ const int *tokens = ParseTokensInt(p, 5);
2703
+ GLint location = tokens[0];
2704
+ GLint x = tokens[1];
2705
+ GLint y = tokens[2];
2706
+ GLint z = tokens[3];
2707
+ GLint w = tokens[4];
2708
+
2709
+ LOG_D("[webgl::exec] glUniform4i(%d, %d, %d, %d, %d)", location, x, y, z, w);
2710
+ glUniform4i(location, x, y, z, w);
2711
+
2712
+ return kContinue;
2713
+ }
2714
+
2715
+ int uniform4iv(GCanvasWeex *obj, const char *&p) { return uniformXiv(obj, p, 4); }
2716
+
2717
+ int uniformMatrixXfv(GCanvasWeex *obj, const char *&p,
2718
+ int type) { // uniformMatrix3fv52,0,so9wP0Qdrz4AAAAAAAAAAEQdr76yj3A/AAAAAAAAA
2719
+ const int *tokens = ParseTokensInt(p, 3);
2720
+ GLint location = tokens[0];
2721
+ GLuint transpose = tokens[1];
2722
+
2723
+ unsigned int size = 0;
2724
+ const GLfloat *fvalue = NULL;
2725
+ if (g_encode_type == 1) {
2726
+ fvalue = ParseTokensFloat(p, 16);
2727
+ } else {
2728
+ std::string &value = obj->mTempStr;
2729
+ ParseTokensBase64(p, value);
2730
+
2731
+ float *float32Array = SplitStringToFloat32Array(value.c_str(), ",", size);
2732
+ fvalue = (const GLfloat *) float32Array;
2733
+ }
2734
+
2735
+ if (fvalue) {
2736
+ LOG_D("[webgl::exec] glUniformMatrix%dfv(%d, %d, %d, %f)", type, location,
2737
+ size / (type * type), transpose, *fvalue);
2738
+
2739
+ switch (type) {
2740
+ case 2:
2741
+ glUniformMatrix2fv(location, size / 4, transpose, fvalue);
2742
+ break;
2743
+ case 3:
2744
+ glUniformMatrix3fv(location, size / 9, transpose, fvalue);
2745
+ break;
2746
+ case 4:
2747
+ glUniformMatrix4fv(location, size / 16, transpose, fvalue);
2748
+ break;
2749
+ }
2750
+
2751
+ if (g_encode_type != 1) {
2752
+ free((void *) fvalue);
2753
+ }
2754
+ }
2755
+
2756
+ return kContinue;
2757
+ }
2758
+
2759
+ int uniformMatrix2fv(GCanvasWeex *obj,
2760
+ const char *&p) { // uniformMatrix3fv52,0,so9wP0Qdrz4AAAAAAAAAAEQdr76yj3A/AAAAAAAAA
2761
+ return uniformMatrixXfv(obj, p, 2);
2762
+ }
2763
+
2764
+ int uniformMatrix3fv(GCanvasWeex *obj,
2765
+ const char *&p) { // uniformMatrix3fv52,0,so9wP0Qdrz4AAAAAAAAAAEQdr76yj3A/AAAAAAAAA
2766
+ return uniformMatrixXfv(obj, p, 3);
2767
+ }
2768
+
2769
+ int uniformMatrix4fv(GCanvasWeex *obj,
2770
+ const char *&p) { // uniformMatrix4fv52,0,so9wP0Qdrz4AAAAAAAAAAEQdr76yj3A/AAAAAAAAA
2771
+ return uniformMatrixXfv(obj, p, 4);
2772
+ }
2773
+
2774
+ int useProgram(GCanvasWeex *obj, const char *&p) { // useProgram1
2775
+ const int *tokens = ParseTokensInt(p, 1);
2776
+ GLuint program = tokens[0];
2777
+
2778
+ glUseProgram(program);
2779
+ LOG_D("[webgl::exec] glUseProgram(%d)", program);
2780
+ return kContinue;
2781
+ }
2782
+
2783
+ //new
2784
+ int validateProgram(GCanvasWeex *obj, const char *&p) { // validateProgram
2785
+ const int *tokens = ParseTokensInt(p, 1);
2786
+ GLuint program = tokens[0];
2787
+
2788
+ glValidateProgram(program);
2789
+ LOG_D("[webgl::exec] glValidateProgram(%d)", program);
2790
+ return kContinue;
2791
+ }
2792
+
2793
+ //new
2794
+ int vertexAttrib1f(GCanvasWeex *obj, const char *&p) {
2795
+ int index = ParseTokensInt(p, 1)[0];
2796
+ GLfloat x = ParseTokensFloat(p, 1)[0];
2797
+
2798
+ LOG_D("[webgl::exec] glVertexAttrib1f(%d, %f)", index, x);
2799
+ glVertexAttrib1f(index, x);
2800
+
2801
+ //ParseTokensString(p, vertex),这是多余的,而且会导致指针 p 被错误推进
2802
+ // std::string &vertex = obj->mTempStr;
2803
+ // ParseTokensString(p, vertex);
2804
+ return kContinue;
2805
+ }
2806
+
2807
+ //new
2808
+ int vertexAttrib2f(GCanvasWeex *obj, const char *&p) {
2809
+ int index = ParseTokensInt(p, 1)[0];
2810
+ const float *tokens = ParseTokensFloat(p, 2);
2811
+ GLfloat x = tokens[0];
2812
+ GLfloat y = tokens[1];
2813
+
2814
+ LOG_D("[webgl::exec] glVertexAttrib2f(%d, %f, %f)", index, x, y);
2815
+ glVertexAttrib2f(index, x, y);
2816
+ return kContinue;
2817
+ }
2818
+
2819
+ //new
2820
+ int vertexAttrib3f(GCanvasWeex *obj, const char *&p) {
2821
+ int index = ParseTokensInt(p, 1)[0];
2822
+ const float *tokens = ParseTokensFloat(p, 3);
2823
+ GLfloat x = tokens[0];
2824
+ GLfloat y = tokens[1];
2825
+ GLfloat z = tokens[2];
2826
+
2827
+ LOG_D("[webgl::exec] glVertexAttrib3f(%d, %f, %f, %f)", index, x, y, z);
2828
+ glVertexAttrib3f(index, x, y, z);
2829
+ return kContinue;
2830
+ }
2831
+
2832
+ //new
2833
+ int vertexAttrib4f(GCanvasWeex *obj, const char *&p) {
2834
+ int index = ParseTokensInt(p, 1)[0];
2835
+ const float *tokens = ParseTokensFloat(p, 4);
2836
+ GLfloat x = tokens[0];
2837
+ GLfloat y = tokens[1];
2838
+ GLfloat z = tokens[2];
2839
+ GLfloat w = tokens[3];
2840
+
2841
+ LOG_D("[webgl::exec] glVertexAttrib4f(%d, %f, %f, %f, %f)", index, x, y, z, w);
2842
+ glVertexAttrib4f(index, x, y, z, w);
2843
+ return kContinue;
2844
+ }
2845
+
2846
+ int vertexAttribXfv(GCanvasWeex *obj, const char *&p, int type) {
2847
+ const int *tokens = ParseTokensInt(p, 2);
2848
+ GLint index = tokens[0];
2849
+
2850
+ std::string &value = obj->mTempStr;
2851
+ ParseTokensBase64(p, value);
2852
+
2853
+ unsigned int size;
2854
+ float *float32Array = SplitStringToFloat32Array(value.c_str(), ",", size);
2855
+ const GLfloat *fvalue = (const GLfloat *) float32Array;
2856
+
2857
+ if (fvalue) {
2858
+ LOG_D("[webgl::exec] glVertexAttrib%dfv(%d, %f)", type, index, float32Array[0]);
2859
+ switch (type) {
2860
+ case 1:
2861
+ glVertexAttrib1fv(index, fvalue);
2862
+ break;
2863
+ case 2:
2864
+ glVertexAttrib2fv(index, fvalue);
2865
+ break;
2866
+ case 3:
2867
+ glVertexAttrib3fv(index, fvalue);
2868
+ break;
2869
+ case 4:
2870
+ glVertexAttrib4fv(index, fvalue);
2871
+ break;
2872
+ }
2873
+ free((void *) fvalue);
2874
+ }
2875
+
2876
+ return kContinue;
2877
+ }
2878
+
2879
+ //new
2880
+ int vertexAttrib1fv(GCanvasWeex *obj, const char *&p) {
2881
+ return vertexAttribXfv(obj, p, 1);
2882
+ }
2883
+
2884
+ //new
2885
+ int vertexAttrib2fv(GCanvasWeex *obj, const char *&p) {
2886
+ return vertexAttribXfv(obj, p, 2);
2887
+ }
2888
+
2889
+ //new
2890
+ int vertexAttrib3fv(GCanvasWeex *obj, const char *&p) {
2891
+ return vertexAttribXfv(obj, p, 3);
2892
+ }
2893
+
2894
+ //new
2895
+ int vertexAttrib4fv(GCanvasWeex *obj, const char *&p) {
2896
+ return vertexAttribXfv(obj, p, 4);
2897
+ }
2898
+
2899
+ int vertexAttribPointer(GCanvasWeex *obj, const char *&p) { // vertexAttribPointer10,3,22,0,0,0;
2900
+ const int *tokens = ParseTokensInt(p, 6);
2901
+ GLint index = tokens[0];
2902
+ GLint size = tokens[1];
2903
+ GLenum type = tokens[2];
2904
+ GLuint normalized = tokens[3];
2905
+ GLint stride = tokens[4];
2906
+ GLint ptr = tokens[5];
2907
+
2908
+ LOG_D("[webgl::exec] glVertexAttribPointer(%d, %d, %s, %d, %d, %d)",
2909
+ index, size, GetMacroValDebug(type), normalized, stride, G_BUFFER_OFFSET(ptr));
2910
+ glVertexAttribPointer(index, size, type, normalized, stride, G_BUFFER_OFFSET(ptr));
2911
+ return kContinue;
2912
+ }
2913
+
2914
+ int viewport(GCanvasWeex *obj, const char *&p) { // viewport0,0,600,450;
2915
+ const float *tokens = ParseTokensFloat(p, 4);
2916
+ float ratio = obj->GetDevicePixelRatio();
2917
+ LOG_D("[webgl::exec] glViewport(%f, %f, %f, %f)",
2918
+ tokens[0] * ratio,
2919
+ tokens[1] * ratio,
2920
+ tokens[2] * ratio,
2921
+ tokens[3] * ratio);
2922
+ glViewport(tokens[0] * ratio,
2923
+ tokens[1] * ratio,
2924
+ tokens[2] * ratio,
2925
+ tokens[3] * ratio);
2926
+ return kContinue;
2927
+ }
2928
+
2929
+ int (*g_webglFuncMap[WEBGL_API_COUNT])(GCanvasWeex *, const char *&) = {
2930
+ NULL, //0
2931
+ activeTexture,
2932
+ attachShader,
2933
+ bindAttribLocation,
2934
+ bindBuffer,
2935
+ bindFramebuffer,
2936
+ bindRenderbuffer,
2937
+ bindTexture,
2938
+ blendColor,//new
2939
+ blendEquation,
2940
+ blendEquationSeparate, //10
2941
+ blendFunc,
2942
+ blendFuncSeparate,
2943
+ bufferData,
2944
+ bufferSubData,
2945
+ checkFramebufferStatus,//new
2946
+ clear,
2947
+ clearColor,
2948
+ clearDepth,
2949
+ clearStencil,
2950
+ colorMask, //20
2951
+ compileShader,
2952
+ compressedTexImage2D,//new
2953
+ compressedTexSubImage2D,//new
2954
+ copyTexImage2D,
2955
+ copyTexSubImage2D,//new
2956
+ createBuffer,
2957
+ createFramebuffer,
2958
+ createProgram,
2959
+ createRenderbuffer,
2960
+ createShader, //30
2961
+ createTexture,
2962
+ cullFace,
2963
+ deleteBuffer,
2964
+ deleteFramebuffer,
2965
+ deleteProgram,
2966
+ deleteRenderbuffer,
2967
+ deleteShader,
2968
+ deleteTexture,
2969
+ depthFunc,
2970
+ depthMask, //40
2971
+ depthRange,
2972
+ detachShader,//new
2973
+ disable,
2974
+ disableVertexAttribArray,
2975
+ drawArrays,
2976
+ NULL, // drawArraysInstancedANGLE,
2977
+ drawElements,
2978
+ NULL, // drawElementsInstancedANGLE,
2979
+ enable,
2980
+ enableVertexAttribArray, //50
2981
+ flush,
2982
+ framebufferRenderbuffer,
2983
+ framebufferTexture2D,
2984
+ frontFace,
2985
+ generateMipmap,
2986
+ getActiveAttrib,//new
2987
+ getActiveUniform,//new
2988
+ getAttachedShaders,//new
2989
+ getAttribLocation,
2990
+ getBufferParameter,//60 new
2991
+ NULL, // getContextAttributes, //OpenGL ES not support
2992
+ getError,//new
2993
+ NULL, //getExtension, //OpenGL ES not support
2994
+ getFramebufferAttachmentParameter,//new
2995
+ getParameter,//new
2996
+ getProgramInfoLog,//new
2997
+ getProgramParameter,//new
2998
+ getRenderbufferParameter,//new
2999
+ getShaderInfoLog,//new
3000
+ getShaderParameter, //70
3001
+ getShaderPrecisionFormat,//new
3002
+ getShaderSource,
3003
+ getSupportedExtensions, //new, opengl es not support
3004
+ getTexParameter,
3005
+ getUniform,
3006
+ getUniformLocation,
3007
+ getVertexAttrib,
3008
+ getVertexAttribOffset,
3009
+ isBuffer,
3010
+ NULL, //80 isContextLost, //opengl es not support
3011
+ isEnabled,
3012
+ isFramebuffer,
3013
+ isProgram,
3014
+ isRenderbuffer,
3015
+ isShader,
3016
+ isTexture,
3017
+ lineWidth,
3018
+ linkProgram,
3019
+ pixelStorei,
3020
+ polygonOffset, //90
3021
+ readPixels,
3022
+ renderbufferStorage,
3023
+ sampleCoverage,
3024
+ scissor,
3025
+ shaderSource,
3026
+ stencilFunc,
3027
+ stencilFuncSeparate,
3028
+ stencilMask,//new
3029
+ stencilMaskSeparate,
3030
+ stencilOp, //100
3031
+ stencilOpSeparate,//new
3032
+ texImage2D,
3033
+ texParameterf,//new
3034
+ texParameteri,
3035
+ texSubImage2D,//new
3036
+ uniform1f,
3037
+ uniform1fv,
3038
+ uniform1i,
3039
+ uniform1iv,
3040
+ uniform2f, //110
3041
+ uniform2fv,
3042
+ uniform2i,
3043
+ uniform2iv,
3044
+ uniform3f,
3045
+ uniform3fv,
3046
+ uniform3i,
3047
+ uniform3iv,
3048
+ uniform4f,
3049
+ uniform4fv,
3050
+ uniform4i, //120
3051
+ uniform4iv,
3052
+ uniformMatrix2fv,
3053
+ uniformMatrix3fv,
3054
+ uniformMatrix4fv,
3055
+ useProgram,
3056
+ validateProgram,//new
3057
+ vertexAttrib1f,//new
3058
+ vertexAttrib2f,//new
3059
+ vertexAttrib3f,//new
3060
+ vertexAttrib4f,//130 new
3061
+ vertexAttrib1fv,//new
3062
+ vertexAttrib2fv,//new
3063
+ vertexAttrib3fv,//new
3064
+ vertexAttrib4fv,//new
3065
+ vertexAttribPointer,
3066
+ viewport, //136
3067
+ };
3068
+
3069
+
3070
+ //////////////////////////////////////////////////////////////////////////
3071
+ // WEBGL Extension
3072
+ // https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext
3073
+ //////////////////////////////////////////////////////////////////////////
3074
+ #ifdef IOS
3075
+ int drawArraysInstancedANGLE(GCanvasWeex *obj, const char *&p) {
3076
+ const int *tokens = ParseTokensInt(p, 4);
3077
+ glDrawArraysInstancedEXT(tokens[0], tokens[1], tokens[2], tokens[3]);
3078
+ LOG_D("[webgl::exec] glDrawArraysInstancedEXT(%d, %d, %d, %d)",
3079
+ tokens[0], tokens[1], tokens[2], tokens[3]);
3080
+ return kContinue;
3081
+ }
3082
+
3083
+ int drawElementsInstancedANGLE(GCanvasWeex *obj, const char *&p) {
3084
+ const int *tokens = ParseTokensInt(p, 5);
3085
+ glDrawElementsInstancedEXT(tokens[0], tokens[1], tokens[2], G_BUFFER_OFFSET(tokens[3]), tokens[4]);
3086
+ LOG_D("[webgl::exec] glDrawElementsInstancedEXT(%d, %d, %d, %d, %d)",
3087
+ tokens[0], tokens[1], tokens[2], tokens[3], tokens[4]);
3088
+ return kContinue;
3089
+ }
3090
+
3091
+ int vertexAttribDivisorANGLE(GCanvasWeex *obj, const char *&p) {
3092
+ const int *tokens = ParseTokensInt(p, 2);
3093
+ glVertexAttribDivisorEXT(tokens[0], tokens[1]);
3094
+ LOG_D("[webgl::exec] glVertexAttribDivisorEXT(%d, %d)", tokens[0], tokens[1]);
3095
+ return kContinue;
3096
+ }
3097
+
3098
+ int createVertexArrayOES(GCanvasWeex *obj, const char *&p) {
3099
+ ++p;
3100
+ GLuint array;
3101
+ glGenVertexArraysOES(1, &array);
3102
+ LOG_D("[webgl::exec] glGenVertexArraysOES()=%d", array);
3103
+ obj->setSyncResult(gcanvas::toString(array));
3104
+ return kContinue;
3105
+ }
3106
+
3107
+ int deleteVertexArrayOES(GCanvasWeex *obj, const char *&p) {
3108
+ const int *tokens = ParseTokensInt(p, 1);
3109
+ GLuint array = tokens[0];
3110
+ glDeleteVertexArraysOES(1, &array);
3111
+ LOG_D("[webgl::exec] glDeleteVertexArraysOES(1, %d)", array);
3112
+ return kContinue;
3113
+ }
3114
+
3115
+ int isVertexArrayOES(GCanvasWeex *obj, const char *&p) {
3116
+ const int *tokens = ParseTokensInt(p, 1);
3117
+ GLuint array = tokens[0];
3118
+ GLuint value = glIsVertexArrayOES(array);
3119
+ LOG_D("[webgl::exec] glIsVertexArrayOES(%d)", array);
3120
+ obj->setSyncResult(gcanvas::toString(value));
3121
+ return kContinue;
3122
+ }
3123
+
3124
+ int bindVertexArrayOES(GCanvasWeex *obj, const char *&p) {
3125
+ const int *tokens = ParseTokensInt(p, 1);
3126
+ GLuint array = tokens[0];
3127
+ glBindVertexArrayOES(array);
3128
+ LOG_D("[webgl::exec] glBindVertexArrayOES(%d)", array);
3129
+ return kContinue;
3130
+ }
3131
+ #else //Android Extension
3132
+ int drawArraysInstancedANGLE(GCanvasWeex *obj, const char *&p) {
3133
+ return kContinue;
3134
+ }
3135
+
3136
+ int drawElementsInstancedANGLE(GCanvasWeex *obj, const char *&p) {
3137
+ return kContinue;
3138
+ }
3139
+
3140
+ int vertexAttribDivisorANGLE(GCanvasWeex *obj, const char *&p) {
3141
+ return kContinue;
3142
+ }
3143
+
3144
+ int createVertexArrayOES(GCanvasWeex *obj, const char *&p) {
3145
+ ++p;
3146
+ GLuint array;
3147
+ // if (glGenVertexArraysOESv) {
3148
+ // glGenVertexArraysOESv(1, &array);
3149
+ // }
3150
+ obj->setSyncResult(gcanvas::toString(array));
3151
+ return kContinue;
3152
+ }
3153
+
3154
+ int deleteVertexArrayOES(GCanvasWeex *obj, const char *&p) {
3155
+ const int *tokens = ParseTokensInt(p, 1);
3156
+ GLuint array = tokens[0];
3157
+
3158
+ // if (glDeleteVertexArraysOESv) {
3159
+ // glDeleteVertexArraysOESv(1, &array);
3160
+ // }
3161
+ return kContinue;
3162
+ }
3163
+
3164
+ int isVertexArrayOES(GCanvasWeex *obj, const char *&p) {
3165
+ const int *tokens = ParseTokensInt(p, 1);
3166
+ GLuint array = tokens[0];
3167
+ // if (glIsVertexArrayOESv) {
3168
+ // GLuint value = glIsVertexArrayOESv(array);
3169
+ // obj->setSyncResult(gcanvas::toString(value));
3170
+ // }
3171
+ return kContinue;
3172
+ }
3173
+
3174
+ int bindVertexArrayOES(GCanvasWeex *obj, const char *&p) {
3175
+ const int *tokens = ParseTokensInt(p, 1);
3176
+ GLuint array = tokens[0];
3177
+ // if (glBindVertexArrayOESv) {
3178
+ // glBindVertexArrayOESv(array);
3179
+ // }
3180
+ return kContinue;
3181
+ }
3182
+
3183
+ #endif
3184
+
3185
+
3186
+ int (*g_webglExtFuncMap[WEBGL_EXT_API_COUNT])(GCanvasWeex *, const char *&) = {
3187
+ //extension method for ANGLE_instanced_arrays
3188
+ drawArraysInstancedANGLE,
3189
+ drawElementsInstancedANGLE,
3190
+ vertexAttribDivisorANGLE,
3191
+
3192
+ //extension method for OES_vertex_array_object
3193
+ createVertexArrayOES,
3194
+ deleteVertexArrayOES,
3195
+ isVertexArrayOES,
3196
+ bindVertexArrayOES
3197
+ };
3198
+
3199
+ }
3200
+
3201
+
3202
+ using namespace gcanvas;
3203
+
3204
+ int GCanvasWeex::executeWebGLCommands(const char *&cmd, int length) {
3205
+ const char *end = cmd + length;
3206
+ while (cmd < end) {
3207
+ int index = atoi(cmd);
3208
+ if (index >= 1 && index < WEBGL_API_COUNT) //webgl
3209
+ {
3210
+ ParseTokensSkip(cmd);
3211
+ if (NULL == g_webglFuncMap[index]) {
3212
+ return -1;
3213
+ };
3214
+ g_webglFuncMap[index](this, cmd);
3215
+
3216
+ // GLenum error = glGetError();
3217
+ // if (error > 0) {
3218
+ // LOG_D("[webgl::exec] glGetError()=%s cmd=%s", GetMacroValDebug(error), cmd);
3219
+ // }
3220
+ } else if (index >= WEBGL_EXT_API_OFFSET && index < WEBGL_EXT_API_MAX_INDEX) //extension
3221
+ {
3222
+ ParseTokensSkip(cmd);
3223
+ int extFuncIndex = index - WEBGL_EXT_API_OFFSET;
3224
+ if (NULL == g_webglExtFuncMap[extFuncIndex]) {
3225
+ LOG_W("[executeWebGLCommands] uncomplete ext cmd index:%d", index);
3226
+ return -1;
3227
+ }
3228
+ g_webglExtFuncMap[extFuncIndex](this, cmd);
3229
+
3230
+ // GLenum error = glGetError();
3231
+ // if (error > 0) {
3232
+ // LOG_D("[webgl::exec] glGetError()=%s cmd=%s", GetMacroValDebug(error), cmd);
3233
+ // }
3234
+ } else {
3235
+ return -1;
3236
+ }
3237
+ }
3238
+ return 0;
3239
+ }
3240
+
3241
+ void GCanvasWeex::GetAllParameter(std::string &ret) {
3242
+
3243
+ }
3244
+
3245
+ #if defined (ANDROID) || defined (OHOS)
3246
+
3247
+ void GCanvasWeex::initWebglExt() {
3248
+ glGenVertexArraysOESv = (PFNGLGENVERTEXARRAYSOESPROC) eglGetProcAddress("glGenVertexArraysOES");
3249
+ glBindVertexArrayOESv = (PFNGLBINDVERTEXARRAYOESPROC) eglGetProcAddress("glBindVertexArrayOES");
3250
+ glDeleteVertexArraysOESv = (PFNGLDELETEVERTEXARRAYSOESPROC) eglGetProcAddress(
3251
+ "glDeleteVertexArraysOES");
3252
+ glIsVertexArrayOESv = (PFNGLISVERTEXARRAYOESPROC) eglGetProcAddress("glIsVertexArrayOES");
3253
+ }
3254
+
3255
+ #endif
3256
+
3257
+
3258
+
3259
+ #endif