@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,1948 @@
1
+ /* makepng.c */
2
+ #define _ISOC99_SOURCE
3
+ /* Copyright: */
4
+ #define COPYRIGHT "\251 2013,2015 John Cunningham Bowler"
5
+ /*
6
+ * This code is released under the libpng license.
7
+ * For conditions of distribution and use, see the disclaimer
8
+ * and license in png.h
9
+ *
10
+ * Make a test PNG image. The arguments are as follows:
11
+ *
12
+ * makepng [--sRGB|--linear|--1.8] [--tRNS] [--nofilters] \
13
+ * color-type bit-depth [file-name]
14
+ *
15
+ * The color-type may be numeric (and must match the numbers used by the PNG
16
+ * specification) or one of the format names listed below. The bit-depth is the
17
+ * component bit depth, or the pixel bit-depth for a color-mapped image.
18
+ *
19
+ * Without any options no color-space information is written, with the options
20
+ * an sRGB or the appropriate gAMA chunk is written. "1.8" refers to the
21
+ * display system used on older Apple computers to correct for high ambient
22
+ * light levels in the viewing environment; it applies a transform of
23
+ * approximately value^(1/1.45) to the color values and so a gAMA chunk of 65909
24
+ * is written (1.45/2.2).
25
+ *
26
+ * The image data is generated internally. Unless --color is given the images
27
+ * used are as follows:
28
+ *
29
+ * 1 channel: a square image with a diamond, the least luminous colors are on
30
+ * the edge of the image, the most luminous in the center.
31
+ *
32
+ * 2 channels: the color channel increases in luminosity from top to bottom, the
33
+ * alpha channel increases in opacity from left to right.
34
+ *
35
+ * 3 channels: linear combinations of, from the top-left corner clockwise,
36
+ * black, green, white, red.
37
+ *
38
+ * 4 channels: linear combinations of, from the top-left corner clockwise,
39
+ * transparent, red, green, blue.
40
+ *
41
+ * For color-mapped images a four channel color-map is used and if --tRNS is
42
+ * given the PNG file has a tRNS chunk, as follows:
43
+ *
44
+ * 1-bit: entry 0 is transparent-red, entry 1 is opaque-white
45
+ * 2-bit: entry 0: transparent-green
46
+ * entry 1: 40%-red
47
+ * entry 2: 80%-blue
48
+ * entry 3: opaque-white
49
+ * 4-bit: the 16 combinations of the 2-bit case
50
+ * 8-bit: the 256 combinations of the 4-bit case
51
+ *
52
+ * The palette always has 2^bit-depth entries and the tRNS chunk one fewer. The
53
+ * image is the 1-channel diamond, but using palette index, not luminosity.
54
+ *
55
+ * For formats other than color-mapped ones if --tRNS is specified a tRNS chunk
56
+ * is generated with all channels equal to the low bits of 0x0101.
57
+ *
58
+ * Image size is determined by the final pixel depth in bits, i.e. channels x
59
+ * bit-depth, as follows:
60
+ *
61
+ * 8 bits or less: 64x64
62
+ * 16 bits: 256x256
63
+ * More than 16 bits: 1024x1024
64
+ *
65
+ * Row filtering is the libpng default but may be turned off (the 'none' filter
66
+ * is used on every row) with the --nofilters option.
67
+ *
68
+ * The images are not interlaced.
69
+ *
70
+ * If file-name is given then the PNG is written to that file, else it is
71
+ * written to stdout. Notice that stdout is not supported on systems where, by
72
+ * default, it assumes text output; this program makes no attempt to change the
73
+ * text mode of stdout!
74
+ *
75
+ * makepng --color=<color> ...
76
+ *
77
+ * If --color is given then the whole image has that color, color-mapped images
78
+ * will have exactly one palette entry and all image files with be 16x16 in
79
+ * size. The color value is 1 to 4 decimal numbers as appropriate for the color
80
+ * type.
81
+ *
82
+ * makepng --small ...
83
+ *
84
+ * If --small is given the images are no larger than required to include every
85
+ * possible pixel value for the format.
86
+ *
87
+ * For formats with pixels 8 bits or fewer in size the images consist of a
88
+ * single row with 2^pixel-depth pixels, one of every possible value.
89
+ *
90
+ * For formats with 16-bit pixels a 256x256 image is generated containing every
91
+ * possible pixel value.
92
+ *
93
+ * For larger pixel sizes a 256x256 image is generated where the first row
94
+ * consists of each pixel that has identical byte values throughout the pixel
95
+ * followed by rows where the byte values differ within the pixel.
96
+ *
97
+ * In all cases the pixel values are arranged in such a way that the SUB and UP
98
+ * filters give byte sequences for maximal zlib compression. By default (if
99
+ * --nofilters is not given) the SUB filter is used on the first row and the UP
100
+ * filter on all following rows.
101
+ *
102
+ * The --small option is meant to provide good test-case coverage, however the
103
+ * images are not easy to examine visually. Without the --small option the
104
+ * images contain identical color values; the pixel values are adjusted
105
+ * according to the gamma encoding with no gamma encoding being interpreted as
106
+ * sRGB.
107
+ *
108
+ * LICENSING
109
+ * =========
110
+ *
111
+ * This code is copyright of the authors, see the COPYRIGHT define above. The
112
+ * code is licensed as above, using the libpng license. The code generates
113
+ * images which are solely the product of the code; the options choose which of
114
+ * the many possibilities to generate. The images that result (but not the code
115
+ * which generates them) are licensed as defined here:
116
+ *
117
+ * IMPORTANT: the COPYRIGHT #define must contain ISO-Latin-1 characters, the
118
+ * IMAGE_LICENSING #define must contain UTF-8 characters. The 'copyright'
119
+ * symbol 0xA9U (\251) in ISO-Latin-1 encoding and 0xC20xA9 (\302\251) in UTF-8.
120
+ */
121
+ #define IMAGE_LICENSING "Dedicated to the public domain per Creative Commons "\
122
+ "license \"CC0 1.0\"; https://creativecommons.org/publicdomain/zero/1.0/"
123
+
124
+ #include <stddef.h> /* for offsetof */
125
+ #include <stdlib.h>
126
+ #include <stdio.h>
127
+ #include <string.h>
128
+ #include <ctype.h>
129
+ #include <math.h>
130
+ #include <errno.h>
131
+ #include <assert.h>
132
+ #include <stdint.h>
133
+
134
+ #if defined(HAVE_CONFIG_H) && !defined(PNG_NO_CONFIG_H)
135
+ # include <config.h>
136
+ #endif
137
+
138
+ /* Define the following to use this test against your installed libpng, rather
139
+ * than the one being built here:
140
+ */
141
+ #ifdef PNG_FREESTANDING_TESTS
142
+ # include <png.h>
143
+ #else
144
+ # include "../../png.h"
145
+ #endif
146
+
147
+ #include <zlib.h>
148
+
149
+ /* Work round for GCC complaints about casting a (double) function result to
150
+ * an unsigned:
151
+ */
152
+ static unsigned int
153
+ flooru(double d)
154
+ {
155
+ d = floor(d);
156
+ return (unsigned int)d;
157
+ }
158
+
159
+ static png_byte
160
+ floorb(double d)
161
+ {
162
+ d = floor(d);
163
+ return (png_byte)d;
164
+ }
165
+
166
+ /* This structure is used for inserting extra chunks (the --insert argument, not
167
+ * documented above.)
168
+ */
169
+ typedef struct chunk_insert
170
+ {
171
+ struct chunk_insert *next;
172
+ void (*insert)(png_structp, png_infop, int, png_charpp);
173
+ int nparams;
174
+ png_charp parameters[1];
175
+ } chunk_insert;
176
+
177
+ static unsigned int
178
+ channels_of_type(int color_type)
179
+ {
180
+ if (color_type & PNG_COLOR_MASK_PALETTE)
181
+ return 1;
182
+
183
+ else
184
+ {
185
+ int channels = 1;
186
+
187
+ if (color_type & PNG_COLOR_MASK_COLOR)
188
+ channels = 3;
189
+
190
+ if (color_type & PNG_COLOR_MASK_ALPHA)
191
+ return channels + 1;
192
+
193
+ else
194
+ return channels;
195
+ }
196
+ }
197
+
198
+ static unsigned int
199
+ pixel_depth_of_type(int color_type, int bit_depth)
200
+ {
201
+ return channels_of_type(color_type) * bit_depth;
202
+ }
203
+
204
+ static unsigned int
205
+ image_size_of_type(int color_type, int bit_depth, unsigned int *colors,
206
+ int small)
207
+ {
208
+ if (*colors)
209
+ return 16;
210
+
211
+ else
212
+ {
213
+ int pixel_depth = pixel_depth_of_type(color_type, bit_depth);
214
+
215
+ if (small)
216
+ {
217
+ if (pixel_depth <= 8) /* there will be one row */
218
+ return 1 << pixel_depth;
219
+
220
+ else
221
+ return 256;
222
+ }
223
+
224
+ else if (pixel_depth < 8)
225
+ return 64;
226
+
227
+ else if (pixel_depth > 16)
228
+ return 1024;
229
+
230
+ else
231
+ return 256;
232
+ }
233
+ }
234
+
235
+ static void
236
+ set_color(png_colorp color, png_bytep trans, unsigned int red,
237
+ unsigned int green, unsigned int blue, unsigned int alpha,
238
+ png_const_bytep gamma_table)
239
+ {
240
+ color->red = gamma_table[red];
241
+ color->green = gamma_table[green];
242
+ color->blue = gamma_table[blue];
243
+ *trans = (png_byte)alpha;
244
+ }
245
+
246
+ static int
247
+ generate_palette(png_colorp palette, png_bytep trans, int bit_depth,
248
+ png_const_bytep gamma_table, unsigned int *colors)
249
+ {
250
+ /*
251
+ * 1-bit: entry 0 is transparent-red, entry 1 is opaque-white
252
+ * 2-bit: entry 0: transparent-green
253
+ * entry 1: 40%-red
254
+ * entry 2: 80%-blue
255
+ * entry 3: opaque-white
256
+ * 4-bit: the 16 combinations of the 2-bit case
257
+ * 8-bit: the 256 combinations of the 4-bit case
258
+ */
259
+ switch (colors[0])
260
+ {
261
+ default:
262
+ fprintf(stderr, "makepng: --colors=...: invalid count %u\n",
263
+ colors[0]);
264
+ exit(1);
265
+
266
+ case 1:
267
+ set_color(palette+0, trans+0, colors[1], colors[1], colors[1], 255,
268
+ gamma_table);
269
+ return 1;
270
+
271
+ case 2:
272
+ set_color(palette+0, trans+0, colors[1], colors[1], colors[1],
273
+ colors[2], gamma_table);
274
+ return 1;
275
+
276
+ case 3:
277
+ set_color(palette+0, trans+0, colors[1], colors[2], colors[3], 255,
278
+ gamma_table);
279
+ return 1;
280
+
281
+ case 4:
282
+ set_color(palette+0, trans+0, colors[1], colors[2], colors[3],
283
+ colors[4], gamma_table);
284
+ return 1;
285
+
286
+ case 0:
287
+ if (bit_depth == 1)
288
+ {
289
+ set_color(palette+0, trans+0, 255, 0, 0, 0, gamma_table);
290
+ set_color(palette+1, trans+1, 255, 255, 255, 255, gamma_table);
291
+ return 2;
292
+ }
293
+
294
+ else
295
+ {
296
+ unsigned int size = 1U << (bit_depth/2); /* 2, 4 or 16 */
297
+ unsigned int x, y;
298
+ volatile unsigned int ip = 0;
299
+
300
+ for (x=0; x<size; ++x)
301
+ {
302
+ for (y=0; y<size; ++y)
303
+ {
304
+ ip = x + (size * y);
305
+
306
+ /* size is at most 16, so the scaled value below fits in 16 bits
307
+ */
308
+ # define interp(pos, c1, c2) ((pos * c1) + ((size-pos) * c2))
309
+ # define xyinterp(x, y, c1, c2, c3, c4) (((size * size / 2) +\
310
+ (interp(x, c1, c2) * y + (size-y) * interp(x, c3, c4))) /\
311
+ (size*size))
312
+
313
+ set_color(palette+ip, trans+ip,
314
+ /* color: green, red,blue,white */
315
+ xyinterp(x, y, 0, 255, 0, 255),
316
+ xyinterp(x, y, 255, 0, 0, 255),
317
+ xyinterp(x, y, 0, 0, 255, 255),
318
+ /* alpha: 0, 102, 204, 255) */
319
+ xyinterp(x, y, 0, 102, 204, 255),
320
+ gamma_table);
321
+ }
322
+ }
323
+
324
+ return ip+1;
325
+ }
326
+ }
327
+ }
328
+
329
+ static void
330
+ set_value(png_bytep row, size_t rowbytes, png_uint_32 x, unsigned int bit_depth,
331
+ png_uint_32 value, png_const_bytep gamma_table, double conv)
332
+ {
333
+ unsigned int mask = (1U << bit_depth)-1;
334
+
335
+ x *= bit_depth; /* Maximum x is 4*1024, maximum bit_depth is 16 */
336
+
337
+ if (value <= mask)
338
+ {
339
+ png_uint_32 offset = x >> 3;
340
+
341
+ if (offset < rowbytes && (bit_depth < 16 || offset+1 < rowbytes))
342
+ {
343
+ row += offset;
344
+
345
+ switch (bit_depth)
346
+ {
347
+ case 1:
348
+ case 2:
349
+ case 4:
350
+ /* Don't gamma correct - values get smashed */
351
+ {
352
+ unsigned int shift = (8 - bit_depth) - (x & 0x7U);
353
+
354
+ mask <<= shift;
355
+ value = (value << shift) & mask;
356
+ *row = (png_byte)((*row & ~mask) | value);
357
+ }
358
+ return;
359
+
360
+ default:
361
+ fprintf(stderr, "makepng: bad bit depth (internal error)\n");
362
+ exit(1);
363
+
364
+ case 16:
365
+ value = flooru(65535*pow(value/65535.,conv)+.5);
366
+ *row++ = (png_byte)(value >> 8);
367
+ *row = (png_byte)value;
368
+ return;
369
+
370
+ case 8:
371
+ *row = gamma_table[value];
372
+ return;
373
+ }
374
+ }
375
+
376
+ else
377
+ {
378
+ fprintf(stderr, "makepng: row buffer overflow (internal error)\n");
379
+ exit(1);
380
+ }
381
+ }
382
+
383
+ else
384
+ {
385
+ fprintf(stderr, "makepng: component overflow (internal error)\n");
386
+ exit(1);
387
+ }
388
+ }
389
+
390
+ static int /* filter mask for row */
391
+ generate_row(png_bytep row, size_t rowbytes, unsigned int y, int color_type,
392
+ int bit_depth, png_const_bytep gamma_table, double conv,
393
+ unsigned int *colors, int small)
394
+ {
395
+ int filters = 0; /* file *MASK*, 0 means the default, not NONE */
396
+ png_uint_32 size_max =
397
+ image_size_of_type(color_type, bit_depth, colors, small)-1;
398
+ png_uint_32 depth_max = (1U << bit_depth)-1; /* up to 65536 */
399
+
400
+ if (colors[0] == 0 && small)
401
+ {
402
+ unsigned int pixel_depth = pixel_depth_of_type(color_type, bit_depth);
403
+
404
+ /* For pixel depths less than 16 generate a single row containing all the
405
+ * possible pixel values. For 16 generate all 65536 byte pair
406
+ * combinations in a 256x256 pixel array.
407
+ */
408
+ switch (pixel_depth)
409
+ {
410
+ case 1:
411
+ assert(y == 0 && rowbytes == 1 && size_max == 1);
412
+ row[0] = 0x6CU; /* binary: 01101100, only top 2 bits used */
413
+ filters = PNG_FILTER_NONE;
414
+ break;
415
+
416
+ case 2:
417
+ assert(y == 0 && rowbytes == 1 && size_max == 3);
418
+ row[0] = 0x1BU; /* binary 00011011, all bits used */
419
+ filters = PNG_FILTER_NONE;
420
+ break;
421
+
422
+ case 4:
423
+ assert(y == 0 && rowbytes == 8 && size_max == 15);
424
+ row[0] = 0x01U;
425
+ row[1] = 0x23U; /* SUB gives 0x22U for all following bytes */
426
+ row[2] = 0x45U;
427
+ row[3] = 0x67U;
428
+ row[4] = 0x89U;
429
+ row[5] = 0xABU;
430
+ row[6] = 0xCDU;
431
+ row[7] = 0xEFU;
432
+ filters = PNG_FILTER_SUB;
433
+ break;
434
+
435
+ case 8:
436
+ /* The row will have all the pixel values in order starting with
437
+ * '1', the SUB filter will change every byte into '1' (including
438
+ * the last, which generates pixel value '0'). Since the SUB filter
439
+ * has value 1 this should result in maximum compression.
440
+ */
441
+ assert(y == 0 && rowbytes == 256 && size_max == 255);
442
+ for (;;)
443
+ {
444
+ row[size_max] = 0xFFU & (size_max+1);
445
+ if (size_max == 0)
446
+ break;
447
+ --size_max;
448
+ }
449
+ filters = PNG_FILTER_SUB;
450
+ break;
451
+
452
+ case 16:
453
+ /* Rows are generated such that each row has a constant difference
454
+ * between the first and second byte of each pixel and so that the
455
+ * difference increases by 1 at each row. The rows start with the
456
+ * first byte value of 0 and the value increases to 255 across the
457
+ * row.
458
+ *
459
+ * The difference starts at 1, so the first row is:
460
+ *
461
+ * 0 1 1 2 2 3 3 4 ... 254 255 255 0
462
+ *
463
+ * This means that running the SUB filter on the first row produces:
464
+ *
465
+ * [SUB==1] 0 1 0 1 0 1...
466
+ *
467
+ * Then the difference is 2 on the next row, giving:
468
+ *
469
+ * 0 2 1 3 2 4 3 5 ... 254 0 255 1
470
+ *
471
+ * When the UP filter is run on this libpng produces:
472
+ *
473
+ * [UP ==2] 0 1 0 1 0 1...
474
+ *
475
+ * And so on for all the remain rows to the final two * rows:
476
+ *
477
+ * row 254: 0 255 1 0 2 1 3 2 4 3 ... 254 253 255 254
478
+ * row 255: 0 0 1 1 2 2 3 3 4 4 ... 254 254 255 255
479
+ */
480
+ assert(rowbytes == 512 && size_max == 255);
481
+ for (;;)
482
+ {
483
+ row[2*size_max ] = 0xFFU & size_max;
484
+ row[2*size_max+1] = 0xFFU & (size_max+y+1);
485
+ if (size_max == 0)
486
+ break;
487
+ --size_max;
488
+ }
489
+ /* The first row must include PNG_FILTER_UP so that libpng knows we
490
+ * need to keep it for the following row:
491
+ */
492
+ filters = (y == 0 ? PNG_FILTER_SUB+PNG_FILTER_UP : PNG_FILTER_UP);
493
+ break;
494
+
495
+ case 24:
496
+ case 32:
497
+ case 48:
498
+ case 64:
499
+ /* The rows are filled by an alogorithm similar to the above, in the
500
+ * first row pixel bytes are all equal, increasing from 0 by 1 for
501
+ * each pixel. In the second row the bytes within a pixel are
502
+ * incremented 1,3,5,7,... from the previous row byte. Using an odd
503
+ * number ensures all the possible byte values are used.
504
+ */
505
+ assert(size_max == 255 && rowbytes == 256*(pixel_depth>>3));
506
+ pixel_depth >>= 3; /* now in bytes */
507
+ while (rowbytes > 0)
508
+ {
509
+ const size_t pixel_index = --rowbytes/pixel_depth;
510
+
511
+ if (y == 0)
512
+ row[rowbytes] = 0xFFU & pixel_index;
513
+
514
+ else
515
+ {
516
+ const size_t byte_offset =
517
+ rowbytes - pixel_index * pixel_depth;
518
+
519
+ row[rowbytes] =
520
+ 0xFFU & (pixel_index + (byte_offset * 2*y) + 1);
521
+ }
522
+ }
523
+ filters = (y == 0 ? PNG_FILTER_SUB+PNG_FILTER_UP : PNG_FILTER_UP);
524
+ break;
525
+
526
+ default:
527
+ assert(0/*NOT REACHED*/);
528
+ }
529
+ }
530
+
531
+ else switch (channels_of_type(color_type))
532
+ {
533
+ /* 1 channel: a square image with a diamond, the least luminous colors are on
534
+ * the edge of the image, the most luminous in the center.
535
+ */
536
+ case 1:
537
+ {
538
+ png_uint_32 x;
539
+ png_uint_32 base = 2*size_max - abs(2*y-size_max);
540
+
541
+ for (x=0; x<=size_max; ++x)
542
+ {
543
+ png_uint_32 luma = base - abs(2*x-size_max);
544
+
545
+ /* 'luma' is now in the range 0..2*size_max, we need
546
+ * 0..depth_max
547
+ */
548
+ luma = (luma*depth_max + size_max) / (2*size_max);
549
+ set_value(row, rowbytes, x, bit_depth, luma, gamma_table, conv);
550
+ }
551
+ }
552
+ break;
553
+
554
+ /* 2 channels: the color channel increases in luminosity from top to bottom,
555
+ * the alpha channel increases in opacity from left to right.
556
+ */
557
+ case 2:
558
+ {
559
+ png_uint_32 alpha = (depth_max * y * 2 + size_max) / (2 * size_max);
560
+ png_uint_32 x;
561
+
562
+ for (x=0; x<=size_max; ++x)
563
+ {
564
+ set_value(row, rowbytes, 2*x, bit_depth,
565
+ (depth_max * x * 2 + size_max) / (2 * size_max), gamma_table,
566
+ conv);
567
+ set_value(row, rowbytes, 2*x+1, bit_depth, alpha, gamma_table,
568
+ conv);
569
+ }
570
+ }
571
+ break;
572
+
573
+ /* 3 channels: linear combinations of, from the top-left corner clockwise,
574
+ * black, green, white, red.
575
+ */
576
+ case 3:
577
+ {
578
+ /* x0: the black->red scale (the value of the red component) at the
579
+ * start of the row (blue and green are 0).
580
+ * x1: the green->white scale (the value of the red and blue
581
+ * components at the end of the row; green is depth_max).
582
+ */
583
+ png_uint_32 Y = (depth_max * y * 2 + size_max) / (2 * size_max);
584
+ png_uint_32 x;
585
+
586
+ /* Interpolate x/depth_max from start to end:
587
+ *
588
+ * start end difference
589
+ * red: Y Y 0
590
+ * green: 0 depth_max depth_max
591
+ * blue: 0 Y Y
592
+ */
593
+ for (x=0; x<=size_max; ++x)
594
+ {
595
+ set_value(row, rowbytes, 3*x+0, bit_depth, /* red */ Y,
596
+ gamma_table, conv);
597
+ set_value(row, rowbytes, 3*x+1, bit_depth, /* green */
598
+ (depth_max * x * 2 + size_max) / (2 * size_max),
599
+ gamma_table, conv);
600
+ set_value(row, rowbytes, 3*x+2, bit_depth, /* blue */
601
+ (Y * x * 2 + size_max) / (2 * size_max),
602
+ gamma_table, conv);
603
+ }
604
+ }
605
+ break;
606
+
607
+ /* 4 channels: linear combinations of, from the top-left corner clockwise,
608
+ * transparent, red, green, blue.
609
+ */
610
+ case 4:
611
+ {
612
+ /* x0: the transparent->blue scale (the value of the blue and alpha
613
+ * components) at the start of the row (red and green are 0).
614
+ * x1: the red->green scale (the value of the red and green
615
+ * components at the end of the row; blue is 0 and alpha is
616
+ * depth_max).
617
+ */
618
+ png_uint_32 Y = (depth_max * y * 2 + size_max) / (2 * size_max);
619
+ png_uint_32 x;
620
+
621
+ /* Interpolate x/depth_max from start to end:
622
+ *
623
+ * start end difference
624
+ * red: 0 depth_max-Y depth_max-Y
625
+ * green: 0 Y Y
626
+ * blue: Y 0 -Y
627
+ * alpha: Y depth_max depth_max-Y
628
+ */
629
+ for (x=0; x<=size_max; ++x)
630
+ {
631
+ set_value(row, rowbytes, 4*x+0, bit_depth, /* red */
632
+ ((depth_max-Y) * x * 2 + size_max) / (2 * size_max),
633
+ gamma_table, conv);
634
+ set_value(row, rowbytes, 4*x+1, bit_depth, /* green */
635
+ (Y * x * 2 + size_max) / (2 * size_max),
636
+ gamma_table, conv);
637
+ set_value(row, rowbytes, 4*x+2, bit_depth, /* blue */
638
+ Y - (Y * x * 2 + size_max) / (2 * size_max),
639
+ gamma_table, conv);
640
+ set_value(row, rowbytes, 4*x+3, bit_depth, /* alpha */
641
+ Y + ((depth_max-Y) * x * 2 + size_max) / (2 * size_max),
642
+ gamma_table, conv);
643
+ }
644
+ }
645
+ break;
646
+
647
+ default:
648
+ fprintf(stderr, "makepng: internal bad channel count\n");
649
+ exit(2);
650
+ }
651
+
652
+ else if (color_type & PNG_COLOR_MASK_PALETTE)
653
+ {
654
+ /* Palette with fixed color: the image rows are all 0 and the image width
655
+ * is 16.
656
+ */
657
+ memset(row, 0, rowbytes);
658
+ }
659
+
660
+ else if (colors[0] == channels_of_type(color_type))
661
+ switch (channels_of_type(color_type))
662
+ {
663
+ case 1:
664
+ {
665
+ png_uint_32 luma = colors[1];
666
+ png_uint_32 x;
667
+
668
+ for (x=0; x<=size_max; ++x)
669
+ set_value(row, rowbytes, x, bit_depth, luma, gamma_table,
670
+ conv);
671
+ }
672
+ break;
673
+
674
+ case 2:
675
+ {
676
+ png_uint_32 luma = colors[1];
677
+ png_uint_32 alpha = colors[2];
678
+ png_uint_32 x;
679
+
680
+ for (x=0; x<size_max; ++x)
681
+ {
682
+ set_value(row, rowbytes, 2*x, bit_depth, luma, gamma_table,
683
+ conv);
684
+ set_value(row, rowbytes, 2*x+1, bit_depth, alpha, gamma_table,
685
+ conv);
686
+ }
687
+ }
688
+ break;
689
+
690
+ case 3:
691
+ {
692
+ png_uint_32 red = colors[1];
693
+ png_uint_32 green = colors[2];
694
+ png_uint_32 blue = colors[3];
695
+ png_uint_32 x;
696
+
697
+ for (x=0; x<=size_max; ++x)
698
+ {
699
+ set_value(row, rowbytes, 3*x+0, bit_depth, red, gamma_table,
700
+ conv);
701
+ set_value(row, rowbytes, 3*x+1, bit_depth, green, gamma_table,
702
+ conv);
703
+ set_value(row, rowbytes, 3*x+2, bit_depth, blue, gamma_table,
704
+ conv);
705
+ }
706
+ }
707
+ break;
708
+
709
+ case 4:
710
+ {
711
+ png_uint_32 red = colors[1];
712
+ png_uint_32 green = colors[2];
713
+ png_uint_32 blue = colors[3];
714
+ png_uint_32 alpha = colors[4];
715
+ png_uint_32 x;
716
+
717
+ for (x=0; x<=size_max; ++x)
718
+ {
719
+ set_value(row, rowbytes, 4*x+0, bit_depth, red, gamma_table,
720
+ conv);
721
+ set_value(row, rowbytes, 4*x+1, bit_depth, green, gamma_table,
722
+ conv);
723
+ set_value(row, rowbytes, 4*x+2, bit_depth, blue, gamma_table,
724
+ conv);
725
+ set_value(row, rowbytes, 4*x+3, bit_depth, alpha, gamma_table,
726
+ conv);
727
+ }
728
+ }
729
+ break;
730
+
731
+ default:
732
+ fprintf(stderr, "makepng: internal bad channel count\n");
733
+ exit(2);
734
+ }
735
+
736
+ else
737
+ {
738
+ fprintf(stderr,
739
+ "makepng: --color: count(%u) does not match channels(%u)\n",
740
+ colors[0], channels_of_type(color_type));
741
+ exit(1);
742
+ }
743
+
744
+ return filters;
745
+ }
746
+
747
+
748
+ static void PNGCBAPI
749
+ makepng_warning(png_structp png_ptr, png_const_charp message)
750
+ {
751
+ const char **ep = png_get_error_ptr(png_ptr);
752
+ const char *name;
753
+
754
+ if (ep != NULL && *ep != NULL)
755
+ name = *ep;
756
+
757
+ else
758
+ name = "makepng";
759
+
760
+ fprintf(stderr, "%s: warning: %s\n", name, message);
761
+ }
762
+
763
+ static void PNGCBAPI
764
+ makepng_error(png_structp png_ptr, png_const_charp message)
765
+ {
766
+ makepng_warning(png_ptr, message);
767
+ png_longjmp(png_ptr, 1);
768
+ }
769
+
770
+ static int /* 0 on success, else an error code */
771
+ write_png(const char **name, FILE *fp, int color_type, int bit_depth,
772
+ volatile png_fixed_point gamma, chunk_insert * volatile insert,
773
+ unsigned int filters, unsigned int *colors, int small, int tRNS)
774
+ {
775
+ png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,
776
+ name, makepng_error, makepng_warning);
777
+ volatile png_infop info_ptr = NULL;
778
+ volatile png_bytep row = NULL;
779
+
780
+ if (png_ptr == NULL)
781
+ {
782
+ fprintf(stderr, "makepng: OOM allocating write structure\n");
783
+ return 1;
784
+ }
785
+
786
+ if (setjmp(png_jmpbuf(png_ptr)))
787
+ {
788
+ png_structp nv_ptr = png_ptr;
789
+ png_infop nv_info = info_ptr;
790
+
791
+ png_ptr = NULL;
792
+ info_ptr = NULL;
793
+ png_destroy_write_struct(&nv_ptr, &nv_info);
794
+ if (row != NULL) free(row);
795
+ return 1;
796
+ }
797
+
798
+ /* Allow benign errors so that we can write PNGs with errors */
799
+ png_set_benign_errors(png_ptr, 1/*allowed*/);
800
+
801
+ /* Max out the text compression level in an attempt to make the license
802
+ * small. If --small then do the same for the IDAT.
803
+ */
804
+ if (small)
805
+ png_set_compression_level(png_ptr, Z_BEST_COMPRESSION);
806
+
807
+ png_set_text_compression_level(png_ptr, Z_BEST_COMPRESSION);
808
+
809
+ png_init_io(png_ptr, fp);
810
+
811
+ info_ptr = png_create_info_struct(png_ptr);
812
+ if (info_ptr == NULL)
813
+ png_error(png_ptr, "OOM allocating info structure");
814
+
815
+ {
816
+ unsigned int size =
817
+ image_size_of_type(color_type, bit_depth, colors, small);
818
+ unsigned int ysize;
819
+ png_fixed_point real_gamma = 45455; /* For sRGB */
820
+ png_byte gamma_table[256];
821
+ double conv;
822
+
823
+ /* Normally images are square, but with 'small' we want to simply generate
824
+ * all the pixel values, or all that we reasonably can:
825
+ */
826
+ if (small)
827
+ {
828
+ unsigned int pixel_depth =
829
+ pixel_depth_of_type(color_type, bit_depth);
830
+
831
+ if (pixel_depth <= 8U)
832
+ {
833
+ assert(size == (1U<<pixel_depth));
834
+ ysize = 1U;
835
+ }
836
+
837
+ else
838
+ {
839
+ assert(size == 256U);
840
+ ysize = 256U;
841
+ }
842
+ }
843
+
844
+ else
845
+ ysize = size;
846
+
847
+ /* This function uses the libpng values used on read to carry extra
848
+ * information about the gamma:
849
+ */
850
+ if (gamma == PNG_GAMMA_MAC_18)
851
+ gamma = 65909;
852
+
853
+ else if (gamma > 0 && gamma < 1000)
854
+ gamma = PNG_FP_1;
855
+
856
+ if (gamma > 0)
857
+ real_gamma = gamma;
858
+
859
+ {
860
+ unsigned int i;
861
+
862
+ if (real_gamma == 45455)
863
+ {
864
+ for (i=0; i<256; ++i)
865
+ {
866
+ gamma_table[i] = (png_byte)i;
867
+ conv = 1.;
868
+ }
869
+ }
870
+
871
+ else
872
+ {
873
+ /* Convert 'i' from sRGB (45455) to real_gamma, this makes
874
+ * the images look the same regardless of the gAMA chunk.
875
+ */
876
+ conv = real_gamma;
877
+ conv /= 45455;
878
+
879
+ gamma_table[0] = 0;
880
+
881
+ for (i=1; i<255; ++i)
882
+ gamma_table[i] = floorb(pow(i/255.,conv) * 255 + .5);
883
+
884
+ gamma_table[255] = 255;
885
+ }
886
+ }
887
+
888
+ png_set_IHDR(png_ptr, info_ptr, size, ysize, bit_depth, color_type,
889
+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
890
+
891
+ if (color_type & PNG_COLOR_MASK_PALETTE)
892
+ {
893
+ int npalette;
894
+ png_color palette[256];
895
+ png_byte trans[256];
896
+
897
+ npalette = generate_palette(palette, trans, bit_depth, gamma_table,
898
+ colors);
899
+ png_set_PLTE(png_ptr, info_ptr, palette, npalette);
900
+
901
+ if (tRNS)
902
+ png_set_tRNS(png_ptr, info_ptr, trans, npalette-1,
903
+ NULL/*transparent color*/);
904
+
905
+ /* Reset gamma_table to prevent the image rows being changed */
906
+ for (npalette=0; npalette<256; ++npalette)
907
+ gamma_table[npalette] = (png_byte)npalette;
908
+ }
909
+
910
+ else if (tRNS)
911
+ {
912
+ png_color_16 col;
913
+
914
+ col.red = col.green = col.blue = col.gray =
915
+ 0x0101U & ((1U<<bit_depth)-1U);
916
+ col.index = 0U;
917
+ png_set_tRNS(png_ptr, info_ptr, NULL/*trans*/, 1U, &col);
918
+ }
919
+
920
+ if (gamma == PNG_DEFAULT_sRGB)
921
+ png_set_sRGB(png_ptr, info_ptr, PNG_sRGB_INTENT_ABSOLUTE);
922
+
923
+ else if (gamma > 0) /* Else don't set color space information */
924
+ {
925
+ png_set_gAMA_fixed(png_ptr, info_ptr, real_gamma);
926
+
927
+ /* Just use the sRGB values here. */
928
+ png_set_cHRM_fixed(png_ptr, info_ptr,
929
+ /* color x y */
930
+ /* white */ 31270, 32900,
931
+ /* red */ 64000, 33000,
932
+ /* green */ 30000, 60000,
933
+ /* blue */ 15000, 6000
934
+ );
935
+ }
936
+
937
+ /* Insert extra information. */
938
+ while (insert != NULL)
939
+ {
940
+ insert->insert(png_ptr, info_ptr, insert->nparams, insert->parameters);
941
+ insert = insert->next;
942
+ }
943
+
944
+ /* Write the file header. */
945
+ png_write_info(png_ptr, info_ptr);
946
+
947
+ /* Restrict the filters */
948
+ png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE, filters);
949
+
950
+ {
951
+ # ifdef PNG_WRITE_INTERLACING_SUPPORTED
952
+ int passes = png_set_interlace_handling(png_ptr);
953
+ # else /* !WRITE_INTERLACING */
954
+ int passes = 1;
955
+ # endif /* !WRITE_INTERLACING */
956
+ int pass;
957
+ size_t rowbytes = png_get_rowbytes(png_ptr, info_ptr);
958
+
959
+ row = malloc(rowbytes);
960
+
961
+ if (row == NULL)
962
+ png_error(png_ptr, "OOM allocating row buffer");
963
+
964
+ for (pass = 0; pass < passes; ++pass)
965
+ {
966
+ unsigned int y;
967
+
968
+ for (y=0; y<ysize; ++y)
969
+ {
970
+ unsigned int row_filters =
971
+ generate_row(row, rowbytes, y, color_type, bit_depth,
972
+ gamma_table, conv, colors, small);
973
+
974
+ if (row_filters != 0 && filters == PNG_ALL_FILTERS)
975
+ png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE, row_filters);
976
+
977
+ png_write_row(png_ptr, row);
978
+ }
979
+ }
980
+ }
981
+ }
982
+
983
+ /* Finish writing the file. */
984
+ png_write_end(png_ptr, info_ptr);
985
+
986
+ {
987
+ png_structp nv_ptr = png_ptr;
988
+ png_infop nv_info = info_ptr;
989
+
990
+ png_ptr = NULL;
991
+ info_ptr = NULL;
992
+ png_destroy_write_struct(&nv_ptr, &nv_info);
993
+ }
994
+ free(row);
995
+ return 0;
996
+ }
997
+
998
+
999
+ static size_t
1000
+ load_file(png_const_charp name, png_bytepp result)
1001
+ {
1002
+ FILE *fp = tmpfile();
1003
+
1004
+ if (fp != NULL)
1005
+ {
1006
+ FILE *ip = fopen(name, "rb");
1007
+
1008
+ if (ip != NULL)
1009
+ {
1010
+ size_t total = 0;
1011
+ int ch;
1012
+
1013
+ for (;;)
1014
+ {
1015
+ ch = getc(ip);
1016
+ if (ch == EOF) break;
1017
+ putc(ch, fp);
1018
+ ++total;
1019
+ }
1020
+
1021
+ if (ferror(ip))
1022
+ {
1023
+ perror(name);
1024
+ fprintf(stderr, "%s: read error\n", name);
1025
+ (void)fclose(ip);
1026
+ }
1027
+
1028
+ else
1029
+ {
1030
+ (void)fclose(ip);
1031
+
1032
+ if (ferror(fp))
1033
+ {
1034
+ perror("temporary file");
1035
+ fprintf(stderr, "temporary file write error\n");
1036
+ }
1037
+
1038
+ else
1039
+ {
1040
+ rewind(fp);
1041
+
1042
+ if (total > 0)
1043
+ {
1044
+ /* Round up to a multiple of 4 here to allow an iCCP profile
1045
+ * to be padded to a 4x boundary.
1046
+ */
1047
+ png_bytep data = malloc((total+3)&~3);
1048
+
1049
+ if (data != NULL)
1050
+ {
1051
+ size_t new_size = 0;
1052
+
1053
+ for (;;)
1054
+ {
1055
+ ch = getc(fp);
1056
+ if (ch == EOF) break;
1057
+ data[new_size++] = (png_byte)ch;
1058
+ }
1059
+
1060
+ if (ferror(fp) || new_size != total)
1061
+ {
1062
+ perror("temporary file");
1063
+ fprintf(stderr, "temporary file read error\n");
1064
+ free(data);
1065
+ }
1066
+
1067
+ else
1068
+ {
1069
+ (void)fclose(fp);
1070
+ *result = data;
1071
+ return total;
1072
+ }
1073
+ }
1074
+
1075
+ else
1076
+ fprintf(stderr, "%s: out of memory loading file\n", name);
1077
+ }
1078
+
1079
+ else
1080
+ fprintf(stderr, "%s: empty file\n", name);
1081
+ }
1082
+ }
1083
+ }
1084
+
1085
+ else
1086
+ {
1087
+ perror(name);
1088
+ fprintf(stderr, "%s: open failed\n", name);
1089
+ }
1090
+
1091
+ fclose(fp);
1092
+ }
1093
+
1094
+ else
1095
+ fprintf(stderr, "makepng: %s: could not open temporary file\n", name);
1096
+
1097
+ exit(1);
1098
+ return 0;
1099
+ }
1100
+
1101
+ static size_t
1102
+ load_fake(png_charp param, png_bytepp profile)
1103
+ {
1104
+ char *endptr = NULL;
1105
+ uint64_t size = strtoull(param, &endptr, 0/*base*/);
1106
+
1107
+ /* The 'fake' format is <number>*[string] */
1108
+ if (endptr != NULL && *endptr == '*')
1109
+ {
1110
+ size_t len = strlen(++endptr);
1111
+ size_t result = (size_t)size;
1112
+
1113
+ if (len == 0) len = 1; /* capture the terminating '\0' */
1114
+
1115
+ /* Now repeat that string to fill 'size' bytes. */
1116
+ if (result == size && (*profile = malloc(result)) != NULL)
1117
+ {
1118
+ png_bytep out = *profile;
1119
+
1120
+ if (len == 1)
1121
+ memset(out, *endptr, result);
1122
+
1123
+ else
1124
+ {
1125
+ while (size >= len)
1126
+ {
1127
+ memcpy(out, endptr, len);
1128
+ out += len;
1129
+ size -= len;
1130
+ }
1131
+ memcpy(out, endptr, size);
1132
+ }
1133
+
1134
+ return result;
1135
+ }
1136
+
1137
+ else
1138
+ {
1139
+ fprintf(stderr, "%s: size exceeds system limits\n", param);
1140
+ exit(1);
1141
+ }
1142
+ }
1143
+
1144
+ return 0;
1145
+ }
1146
+
1147
+ static void
1148
+ check_param_count(int nparams, int expect)
1149
+ {
1150
+ if (nparams != expect)
1151
+ {
1152
+ fprintf(stderr, "bad parameter count (internal error)\n");
1153
+ exit(1);
1154
+ }
1155
+ }
1156
+
1157
+ static void
1158
+ insert_iCCP(png_structp png_ptr, png_infop info_ptr, int nparams,
1159
+ png_charpp params)
1160
+ {
1161
+ png_bytep profile = NULL;
1162
+ png_uint_32 proflen = 0;
1163
+ int result;
1164
+
1165
+ check_param_count(nparams, 2);
1166
+
1167
+ switch (params[1][0])
1168
+ {
1169
+ case '<':
1170
+ {
1171
+ size_t filelen = load_file(params[1]+1, &profile);
1172
+ if (filelen > 0xfffffffc) /* Maximum profile length */
1173
+ {
1174
+ fprintf(stderr, "%s: file too long (%lu) for an ICC profile\n",
1175
+ params[1]+1, (unsigned long)filelen);
1176
+ exit(1);
1177
+ }
1178
+
1179
+ proflen = (png_uint_32)filelen;
1180
+ }
1181
+ break;
1182
+
1183
+ case '0': case '1': case '2': case '3': case '4':
1184
+ case '5': case '6': case '7': case '8': case '9':
1185
+ {
1186
+ size_t fake_len = load_fake(params[1], &profile);
1187
+
1188
+ if (fake_len > 0) /* else a simple parameter */
1189
+ {
1190
+ if (fake_len > 0xffffffff) /* Maximum profile length */
1191
+ {
1192
+ fprintf(stderr,
1193
+ "%s: fake data too long (%lu) for an ICC profile\n",
1194
+ params[1], (unsigned long)fake_len);
1195
+ exit(1);
1196
+ }
1197
+ proflen = (png_uint_32)(fake_len & ~3U);
1198
+ /* Always fix up the profile length. */
1199
+ png_save_uint_32(profile, proflen);
1200
+ break;
1201
+ }
1202
+ }
1203
+
1204
+ default:
1205
+ fprintf(stderr, "--insert iCCP \"%s\": unrecognized\n", params[1]);
1206
+ fprintf(stderr, " use '<' to read a file: \"<filename\"\n");
1207
+ exit(1);
1208
+ }
1209
+
1210
+ result = 1;
1211
+
1212
+ if (proflen & 3)
1213
+ {
1214
+ fprintf(stderr,
1215
+ "makepng: --insert iCCP %s: profile length made a multiple of 4\n",
1216
+ params[1]);
1217
+
1218
+ /* load_file allocates extra space for this padding, the ICC spec requires
1219
+ * padding with zero bytes.
1220
+ */
1221
+ while (proflen & 3)
1222
+ profile[proflen++] = 0;
1223
+ }
1224
+
1225
+ if (profile != NULL && proflen > 3)
1226
+ {
1227
+ png_uint_32 prof_header = png_get_uint_32(profile);
1228
+
1229
+ if (prof_header != proflen)
1230
+ {
1231
+ fprintf(stderr, "--insert iCCP %s: profile length field wrong:\n",
1232
+ params[1]);
1233
+ fprintf(stderr, " actual %lu, recorded value %lu (corrected)\n",
1234
+ (unsigned long)proflen, (unsigned long)prof_header);
1235
+ png_save_uint_32(profile, proflen);
1236
+ }
1237
+ }
1238
+
1239
+ if (result && profile != NULL && proflen >=4)
1240
+ png_set_iCCP(png_ptr, info_ptr, params[0], PNG_COMPRESSION_TYPE_BASE,
1241
+ profile, proflen);
1242
+
1243
+ if (profile)
1244
+ free(profile);
1245
+
1246
+ if (!result)
1247
+ exit(1);
1248
+ }
1249
+
1250
+ static void
1251
+ clear_text(png_text *text, png_charp keyword)
1252
+ {
1253
+ text->compression = -1; /* none */
1254
+ text->key = keyword;
1255
+ text->text = NULL;
1256
+ text->text_length = 0; /* libpng calculates this */
1257
+ text->itxt_length = 0; /* libpng calculates this */
1258
+ text->lang = NULL;
1259
+ text->lang_key = NULL;
1260
+ }
1261
+
1262
+ static void
1263
+ set_text(png_structp png_ptr, png_infop info_ptr, png_textp text,
1264
+ png_charp param)
1265
+ {
1266
+ switch (param[0])
1267
+ {
1268
+ case '<':
1269
+ {
1270
+ png_bytep file = NULL;
1271
+
1272
+ text->text_length = load_file(param+1, &file);
1273
+ text->text = (png_charp)file;
1274
+ }
1275
+ break;
1276
+
1277
+ case '0': case '1': case '2': case '3': case '4':
1278
+ case '5': case '6': case '7': case '8': case '9':
1279
+ {
1280
+ png_bytep data = NULL;
1281
+ size_t fake_len = load_fake(param, &data);
1282
+
1283
+ if (fake_len > 0) /* else a simple parameter */
1284
+ {
1285
+ text->text_length = fake_len;
1286
+ text->text = (png_charp)data;
1287
+ break;
1288
+ }
1289
+ }
1290
+
1291
+ default:
1292
+ text->text = param;
1293
+ break;
1294
+ }
1295
+
1296
+ png_set_text(png_ptr, info_ptr, text, 1);
1297
+
1298
+ if (text->text != param)
1299
+ free(text->text);
1300
+ }
1301
+
1302
+ static void
1303
+ insert_tEXt(png_structp png_ptr, png_infop info_ptr, int nparams,
1304
+ png_charpp params)
1305
+ {
1306
+ png_text text;
1307
+
1308
+ check_param_count(nparams, 2);
1309
+ clear_text(&text, params[0]);
1310
+ set_text(png_ptr, info_ptr, &text, params[1]);
1311
+ }
1312
+
1313
+ static void
1314
+ insert_zTXt(png_structp png_ptr, png_infop info_ptr, int nparams,
1315
+ png_charpp params)
1316
+ {
1317
+ png_text text;
1318
+
1319
+ check_param_count(nparams, 2);
1320
+ clear_text(&text, params[0]);
1321
+ text.compression = 0; /* deflate */
1322
+ set_text(png_ptr, info_ptr, &text, params[1]);
1323
+ }
1324
+
1325
+ static void
1326
+ insert_iTXt(png_structp png_ptr, png_infop info_ptr, int nparams,
1327
+ png_charpp params)
1328
+ {
1329
+ png_text text;
1330
+
1331
+ check_param_count(nparams, 4);
1332
+ clear_text(&text, params[0]);
1333
+ text.compression = 2; /* iTXt + deflate */
1334
+ text.lang = params[1];/* language tag */
1335
+ text.lang_key = params[2]; /* translated keyword */
1336
+ set_text(png_ptr, info_ptr, &text, params[3]);
1337
+ }
1338
+
1339
+ static void
1340
+ insert_hIST(png_structp png_ptr, png_infop info_ptr, int nparams,
1341
+ png_charpp params)
1342
+ {
1343
+ int i;
1344
+ png_uint_16 freq[256];
1345
+
1346
+ /* libpng takes the count from the PLTE count; we don't check it here but we
1347
+ * do set the array to 0 for unspecified entries.
1348
+ */
1349
+ memset(freq, 0, sizeof freq);
1350
+ for (i=0; i<nparams; ++i)
1351
+ {
1352
+ char *endptr = NULL;
1353
+ unsigned long int l = strtoul(params[i], &endptr, 0/*base*/);
1354
+
1355
+ if (params[i][0] && *endptr == 0 && l <= 65535)
1356
+ freq[i] = (png_uint_16)l;
1357
+
1358
+ else
1359
+ {
1360
+ fprintf(stderr, "hIST[%d]: %s: invalid frequency\n", i, params[i]);
1361
+ exit(1);
1362
+ }
1363
+ }
1364
+
1365
+ png_set_hIST(png_ptr, info_ptr, freq);
1366
+ }
1367
+
1368
+ static png_byte
1369
+ bval(png_const_structrp png_ptr, png_charp param, unsigned int maxval)
1370
+ {
1371
+ char *endptr = NULL;
1372
+ unsigned long int l = strtoul(param, &endptr, 0/*base*/);
1373
+
1374
+ if (param[0] && *endptr == 0 && l <= maxval)
1375
+ return (png_byte)l;
1376
+
1377
+ else
1378
+ png_error(png_ptr, "sBIT: invalid sBIT value");
1379
+ }
1380
+
1381
+ static void
1382
+ insert_sBIT(png_structp png_ptr, png_infop info_ptr, int nparams,
1383
+ png_charpp params)
1384
+ {
1385
+ int ct = png_get_color_type(png_ptr, info_ptr);
1386
+ int c = (ct & PNG_COLOR_MASK_COLOR ? 3 : 1) +
1387
+ (ct & PNG_COLOR_MASK_ALPHA ? 1 : 0);
1388
+ unsigned int maxval =
1389
+ ct & PNG_COLOR_MASK_PALETTE ? 8U : png_get_bit_depth(png_ptr, info_ptr);
1390
+ png_color_8 sBIT;
1391
+
1392
+ if (nparams != c)
1393
+ png_error(png_ptr, "sBIT: incorrect parameter count");
1394
+
1395
+ if (ct & PNG_COLOR_MASK_COLOR)
1396
+ {
1397
+ sBIT.red = bval(png_ptr, params[0], maxval);
1398
+ sBIT.green = bval(png_ptr, params[1], maxval);
1399
+ sBIT.blue = bval(png_ptr, params[2], maxval);
1400
+ sBIT.gray = 42;
1401
+ }
1402
+
1403
+ else
1404
+ {
1405
+ sBIT.red = sBIT.green = sBIT.blue = 42;
1406
+ sBIT.gray = bval(png_ptr, params[0], maxval);
1407
+ }
1408
+
1409
+ if (ct & PNG_COLOR_MASK_ALPHA)
1410
+ sBIT.alpha = bval(png_ptr, params[nparams-1], maxval);
1411
+
1412
+ else
1413
+ sBIT.alpha = 42;
1414
+
1415
+ png_set_sBIT(png_ptr, info_ptr, &sBIT);
1416
+ }
1417
+
1418
+ #if 0
1419
+ static void
1420
+ insert_sPLT(png_structp png_ptr, png_infop info_ptr, int nparams, png_charpp params)
1421
+ {
1422
+ fprintf(stderr, "insert sPLT: NYI\n");
1423
+ }
1424
+ #endif
1425
+
1426
+ static int
1427
+ find_parameters(png_const_charp what, png_charp param, png_charp *list,
1428
+ int nparams)
1429
+ {
1430
+ /* Parameters are separated by '\n' or ':' characters, up to nparams are
1431
+ * accepted (more is an error) and the number found is returned.
1432
+ */
1433
+ int i;
1434
+ for (i=0; *param && i<nparams; ++i)
1435
+ {
1436
+ list[i] = param;
1437
+ while (*++param)
1438
+ {
1439
+ if (*param == '\n' || *param == ':')
1440
+ {
1441
+ *param++ = 0; /* Terminate last parameter */
1442
+ break; /* And start a new one. */
1443
+ }
1444
+ }
1445
+ }
1446
+
1447
+ if (*param)
1448
+ {
1449
+ fprintf(stderr, "--insert %s: too many parameters (%s)\n", what, param);
1450
+ exit(1);
1451
+ }
1452
+
1453
+ list[i] = NULL; /* terminates list */
1454
+ return i; /* number of parameters filled in */
1455
+ }
1456
+
1457
+ static void
1458
+ bad_parameter_count(png_const_charp what, int nparams)
1459
+ {
1460
+ fprintf(stderr, "--insert %s: bad parameter count %d\n", what, nparams);
1461
+ exit(1);
1462
+ }
1463
+
1464
+ static chunk_insert *
1465
+ make_insert(png_const_charp what,
1466
+ void (*insert)(png_structp, png_infop, int, png_charpp),
1467
+ int nparams, png_charpp list)
1468
+ {
1469
+ int i;
1470
+ chunk_insert *cip;
1471
+
1472
+ cip = malloc(offsetof(chunk_insert,parameters) +
1473
+ nparams * sizeof (png_charp));
1474
+
1475
+ if (cip == NULL)
1476
+ {
1477
+ fprintf(stderr, "--insert %s: out of memory allocating %d parameters\n",
1478
+ what, nparams);
1479
+ exit(1);
1480
+ }
1481
+
1482
+ cip->next = NULL;
1483
+ cip->insert = insert;
1484
+ cip->nparams = nparams;
1485
+ for (i=0; i<nparams; ++i)
1486
+ cip->parameters[i] = list[i];
1487
+
1488
+ return cip;
1489
+ }
1490
+
1491
+ static chunk_insert *
1492
+ find_insert(png_const_charp what, png_charp param)
1493
+ {
1494
+ png_uint_32 chunk = 0;
1495
+ png_charp parameter_list[1024];
1496
+ int i, nparams;
1497
+
1498
+ /* Assemble the chunk name */
1499
+ for (i=0; i<4; ++i)
1500
+ {
1501
+ char ch = what[i];
1502
+
1503
+ if ((ch >= 65 && ch <= 90) || (ch >= 97 && ch <= 122))
1504
+ chunk = (chunk << 8) + what[i];
1505
+
1506
+ else
1507
+ break;
1508
+ }
1509
+
1510
+ if (i < 4 || what[4] != 0)
1511
+ {
1512
+ fprintf(stderr, "makepng --insert \"%s\": invalid chunk name\n", what);
1513
+ exit(1);
1514
+ }
1515
+
1516
+ /* Assemble the parameter list. */
1517
+ nparams = find_parameters(what, param, parameter_list, 1024);
1518
+
1519
+ # define CHUNK(a,b,c,d) (((a)<<24)+((b)<<16)+((c)<<8)+(d))
1520
+
1521
+ switch (chunk)
1522
+ {
1523
+ case CHUNK(105,67,67,80): /* iCCP */
1524
+ if (nparams == 2)
1525
+ return make_insert(what, insert_iCCP, nparams, parameter_list);
1526
+ break;
1527
+
1528
+ case CHUNK(116,69,88,116): /* tEXt */
1529
+ if (nparams == 2)
1530
+ return make_insert(what, insert_tEXt, nparams, parameter_list);
1531
+ break;
1532
+
1533
+ case CHUNK(122,84,88,116): /* zTXt */
1534
+ if (nparams == 2)
1535
+ return make_insert(what, insert_zTXt, nparams, parameter_list);
1536
+ break;
1537
+
1538
+ case CHUNK(105,84,88,116): /* iTXt */
1539
+ if (nparams == 4)
1540
+ return make_insert(what, insert_iTXt, nparams, parameter_list);
1541
+ break;
1542
+
1543
+ case CHUNK(104,73,83,84): /* hIST */
1544
+ if (nparams <= 256)
1545
+ return make_insert(what, insert_hIST, nparams, parameter_list);
1546
+ break;
1547
+
1548
+ case CHUNK(115,66,73,84): /* sBIT */
1549
+ if (nparams <= 4)
1550
+ return make_insert(what, insert_sBIT, nparams, parameter_list);
1551
+ break;
1552
+
1553
+ #if 0
1554
+ case CHUNK(115,80,76,84): /* sPLT */
1555
+ return make_insert(what, insert_sPLT, nparams, parameter_list);
1556
+ #endif
1557
+
1558
+ default:
1559
+ fprintf(stderr, "makepng --insert \"%s\": unrecognized chunk name\n",
1560
+ what);
1561
+ exit(1);
1562
+ }
1563
+
1564
+ bad_parameter_count(what, nparams);
1565
+ return NULL;
1566
+ }
1567
+
1568
+ /* This is necessary because libpng expects writeable strings for things like
1569
+ * text chunks (maybe this should be fixed...)
1570
+ */
1571
+ static png_charp
1572
+ strstash(png_const_charp foo)
1573
+ {
1574
+ /* The program indicates a memory allocation error by crashing, this is by
1575
+ * design.
1576
+ */
1577
+ if (foo != NULL)
1578
+ {
1579
+ png_charp bar = malloc(strlen(foo)+1);
1580
+ return strcpy(bar, foo);
1581
+ }
1582
+
1583
+ return NULL;
1584
+ }
1585
+
1586
+ static png_charp
1587
+ strstash_list(const png_const_charp *text)
1588
+ {
1589
+ size_t foo = 0;
1590
+ png_charp result, bar;
1591
+ const png_const_charp *line = text;
1592
+
1593
+ while (*line != NULL)
1594
+ foo += strlen(*line++);
1595
+
1596
+ result = bar = malloc(foo+1);
1597
+
1598
+ line = text;
1599
+ while (*line != NULL)
1600
+ {
1601
+ foo = strlen(*line);
1602
+ memcpy(bar, *line++, foo);
1603
+ bar += foo;
1604
+ }
1605
+
1606
+ *bar = 0;
1607
+ return result;
1608
+ }
1609
+
1610
+ /* These are used to insert Copyright and Licence fields, they allow the text to
1611
+ * have \n unlike the --insert option.
1612
+ */
1613
+ static chunk_insert *
1614
+ add_tEXt(const char *key, const png_const_charp *text)
1615
+ {
1616
+ static char what[5] = { 116, 69, 88, 116, 0 };
1617
+ png_charp parameter_list[3];
1618
+
1619
+ parameter_list[0] = strstash(key);
1620
+ parameter_list[1] = strstash_list(text);
1621
+ parameter_list[2] = NULL;
1622
+
1623
+ return make_insert(what, insert_tEXt, 2, parameter_list);
1624
+ }
1625
+
1626
+ static chunk_insert *
1627
+ add_iTXt(const char *key, const char *language, const char *language_key,
1628
+ const png_const_charp *text)
1629
+ {
1630
+ static char what[5] = { 105, 84, 88, 116, 0 };
1631
+ png_charp parameter_list[5];
1632
+
1633
+ parameter_list[0] = strstash(key);
1634
+ parameter_list[1] = strstash(language);
1635
+ parameter_list[2] = strstash(language_key);
1636
+ parameter_list[3] = strstash_list(text);
1637
+ parameter_list[4] = NULL;
1638
+
1639
+ return make_insert(what, insert_iTXt, 4, parameter_list);
1640
+ }
1641
+
1642
+ /* This is a not-very-good parser for a sequence of numbers (including 0). It
1643
+ * doesn't accept some apparently valid things, but it accepts all the sensible
1644
+ * combinations.
1645
+ */
1646
+ static void
1647
+ parse_color(char *arg, unsigned int *colors)
1648
+ {
1649
+ unsigned int ncolors = 0;
1650
+
1651
+ while (*arg && ncolors < 4)
1652
+ {
1653
+ char *ep = arg;
1654
+
1655
+ unsigned long ul = strtoul(arg, &ep, 0);
1656
+
1657
+ if (ul > 65535)
1658
+ {
1659
+ fprintf(stderr, "makepng --color=...'%s': too big\n", arg);
1660
+ exit(1);
1661
+ }
1662
+
1663
+ if (ep == arg)
1664
+ {
1665
+ fprintf(stderr, "makepng --color=...'%s': not a valid color\n", arg);
1666
+ exit(1);
1667
+ }
1668
+
1669
+ if (*ep) ++ep; /* skip a separator */
1670
+ arg = ep;
1671
+
1672
+ colors[++ncolors] = (unsigned int)ul; /* checked above */
1673
+ }
1674
+
1675
+ if (*arg)
1676
+ {
1677
+ fprintf(stderr, "makepng --color=...'%s': too many values\n", arg);
1678
+ exit(1);
1679
+ }
1680
+
1681
+ *colors = ncolors;
1682
+ }
1683
+
1684
+ int
1685
+ main(int argc, char **argv)
1686
+ {
1687
+ FILE *fp = stdout;
1688
+ const char *file_name = NULL;
1689
+ int color_type = 8; /* invalid */
1690
+ int bit_depth = 32; /* invalid */
1691
+ int small = 0; /* make full size images */
1692
+ int tRNS = 0; /* don't output a tRNS chunk */
1693
+ unsigned int colors[5];
1694
+ unsigned int filters = PNG_ALL_FILTERS;
1695
+ png_fixed_point gamma = 0; /* not set */
1696
+ chunk_insert *head_insert = NULL;
1697
+ chunk_insert **insert_ptr = &head_insert;
1698
+
1699
+ memset(colors, 0, sizeof colors);
1700
+
1701
+ while (--argc > 0)
1702
+ {
1703
+ char *arg = *++argv;
1704
+
1705
+ if (strcmp(arg, "--small") == 0)
1706
+ {
1707
+ small = 1;
1708
+ continue;
1709
+ }
1710
+
1711
+ if (strcmp(arg, "--tRNS") == 0)
1712
+ {
1713
+ tRNS = 1;
1714
+ continue;
1715
+ }
1716
+
1717
+ if (strcmp(arg, "--sRGB") == 0)
1718
+ {
1719
+ gamma = PNG_DEFAULT_sRGB;
1720
+ continue;
1721
+ }
1722
+
1723
+ if (strcmp(arg, "--linear") == 0)
1724
+ {
1725
+ gamma = PNG_FP_1;
1726
+ continue;
1727
+ }
1728
+
1729
+ if (strcmp(arg, "--1.8") == 0)
1730
+ {
1731
+ gamma = PNG_GAMMA_MAC_18;
1732
+ continue;
1733
+ }
1734
+
1735
+ if (strcmp(arg, "--nofilters") == 0)
1736
+ {
1737
+ filters = PNG_FILTER_NONE;
1738
+ continue;
1739
+ }
1740
+
1741
+ if (strncmp(arg, "--color=", 8) == 0)
1742
+ {
1743
+ parse_color(arg+8, colors);
1744
+ continue;
1745
+ }
1746
+
1747
+ if (argc >= 3 && strcmp(arg, "--insert") == 0)
1748
+ {
1749
+ png_const_charp what = *++argv;
1750
+ png_charp param = *++argv;
1751
+ chunk_insert *new_insert;
1752
+
1753
+ argc -= 2;
1754
+
1755
+ new_insert = find_insert(what, param);
1756
+
1757
+ if (new_insert != NULL)
1758
+ {
1759
+ *insert_ptr = new_insert;
1760
+ insert_ptr = &new_insert->next;
1761
+ }
1762
+
1763
+ continue;
1764
+ }
1765
+
1766
+ if (arg[0] == '-')
1767
+ {
1768
+ fprintf(stderr, "makepng: %s: invalid option\n", arg);
1769
+ exit(1);
1770
+ }
1771
+
1772
+ if (strcmp(arg, "palette") == 0)
1773
+ {
1774
+ color_type = PNG_COLOR_TYPE_PALETTE;
1775
+ continue;
1776
+ }
1777
+
1778
+ if (strncmp(arg, "gray", 4) == 0)
1779
+ {
1780
+ if (arg[4] == 0)
1781
+ {
1782
+ color_type = PNG_COLOR_TYPE_GRAY;
1783
+ continue;
1784
+ }
1785
+
1786
+ else if (strcmp(arg+4, "a") == 0 ||
1787
+ strcmp(arg+4, "alpha") == 0 ||
1788
+ strcmp(arg+4, "-alpha") == 0)
1789
+ {
1790
+ color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
1791
+ continue;
1792
+ }
1793
+ }
1794
+
1795
+ if (strncmp(arg, "rgb", 3) == 0)
1796
+ {
1797
+ if (arg[3] == 0)
1798
+ {
1799
+ color_type = PNG_COLOR_TYPE_RGB;
1800
+ continue;
1801
+ }
1802
+
1803
+ else if (strcmp(arg+3, "a") == 0 ||
1804
+ strcmp(arg+3, "alpha") == 0 ||
1805
+ strcmp(arg+3, "-alpha") == 0)
1806
+ {
1807
+ color_type = PNG_COLOR_TYPE_RGB_ALPHA;
1808
+ continue;
1809
+ }
1810
+ }
1811
+
1812
+ if (color_type == 8 && isdigit(arg[0]))
1813
+ {
1814
+ color_type = atoi(arg);
1815
+ if (color_type < 0 || color_type > 6 || color_type == 1 ||
1816
+ color_type == 5)
1817
+ {
1818
+ fprintf(stderr, "makepng: %s: not a valid color type\n", arg);
1819
+ exit(1);
1820
+ }
1821
+
1822
+ continue;
1823
+ }
1824
+
1825
+ if (bit_depth == 32 && isdigit(arg[0]))
1826
+ {
1827
+ bit_depth = atoi(arg);
1828
+ if (bit_depth <= 0 || bit_depth > 16 ||
1829
+ (bit_depth & -bit_depth) != bit_depth)
1830
+ {
1831
+ fprintf(stderr, "makepng: %s: not a valid bit depth\n", arg);
1832
+ exit(1);
1833
+ }
1834
+
1835
+ continue;
1836
+ }
1837
+
1838
+ if (argc == 1) /* It's the file name */
1839
+ {
1840
+ fp = fopen(arg, "wb");
1841
+ if (fp == NULL)
1842
+ {
1843
+ fprintf(stderr, "%s: %s: could not open\n", arg, strerror(errno));
1844
+ exit(1);
1845
+ }
1846
+
1847
+ file_name = arg;
1848
+ continue;
1849
+ }
1850
+
1851
+ fprintf(stderr, "makepng: %s: unknown argument\n", arg);
1852
+ exit(1);
1853
+ } /* argument while loop */
1854
+
1855
+ if (color_type == 8 || bit_depth == 32)
1856
+ {
1857
+ fprintf(stderr, "usage: makepng [--small] [--sRGB|--linear|--1.8] "
1858
+ "[--color=...] color-type bit-depth [file-name]\n"
1859
+ " Make a test PNG file, by default writes to stdout.\n"
1860
+ " Other options are available, UTSL.\n");
1861
+ exit(1);
1862
+ }
1863
+
1864
+ /* Check the colors */
1865
+ {
1866
+ unsigned int lim = (color_type == PNG_COLOR_TYPE_PALETTE ? 255U :
1867
+ (1U<<bit_depth)-1);
1868
+ unsigned int i;
1869
+
1870
+ for (i=1; i<=colors[0]; ++i)
1871
+ if (colors[i] > lim)
1872
+ {
1873
+ fprintf(stderr, "makepng: --color=...: %u out of range [0..%u]\n",
1874
+ colors[i], lim);
1875
+ exit(1);
1876
+ }
1877
+ }
1878
+
1879
+ /* small and colors are incomparible (will probably crash if both are used at
1880
+ * the same time!)
1881
+ */
1882
+ if (small && colors[0] != 0)
1883
+ {
1884
+ fprintf(stderr, "makepng: --color --small: only one at a time!\n");
1885
+ exit(1);
1886
+ }
1887
+
1888
+ /* Restrict the filters for more speed to those we know are used for the
1889
+ * generated images.
1890
+ */
1891
+ if (filters == PNG_ALL_FILTERS && !small/*small provides defaults*/)
1892
+ {
1893
+ if ((color_type & PNG_COLOR_MASK_PALETTE) != 0 || bit_depth < 8)
1894
+ filters = PNG_FILTER_NONE;
1895
+
1896
+ else if (color_type & PNG_COLOR_MASK_COLOR) /* rgb */
1897
+ {
1898
+ if (bit_depth == 8)
1899
+ filters &= ~(PNG_FILTER_NONE | PNG_FILTER_AVG);
1900
+
1901
+ else
1902
+ filters = PNG_FILTER_SUB | PNG_FILTER_PAETH;
1903
+ }
1904
+
1905
+ else /* gray 8 or 16-bit */
1906
+ filters &= ~PNG_FILTER_NONE;
1907
+ }
1908
+
1909
+ /* Insert standard copyright and licence text. */
1910
+ {
1911
+ static png_const_charp copyright[] =
1912
+ {
1913
+ COPYRIGHT, /* ISO-Latin-1 */
1914
+ NULL
1915
+ };
1916
+ static png_const_charp licensing[] =
1917
+ {
1918
+ IMAGE_LICENSING, /* UTF-8 */
1919
+ NULL
1920
+ };
1921
+
1922
+ chunk_insert *new_insert;
1923
+
1924
+ new_insert = add_tEXt("Copyright", copyright);
1925
+ if (new_insert != NULL)
1926
+ {
1927
+ *insert_ptr = new_insert;
1928
+ insert_ptr = &new_insert->next;
1929
+ }
1930
+
1931
+ new_insert = add_iTXt("Licensing", "en", NULL, licensing);
1932
+ if (new_insert != NULL)
1933
+ {
1934
+ *insert_ptr = new_insert;
1935
+ insert_ptr = &new_insert->next;
1936
+ }
1937
+ }
1938
+
1939
+ {
1940
+ int ret = write_png(&file_name, fp, color_type, bit_depth, gamma,
1941
+ head_insert, filters, colors, small, tRNS);
1942
+
1943
+ if (ret != 0 && file_name != NULL)
1944
+ remove(file_name);
1945
+
1946
+ return ret;
1947
+ }
1948
+ }