@img/sharp-libvips-dev 0.0.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 (656) hide show
  1. package/README.md +47 -0
  2. package/cplusplus/VConnection.cpp +151 -0
  3. package/cplusplus/VError.cpp +49 -0
  4. package/cplusplus/VImage.cpp +1548 -0
  5. package/cplusplus/VInterpolate.cpp +62 -0
  6. package/cplusplus/VRegion.cpp +27 -0
  7. package/cplusplus/index.js +1 -0
  8. package/cplusplus/vips-operators.cpp +3760 -0
  9. package/include/aom/aom.h +127 -0
  10. package/include/aom/aom_codec.h +573 -0
  11. package/include/aom/aom_decoder.h +257 -0
  12. package/include/aom/aom_encoder.h +1137 -0
  13. package/include/aom/aom_external_partition.h +452 -0
  14. package/include/aom/aom_frame_buffer.h +84 -0
  15. package/include/aom/aom_image.h +448 -0
  16. package/include/aom/aom_integer.h +68 -0
  17. package/include/aom/aomcx.h +2112 -0
  18. package/include/aom/aomdx.h +604 -0
  19. package/include/archive.h +1212 -0
  20. package/include/archive_entry.h +723 -0
  21. package/include/cairo/cairo-deprecated.h +123 -0
  22. package/include/cairo/cairo-features.h +29 -0
  23. package/include/cairo/cairo-ft.h +118 -0
  24. package/include/cairo/cairo-gobject.h +192 -0
  25. package/include/cairo/cairo-svg.h +130 -0
  26. package/include/cairo/cairo-version.h +8 -0
  27. package/include/cairo/cairo.h +3281 -0
  28. package/include/cgif.h +80 -0
  29. package/include/expat.h +1064 -0
  30. package/include/expat_config.h +140 -0
  31. package/include/expat_external.h +165 -0
  32. package/include/ffi.h +531 -0
  33. package/include/ffitarget.h +164 -0
  34. package/include/fontconfig/fcfreetype.h +59 -0
  35. package/include/fontconfig/fcprivate.h +134 -0
  36. package/include/fontconfig/fontconfig.h +1158 -0
  37. package/include/freetype2/freetype/config/ftconfig.h +51 -0
  38. package/include/freetype2/freetype/config/ftheader.h +836 -0
  39. package/include/freetype2/freetype/config/ftmodule.h +21 -0
  40. package/include/freetype2/freetype/config/ftoption.h +1014 -0
  41. package/include/freetype2/freetype/config/ftstdlib.h +185 -0
  42. package/include/freetype2/freetype/config/integer-types.h +250 -0
  43. package/include/freetype2/freetype/config/mac-support.h +49 -0
  44. package/include/freetype2/freetype/config/public-macros.h +138 -0
  45. package/include/freetype2/freetype/freetype.h +5337 -0
  46. package/include/freetype2/freetype/ftadvanc.h +188 -0
  47. package/include/freetype2/freetype/ftbbox.h +101 -0
  48. package/include/freetype2/freetype/ftbdf.h +212 -0
  49. package/include/freetype2/freetype/ftbitmap.h +329 -0
  50. package/include/freetype2/freetype/ftbzip2.h +102 -0
  51. package/include/freetype2/freetype/ftcache.h +1087 -0
  52. package/include/freetype2/freetype/ftchapters.h +168 -0
  53. package/include/freetype2/freetype/ftcid.h +167 -0
  54. package/include/freetype2/freetype/ftcolor.h +1667 -0
  55. package/include/freetype2/freetype/ftdriver.h +1246 -0
  56. package/include/freetype2/freetype/fterrdef.h +283 -0
  57. package/include/freetype2/freetype/fterrors.h +296 -0
  58. package/include/freetype2/freetype/ftfntfmt.h +93 -0
  59. package/include/freetype2/freetype/ftgasp.h +143 -0
  60. package/include/freetype2/freetype/ftglyph.h +750 -0
  61. package/include/freetype2/freetype/ftgxval.h +354 -0
  62. package/include/freetype2/freetype/ftgzip.h +151 -0
  63. package/include/freetype2/freetype/ftimage.h +1284 -0
  64. package/include/freetype2/freetype/ftincrem.h +348 -0
  65. package/include/freetype2/freetype/ftlcdfil.h +323 -0
  66. package/include/freetype2/freetype/ftlist.h +296 -0
  67. package/include/freetype2/freetype/ftlzw.h +100 -0
  68. package/include/freetype2/freetype/ftmac.h +289 -0
  69. package/include/freetype2/freetype/ftmm.h +805 -0
  70. package/include/freetype2/freetype/ftmodapi.h +807 -0
  71. package/include/freetype2/freetype/ftmoderr.h +204 -0
  72. package/include/freetype2/freetype/ftotval.h +206 -0
  73. package/include/freetype2/freetype/ftoutln.h +588 -0
  74. package/include/freetype2/freetype/ftparams.h +218 -0
  75. package/include/freetype2/freetype/ftpfr.h +179 -0
  76. package/include/freetype2/freetype/ftrender.h +244 -0
  77. package/include/freetype2/freetype/ftsizes.h +159 -0
  78. package/include/freetype2/freetype/ftsnames.h +272 -0
  79. package/include/freetype2/freetype/ftstroke.h +773 -0
  80. package/include/freetype2/freetype/ftsynth.h +104 -0
  81. package/include/freetype2/freetype/ftsystem.h +350 -0
  82. package/include/freetype2/freetype/fttrigon.h +350 -0
  83. package/include/freetype2/freetype/fttypes.h +617 -0
  84. package/include/freetype2/freetype/ftwinfnt.h +276 -0
  85. package/include/freetype2/freetype/otsvg.h +336 -0
  86. package/include/freetype2/freetype/t1tables.h +793 -0
  87. package/include/freetype2/freetype/ttnameid.h +1235 -0
  88. package/include/freetype2/freetype/tttables.h +855 -0
  89. package/include/freetype2/freetype/tttags.h +124 -0
  90. package/include/freetype2/ft2build.h +42 -0
  91. package/include/fribidi/fribidi-arabic.h +81 -0
  92. package/include/fribidi/fribidi-begindecls.h +3 -0
  93. package/include/fribidi/fribidi-bidi-types-list.h +96 -0
  94. package/include/fribidi/fribidi-bidi-types.h +405 -0
  95. package/include/fribidi/fribidi-bidi.h +142 -0
  96. package/include/fribidi/fribidi-brackets.h +89 -0
  97. package/include/fribidi/fribidi-char-sets-list.h +54 -0
  98. package/include/fribidi/fribidi-char-sets.h +106 -0
  99. package/include/fribidi/fribidi-common.h +152 -0
  100. package/include/fribidi/fribidi-config.h +23 -0
  101. package/include/fribidi/fribidi-deprecated.h +175 -0
  102. package/include/fribidi/fribidi-enddecls.h +3 -0
  103. package/include/fribidi/fribidi-flags.h +72 -0
  104. package/include/fribidi/fribidi-joining-types-list.h +44 -0
  105. package/include/fribidi/fribidi-joining-types.h +249 -0
  106. package/include/fribidi/fribidi-joining.h +74 -0
  107. package/include/fribidi/fribidi-mirroring.h +86 -0
  108. package/include/fribidi/fribidi-shape.h +71 -0
  109. package/include/fribidi/fribidi-types.h +79 -0
  110. package/include/fribidi/fribidi-unicode-version.h +10 -0
  111. package/include/fribidi/fribidi-unicode.h +105 -0
  112. package/include/fribidi/fribidi.h +129 -0
  113. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +221 -0
  114. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +37 -0
  115. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +525 -0
  116. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +40 -0
  117. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +115 -0
  118. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +481 -0
  119. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +113 -0
  120. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +718 -0
  121. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +33 -0
  122. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +70 -0
  123. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +168 -0
  124. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +46 -0
  125. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +165 -0
  126. package/include/gio-unix-2.0/gio/gdesktopappinfo.h +200 -0
  127. package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +67 -0
  128. package/include/gio-unix-2.0/gio/gunixfdmessage.h +86 -0
  129. package/include/gio-unix-2.0/gio/gunixinputstream.h +85 -0
  130. package/include/gio-unix-2.0/gio/gunixmounts.h +172 -0
  131. package/include/gio-unix-2.0/gio/gunixoutputstream.h +84 -0
  132. package/include/glib-2.0/gio/gaction.h +100 -0
  133. package/include/glib-2.0/gio/gactiongroup.h +163 -0
  134. package/include/glib-2.0/gio/gactiongroupexporter.h +47 -0
  135. package/include/glib-2.0/gio/gactionmap.h +101 -0
  136. package/include/glib-2.0/gio/gappinfo.h +369 -0
  137. package/include/glib-2.0/gio/gapplication.h +257 -0
  138. package/include/glib-2.0/gio/gapplicationcommandline.h +124 -0
  139. package/include/glib-2.0/gio/gasyncinitable.h +132 -0
  140. package/include/glib-2.0/gio/gasyncresult.h +87 -0
  141. package/include/glib-2.0/gio/gbufferedinputstream.h +135 -0
  142. package/include/glib-2.0/gio/gbufferedoutputstream.h +88 -0
  143. package/include/glib-2.0/gio/gbytesicon.h +54 -0
  144. package/include/glib-2.0/gio/gcancellable.h +120 -0
  145. package/include/glib-2.0/gio/gcharsetconverter.h +65 -0
  146. package/include/glib-2.0/gio/gcontenttype.h +84 -0
  147. package/include/glib-2.0/gio/gconverter.h +98 -0
  148. package/include/glib-2.0/gio/gconverterinputstream.h +82 -0
  149. package/include/glib-2.0/gio/gconverteroutputstream.h +82 -0
  150. package/include/glib-2.0/gio/gcredentials.h +87 -0
  151. package/include/glib-2.0/gio/gdatagrambased.h +146 -0
  152. package/include/glib-2.0/gio/gdatainputstream.h +182 -0
  153. package/include/glib-2.0/gio/gdataoutputstream.h +127 -0
  154. package/include/glib-2.0/gio/gdbusactiongroup.h +56 -0
  155. package/include/glib-2.0/gio/gdbusaddress.h +67 -0
  156. package/include/glib-2.0/gio/gdbusauthobserver.h +53 -0
  157. package/include/glib-2.0/gio/gdbusconnection.h +691 -0
  158. package/include/glib-2.0/gio/gdbuserror.h +111 -0
  159. package/include/glib-2.0/gio/gdbusinterface.h +83 -0
  160. package/include/glib-2.0/gio/gdbusinterfaceskeleton.h +129 -0
  161. package/include/glib-2.0/gio/gdbusintrospection.h +327 -0
  162. package/include/glib-2.0/gio/gdbusmenumodel.h +47 -0
  163. package/include/glib-2.0/gio/gdbusmessage.h +204 -0
  164. package/include/glib-2.0/gio/gdbusmethodinvocation.h +136 -0
  165. package/include/glib-2.0/gio/gdbusnameowning.h +117 -0
  166. package/include/glib-2.0/gio/gdbusnamewatching.h +104 -0
  167. package/include/glib-2.0/gio/gdbusobject.h +80 -0
  168. package/include/glib-2.0/gio/gdbusobjectmanager.h +96 -0
  169. package/include/glib-2.0/gio/gdbusobjectmanagerclient.h +148 -0
  170. package/include/glib-2.0/gio/gdbusobjectmanagerserver.h +95 -0
  171. package/include/glib-2.0/gio/gdbusobjectproxy.h +81 -0
  172. package/include/glib-2.0/gio/gdbusobjectskeleton.h +98 -0
  173. package/include/glib-2.0/gio/gdbusproxy.h +220 -0
  174. package/include/glib-2.0/gio/gdbusserver.h +62 -0
  175. package/include/glib-2.0/gio/gdbusutils.h +65 -0
  176. package/include/glib-2.0/gio/gdebugcontroller.h +81 -0
  177. package/include/glib-2.0/gio/gdebugcontrollerdbus.h +71 -0
  178. package/include/glib-2.0/gio/gdrive.h +274 -0
  179. package/include/glib-2.0/gio/gdtlsclientconnection.h +77 -0
  180. package/include/glib-2.0/gio/gdtlsconnection.h +230 -0
  181. package/include/glib-2.0/gio/gdtlsserverconnection.h +71 -0
  182. package/include/glib-2.0/gio/gemblem.h +63 -0
  183. package/include/glib-2.0/gio/gemblemedicon.h +83 -0
  184. package/include/glib-2.0/gio/gfile.h +1359 -0
  185. package/include/glib-2.0/gio/gfileattribute.h +86 -0
  186. package/include/glib-2.0/gio/gfileenumerator.h +154 -0
  187. package/include/glib-2.0/gio/gfileicon.h +59 -0
  188. package/include/glib-2.0/gio/gfileinfo.h +1546 -0
  189. package/include/glib-2.0/gio/gfileinputstream.h +116 -0
  190. package/include/glib-2.0/gio/gfileiostream.h +123 -0
  191. package/include/glib-2.0/gio/gfilemonitor.h +100 -0
  192. package/include/glib-2.0/gio/gfilenamecompleter.h +81 -0
  193. package/include/glib-2.0/gio/gfileoutputstream.h +124 -0
  194. package/include/glib-2.0/gio/gfilterinputstream.h +80 -0
  195. package/include/glib-2.0/gio/gfilteroutputstream.h +80 -0
  196. package/include/glib-2.0/gio/gicon.h +133 -0
  197. package/include/glib-2.0/gio/ginetaddress.h +125 -0
  198. package/include/glib-2.0/gio/ginetaddressmask.h +86 -0
  199. package/include/glib-2.0/gio/ginetsocketaddress.h +80 -0
  200. package/include/glib-2.0/gio/ginitable.h +107 -0
  201. package/include/glib-2.0/gio/ginputstream.h +218 -0
  202. package/include/glib-2.0/gio/gio-autocleanups.h +155 -0
  203. package/include/glib-2.0/gio/gio-visibility.h +952 -0
  204. package/include/glib-2.0/gio/gio.h +186 -0
  205. package/include/glib-2.0/gio/gioenums.h +2149 -0
  206. package/include/glib-2.0/gio/gioenumtypes.h +207 -0
  207. package/include/glib-2.0/gio/gioerror.h +58 -0
  208. package/include/glib-2.0/gio/giomodule.h +199 -0
  209. package/include/glib-2.0/gio/gioscheduler.h +56 -0
  210. package/include/glib-2.0/gio/giostream.h +137 -0
  211. package/include/glib-2.0/gio/giotypes.h +660 -0
  212. package/include/glib-2.0/gio/glistmodel.h +74 -0
  213. package/include/glib-2.0/gio/gliststore.h +97 -0
  214. package/include/glib-2.0/gio/gloadableicon.h +101 -0
  215. package/include/glib-2.0/gio/gmemoryinputstream.h +92 -0
  216. package/include/glib-2.0/gio/gmemorymonitor.h +64 -0
  217. package/include/glib-2.0/gio/gmemoryoutputstream.h +109 -0
  218. package/include/glib-2.0/gio/gmenu.h +184 -0
  219. package/include/glib-2.0/gio/gmenuexporter.h +55 -0
  220. package/include/glib-2.0/gio/gmenumodel.h +307 -0
  221. package/include/glib-2.0/gio/gmount.h +278 -0
  222. package/include/glib-2.0/gio/gmountoperation.h +179 -0
  223. package/include/glib-2.0/gio/gnativesocketaddress.h +67 -0
  224. package/include/glib-2.0/gio/gnativevolumemonitor.h +63 -0
  225. package/include/glib-2.0/gio/gnetworkaddress.h +82 -0
  226. package/include/glib-2.0/gio/gnetworking.h +81 -0
  227. package/include/glib-2.0/gio/gnetworkmonitor.h +101 -0
  228. package/include/glib-2.0/gio/gnetworkservice.h +77 -0
  229. package/include/glib-2.0/gio/gnotification.h +103 -0
  230. package/include/glib-2.0/gio/goutputstream.h +334 -0
  231. package/include/glib-2.0/gio/gpermission.h +129 -0
  232. package/include/glib-2.0/gio/gpollableinputstream.h +106 -0
  233. package/include/glib-2.0/gio/gpollableoutputstream.h +127 -0
  234. package/include/glib-2.0/gio/gpollableutils.h +66 -0
  235. package/include/glib-2.0/gio/gpowerprofilemonitor.h +65 -0
  236. package/include/glib-2.0/gio/gpropertyaction.h +49 -0
  237. package/include/glib-2.0/gio/gproxy.h +130 -0
  238. package/include/glib-2.0/gio/gproxyaddress.h +88 -0
  239. package/include/glib-2.0/gio/gproxyaddressenumerator.h +83 -0
  240. package/include/glib-2.0/gio/gproxyresolver.h +97 -0
  241. package/include/glib-2.0/gio/gremoteactiongroup.h +77 -0
  242. package/include/glib-2.0/gio/gresolver.h +299 -0
  243. package/include/glib-2.0/gio/gresource.h +132 -0
  244. package/include/glib-2.0/gio/gseekable.h +105 -0
  245. package/include/glib-2.0/gio/gsettings.h +347 -0
  246. package/include/glib-2.0/gio/gsettingsbackend.h +176 -0
  247. package/include/glib-2.0/gio/gsettingsschema.h +115 -0
  248. package/include/glib-2.0/gio/gsimpleaction.h +65 -0
  249. package/include/glib-2.0/gio/gsimpleactiongroup.h +99 -0
  250. package/include/glib-2.0/gio/gsimpleasyncresult.h +164 -0
  251. package/include/glib-2.0/gio/gsimpleiostream.h +47 -0
  252. package/include/glib-2.0/gio/gsimplepermission.h +47 -0
  253. package/include/glib-2.0/gio/gsimpleproxyresolver.h +91 -0
  254. package/include/glib-2.0/gio/gsocket.h +330 -0
  255. package/include/glib-2.0/gio/gsocketaddress.h +84 -0
  256. package/include/glib-2.0/gio/gsocketaddressenumerator.h +103 -0
  257. package/include/glib-2.0/gio/gsocketclient.h +199 -0
  258. package/include/glib-2.0/gio/gsocketconnectable.h +83 -0
  259. package/include/glib-2.0/gio/gsocketconnection.h +117 -0
  260. package/include/glib-2.0/gio/gsocketcontrolmessage.h +113 -0
  261. package/include/glib-2.0/gio/gsocketlistener.h +157 -0
  262. package/include/glib-2.0/gio/gsocketservice.h +95 -0
  263. package/include/glib-2.0/gio/gsrvtarget.h +60 -0
  264. package/include/glib-2.0/gio/gsubprocess.h +169 -0
  265. package/include/glib-2.0/gio/gsubprocesslauncher.h +121 -0
  266. package/include/glib-2.0/gio/gtask.h +207 -0
  267. package/include/glib-2.0/gio/gtcpconnection.h +71 -0
  268. package/include/glib-2.0/gio/gtcpwrapperconnection.h +71 -0
  269. package/include/glib-2.0/gio/gtestdbus.h +74 -0
  270. package/include/glib-2.0/gio/gthemedicon.h +70 -0
  271. package/include/glib-2.0/gio/gthreadedsocketservice.h +83 -0
  272. package/include/glib-2.0/gio/gtlsbackend.h +115 -0
  273. package/include/glib-2.0/gio/gtlscertificate.h +125 -0
  274. package/include/glib-2.0/gio/gtlsclientconnection.h +88 -0
  275. package/include/glib-2.0/gio/gtlsconnection.h +214 -0
  276. package/include/glib-2.0/gio/gtlsdatabase.h +249 -0
  277. package/include/glib-2.0/gio/gtlsfiledatabase.h +60 -0
  278. package/include/glib-2.0/gio/gtlsinteraction.h +150 -0
  279. package/include/glib-2.0/gio/gtlspassword.h +121 -0
  280. package/include/glib-2.0/gio/gtlsserverconnection.h +71 -0
  281. package/include/glib-2.0/gio/gunixconnection.h +102 -0
  282. package/include/glib-2.0/gio/gunixcredentialsmessage.h +89 -0
  283. package/include/glib-2.0/gio/gunixfdlist.h +97 -0
  284. package/include/glib-2.0/gio/gunixsocketaddress.h +83 -0
  285. package/include/glib-2.0/gio/gvfs.h +170 -0
  286. package/include/glib-2.0/gio/gvolume.h +255 -0
  287. package/include/glib-2.0/gio/gvolumemonitor.h +156 -0
  288. package/include/glib-2.0/gio/gzlibcompressor.h +64 -0
  289. package/include/glib-2.0/gio/gzlibdecompressor.h +60 -0
  290. package/include/glib-2.0/glib/deprecated/gallocator.h +88 -0
  291. package/include/glib-2.0/glib/deprecated/gcache.h +77 -0
  292. package/include/glib-2.0/glib/deprecated/gcompletion.h +85 -0
  293. package/include/glib-2.0/glib/deprecated/gmain.h +137 -0
  294. package/include/glib-2.0/glib/deprecated/grel.h +107 -0
  295. package/include/glib-2.0/glib/deprecated/gthread.h +295 -0
  296. package/include/glib-2.0/glib/galloca.h +147 -0
  297. package/include/glib-2.0/glib/garray.h +323 -0
  298. package/include/glib-2.0/glib/gasyncqueue.h +126 -0
  299. package/include/glib-2.0/glib/gatomic.h +587 -0
  300. package/include/glib-2.0/glib/gbacktrace.h +74 -0
  301. package/include/glib-2.0/glib/gbase64.h +63 -0
  302. package/include/glib-2.0/glib/gbitlock.h +78 -0
  303. package/include/glib-2.0/glib/gbookmarkfile.h +300 -0
  304. package/include/glib-2.0/glib/gbytes.h +99 -0
  305. package/include/glib-2.0/glib/gcharset.h +49 -0
  306. package/include/glib-2.0/glib/gchecksum.h +106 -0
  307. package/include/glib-2.0/glib/gconvert.h +179 -0
  308. package/include/glib-2.0/glib/gdataset.h +156 -0
  309. package/include/glib-2.0/glib/gdate.h +309 -0
  310. package/include/glib-2.0/glib/gdatetime.h +275 -0
  311. package/include/glib-2.0/glib/gdir.h +54 -0
  312. package/include/glib-2.0/glib/genviron.h +65 -0
  313. package/include/glib-2.0/glib/gerror.h +263 -0
  314. package/include/glib-2.0/glib/gfileutils.h +223 -0
  315. package/include/glib-2.0/glib/ggettext.h +65 -0
  316. package/include/glib-2.0/glib/ghash.h +206 -0
  317. package/include/glib-2.0/glib/ghmac.h +85 -0
  318. package/include/glib-2.0/glib/ghook.h +204 -0
  319. package/include/glib-2.0/glib/ghostutils.h +45 -0
  320. package/include/glib-2.0/glib/gi18n-lib.h +38 -0
  321. package/include/glib-2.0/glib/gi18n.h +34 -0
  322. package/include/glib-2.0/glib/giochannel.h +407 -0
  323. package/include/glib-2.0/glib/gkeyfile.h +332 -0
  324. package/include/glib-2.0/glib/glib-autocleanups.h +105 -0
  325. package/include/glib-2.0/glib/glib-typeof.h +47 -0
  326. package/include/glib-2.0/glib/glib-visibility.h +952 -0
  327. package/include/glib-2.0/glib/glist.h +179 -0
  328. package/include/glib-2.0/glib/gmacros.h +1425 -0
  329. package/include/glib-2.0/glib/gmain.h +862 -0
  330. package/include/glib-2.0/glib/gmappedfile.h +60 -0
  331. package/include/glib-2.0/glib/gmarkup.h +265 -0
  332. package/include/glib-2.0/glib/gmem.h +425 -0
  333. package/include/glib-2.0/glib/gmessages.h +690 -0
  334. package/include/glib-2.0/glib/gnode.h +309 -0
  335. package/include/glib-2.0/glib/goption.h +409 -0
  336. package/include/glib-2.0/glib/gpathbuf.h +90 -0
  337. package/include/glib-2.0/glib/gpattern.h +65 -0
  338. package/include/glib-2.0/glib/gpoll.h +122 -0
  339. package/include/glib-2.0/glib/gprimes.h +52 -0
  340. package/include/glib-2.0/glib/gprintf.h +59 -0
  341. package/include/glib-2.0/glib/gqsort.h +47 -0
  342. package/include/glib-2.0/glib/gquark.h +70 -0
  343. package/include/glib-2.0/glib/gqueue.h +205 -0
  344. package/include/glib-2.0/glib/grand.h +101 -0
  345. package/include/glib-2.0/glib/grcbox.h +91 -0
  346. package/include/glib-2.0/glib/grefcount.h +179 -0
  347. package/include/glib-2.0/glib/grefstring.h +59 -0
  348. package/include/glib-2.0/glib/gscanner.h +301 -0
  349. package/include/glib-2.0/glib/gsequence.h +175 -0
  350. package/include/glib-2.0/glib/gshell.h +59 -0
  351. package/include/glib-2.0/glib/gslice.h +117 -0
  352. package/include/glib-2.0/glib/gslist.h +166 -0
  353. package/include/glib-2.0/glib/gspawn.h +323 -0
  354. package/include/glib-2.0/glib/gstdio.h +231 -0
  355. package/include/glib-2.0/glib/gstrfuncs.h +504 -0
  356. package/include/glib-2.0/glib/gstring.h +296 -0
  357. package/include/glib-2.0/glib/gstringchunk.h +59 -0
  358. package/include/glib-2.0/glib/gstrvbuilder.h +69 -0
  359. package/include/glib-2.0/glib/gtestutils.h +763 -0
  360. package/include/glib-2.0/glib/gthread.h +603 -0
  361. package/include/glib-2.0/glib/gthreadpool.h +105 -0
  362. package/include/glib-2.0/glib/gtimer.h +80 -0
  363. package/include/glib-2.0/glib/gtimezone.h +98 -0
  364. package/include/glib-2.0/glib/gtrashstack.h +60 -0
  365. package/include/glib-2.0/glib/gtree.h +181 -0
  366. package/include/glib-2.0/glib/gtypes.h +591 -0
  367. package/include/glib-2.0/glib/gunicode.h +974 -0
  368. package/include/glib-2.0/glib/guri.h +420 -0
  369. package/include/glib-2.0/glib/gutils.h +479 -0
  370. package/include/glib-2.0/glib/guuid.h +42 -0
  371. package/include/glib-2.0/glib/gvariant.h +541 -0
  372. package/include/glib-2.0/glib/gvarianttype.h +384 -0
  373. package/include/glib-2.0/glib/gversion.h +57 -0
  374. package/include/glib-2.0/glib/gversionmacros.h +490 -0
  375. package/include/glib-2.0/glib/gwin32.h +142 -0
  376. package/include/glib-2.0/glib-object.h +46 -0
  377. package/include/glib-2.0/glib-unix.h +125 -0
  378. package/include/glib-2.0/glib.h +121 -0
  379. package/include/glib-2.0/gmodule/gmodule-visibility.h +952 -0
  380. package/include/glib-2.0/gmodule.h +147 -0
  381. package/include/glib-2.0/gobject/gbinding.h +156 -0
  382. package/include/glib-2.0/gobject/gbindinggroup.h +85 -0
  383. package/include/glib-2.0/gobject/gboxed.h +124 -0
  384. package/include/glib-2.0/gobject/gclosure.h +323 -0
  385. package/include/glib-2.0/gobject/genums.h +381 -0
  386. package/include/glib-2.0/gobject/glib-enumtypes.h +25 -0
  387. package/include/glib-2.0/gobject/glib-types.h +400 -0
  388. package/include/glib-2.0/gobject/gmarshal.h +434 -0
  389. package/include/glib-2.0/gobject/gobject-autocleanups.h +33 -0
  390. package/include/glib-2.0/gobject/gobject-visibility.h +952 -0
  391. package/include/glib-2.0/gobject/gobject.h +953 -0
  392. package/include/glib-2.0/gobject/gobjectnotifyqueue.c +199 -0
  393. package/include/glib-2.0/gobject/gparam.h +476 -0
  394. package/include/glib-2.0/gobject/gparamspecs.h +1151 -0
  395. package/include/glib-2.0/gobject/gsignal.h +647 -0
  396. package/include/glib-2.0/gobject/gsignalgroup.h +98 -0
  397. package/include/glib-2.0/gobject/gsourceclosure.h +40 -0
  398. package/include/glib-2.0/gobject/gtype.h +2703 -0
  399. package/include/glib-2.0/gobject/gtypemodule.h +302 -0
  400. package/include/glib-2.0/gobject/gtypeplugin.h +136 -0
  401. package/include/glib-2.0/gobject/gvalue.h +212 -0
  402. package/include/glib-2.0/gobject/gvaluearray.h +106 -0
  403. package/include/glib-2.0/gobject/gvaluecollector.h +290 -0
  404. package/include/glib-2.0/gobject/gvaluetypes.h +318 -0
  405. package/include/harfbuzz/hb-aat-layout.h +795 -0
  406. package/include/harfbuzz/hb-aat.h +38 -0
  407. package/include/harfbuzz/hb-blob.h +160 -0
  408. package/include/harfbuzz/hb-buffer.h +799 -0
  409. package/include/harfbuzz/hb-common.h +938 -0
  410. package/include/harfbuzz/hb-cplusplus.hh +223 -0
  411. package/include/harfbuzz/hb-deprecated.h +309 -0
  412. package/include/harfbuzz/hb-draw.h +340 -0
  413. package/include/harfbuzz/hb-face.h +187 -0
  414. package/include/harfbuzz/hb-features.h +119 -0
  415. package/include/harfbuzz/hb-font.h +1153 -0
  416. package/include/harfbuzz/hb-ft.h +145 -0
  417. package/include/harfbuzz/hb-glib.h +56 -0
  418. package/include/harfbuzz/hb-map.h +143 -0
  419. package/include/harfbuzz/hb-ot-color.h +155 -0
  420. package/include/harfbuzz/hb-ot-deprecated.h +147 -0
  421. package/include/harfbuzz/hb-ot-font.h +45 -0
  422. package/include/harfbuzz/hb-ot-layout.h +549 -0
  423. package/include/harfbuzz/hb-ot-math.h +333 -0
  424. package/include/harfbuzz/hb-ot-meta.h +72 -0
  425. package/include/harfbuzz/hb-ot-metrics.h +129 -0
  426. package/include/harfbuzz/hb-ot-name.h +164 -0
  427. package/include/harfbuzz/hb-ot-shape.h +53 -0
  428. package/include/harfbuzz/hb-ot-var.h +191 -0
  429. package/include/harfbuzz/hb-ot.h +49 -0
  430. package/include/harfbuzz/hb-paint.h +1029 -0
  431. package/include/harfbuzz/hb-set.h +203 -0
  432. package/include/harfbuzz/hb-shape-plan.h +122 -0
  433. package/include/harfbuzz/hb-shape.h +74 -0
  434. package/include/harfbuzz/hb-style.h +81 -0
  435. package/include/harfbuzz/hb-subset-repacker.h +81 -0
  436. package/include/harfbuzz/hb-subset.h +241 -0
  437. package/include/harfbuzz/hb-unicode.h +643 -0
  438. package/include/harfbuzz/hb-version.h +95 -0
  439. package/include/harfbuzz/hb.h +51 -0
  440. package/include/index.js +1 -0
  441. package/include/jconfig.h +37 -0
  442. package/include/jerror.h +335 -0
  443. package/include/jmorecfg.h +382 -0
  444. package/include/jpeglib.h +1210 -0
  445. package/include/lcms2.h +1958 -0
  446. package/include/lcms2_plugin.h +700 -0
  447. package/include/libexif/_stdint.h +2 -0
  448. package/include/libexif/exif-byte-order.h +48 -0
  449. package/include/libexif/exif-content.h +181 -0
  450. package/include/libexif/exif-data-type.h +46 -0
  451. package/include/libexif/exif-data.h +267 -0
  452. package/include/libexif/exif-entry.h +186 -0
  453. package/include/libexif/exif-format.h +65 -0
  454. package/include/libexif/exif-ifd.h +51 -0
  455. package/include/libexif/exif-loader.h +128 -0
  456. package/include/libexif/exif-log.h +116 -0
  457. package/include/libexif/exif-mem.h +91 -0
  458. package/include/libexif/exif-mnote-data.h +122 -0
  459. package/include/libexif/exif-tag.h +307 -0
  460. package/include/libexif/exif-utils.h +194 -0
  461. package/include/libheif/heif.h +2092 -0
  462. package/include/libheif/heif_cxx.h +1359 -0
  463. package/include/libheif/heif_plugin.h +306 -0
  464. package/include/libheif/heif_version.h +38 -0
  465. package/include/libimagequant.h +111 -0
  466. package/include/libpng16/png.h +3247 -0
  467. package/include/libpng16/pngconf.h +623 -0
  468. package/include/libpng16/pnglibconf.h +219 -0
  469. package/include/librsvg-2.0/librsvg/rsvg-cairo.h +395 -0
  470. package/include/librsvg-2.0/librsvg/rsvg-features.h +184 -0
  471. package/include/librsvg-2.0/librsvg/rsvg-version.h +13 -0
  472. package/include/librsvg-2.0/librsvg/rsvg.h +1456 -0
  473. package/include/libxml2/libxml/HTMLparser.h +320 -0
  474. package/include/libxml2/libxml/HTMLtree.h +147 -0
  475. package/include/libxml2/libxml/SAX.h +204 -0
  476. package/include/libxml2/libxml/SAX2.h +173 -0
  477. package/include/libxml2/libxml/c14n.h +128 -0
  478. package/include/libxml2/libxml/catalog.h +182 -0
  479. package/include/libxml2/libxml/chvalid.h +230 -0
  480. package/include/libxml2/libxml/debugXML.h +217 -0
  481. package/include/libxml2/libxml/dict.h +81 -0
  482. package/include/libxml2/libxml/encoding.h +233 -0
  483. package/include/libxml2/libxml/entities.h +151 -0
  484. package/include/libxml2/libxml/globals.h +529 -0
  485. package/include/libxml2/libxml/hash.h +236 -0
  486. package/include/libxml2/libxml/list.h +137 -0
  487. package/include/libxml2/libxml/nanoftp.h +186 -0
  488. package/include/libxml2/libxml/nanohttp.h +81 -0
  489. package/include/libxml2/libxml/parser.h +1265 -0
  490. package/include/libxml2/libxml/parserInternals.h +662 -0
  491. package/include/libxml2/libxml/pattern.h +100 -0
  492. package/include/libxml2/libxml/relaxng.h +218 -0
  493. package/include/libxml2/libxml/schemasInternals.h +958 -0
  494. package/include/libxml2/libxml/schematron.h +142 -0
  495. package/include/libxml2/libxml/threads.h +94 -0
  496. package/include/libxml2/libxml/tree.h +1314 -0
  497. package/include/libxml2/libxml/uri.h +94 -0
  498. package/include/libxml2/libxml/valid.h +448 -0
  499. package/include/libxml2/libxml/xinclude.h +129 -0
  500. package/include/libxml2/libxml/xlink.h +189 -0
  501. package/include/libxml2/libxml/xmlIO.h +369 -0
  502. package/include/libxml2/libxml/xmlautomata.h +146 -0
  503. package/include/libxml2/libxml/xmlerror.h +919 -0
  504. package/include/libxml2/libxml/xmlexports.h +50 -0
  505. package/include/libxml2/libxml/xmlmemory.h +228 -0
  506. package/include/libxml2/libxml/xmlmodule.h +57 -0
  507. package/include/libxml2/libxml/xmlreader.h +428 -0
  508. package/include/libxml2/libxml/xmlregexp.h +222 -0
  509. package/include/libxml2/libxml/xmlsave.h +88 -0
  510. package/include/libxml2/libxml/xmlschemas.h +246 -0
  511. package/include/libxml2/libxml/xmlschemastypes.h +152 -0
  512. package/include/libxml2/libxml/xmlstring.h +140 -0
  513. package/include/libxml2/libxml/xmlunicode.h +202 -0
  514. package/include/libxml2/libxml/xmlversion.h +526 -0
  515. package/include/libxml2/libxml/xmlwriter.h +488 -0
  516. package/include/libxml2/libxml/xpath.h +575 -0
  517. package/include/libxml2/libxml/xpathInternals.h +632 -0
  518. package/include/libxml2/libxml/xpointer.h +137 -0
  519. package/include/orc-0.4/orc/orc-stdint.h +1 -0
  520. package/include/orc-0.4/orc/orc.h +16 -0
  521. package/include/orc-0.4/orc/orcarm.h +879 -0
  522. package/include/orc-0.4/orc/orcbytecode.h +35 -0
  523. package/include/orc-0.4/orc/orcbytecodes.h +255 -0
  524. package/include/orc-0.4/orc/orccode.h +53 -0
  525. package/include/orc-0.4/orc/orccompiler.h +176 -0
  526. package/include/orc-0.4/orc/orcconstant.h +39 -0
  527. package/include/orc-0.4/orc/orccpu.h +21 -0
  528. package/include/orc-0.4/orc/orccpuinsn.h +40 -0
  529. package/include/orc-0.4/orc/orcdebug.h +158 -0
  530. package/include/orc-0.4/orc/orcemulateopcodes.h +203 -0
  531. package/include/orc-0.4/orc/orcexecutor.h +135 -0
  532. package/include/orc-0.4/orc/orcfunctions.h +93 -0
  533. package/include/orc-0.4/orc/orcinstruction.h +39 -0
  534. package/include/orc-0.4/orc/orcinternal.h +46 -0
  535. package/include/orc-0.4/orc/orclimits.h +94 -0
  536. package/include/orc-0.4/orc/orcmips.h +229 -0
  537. package/include/orc-0.4/orc/orcmmx.h +79 -0
  538. package/include/orc-0.4/orc/orcneon.h +43 -0
  539. package/include/orc-0.4/orc/orconce.h +166 -0
  540. package/include/orc-0.4/orc/orcopcode.h +63 -0
  541. package/include/orc-0.4/orc/orcparse.h +27 -0
  542. package/include/orc-0.4/orc/orcpowerpc.h +209 -0
  543. package/include/orc-0.4/orc/orcprogram.h +192 -0
  544. package/include/orc-0.4/orc/orcrule.h +52 -0
  545. package/include/orc-0.4/orc/orcsse.h +55 -0
  546. package/include/orc-0.4/orc/orctarget.h +115 -0
  547. package/include/orc-0.4/orc/orcutils.h +238 -0
  548. package/include/orc-0.4/orc/orcvariable.h +81 -0
  549. package/include/orc-0.4/orc/orcx86.h +199 -0
  550. package/include/orc-0.4/orc/orcx86insn.h +672 -0
  551. package/include/pango-1.0/pango/pango-attributes.h +748 -0
  552. package/include/pango-1.0/pango/pango-bidi-type.h +117 -0
  553. package/include/pango-1.0/pango/pango-break.h +144 -0
  554. package/include/pango-1.0/pango/pango-color.h +75 -0
  555. package/include/pango-1.0/pango/pango-context.h +116 -0
  556. package/include/pango-1.0/pango/pango-coverage.h +108 -0
  557. package/include/pango-1.0/pango/pango-direction.h +72 -0
  558. package/include/pango-1.0/pango/pango-engine.h +457 -0
  559. package/include/pango-1.0/pango/pango-enum-types.h +120 -0
  560. package/include/pango-1.0/pango/pango-features.h +10 -0
  561. package/include/pango-1.0/pango/pango-font.h +699 -0
  562. package/include/pango-1.0/pango/pango-fontmap.h +132 -0
  563. package/include/pango-1.0/pango/pango-fontset-simple.h +64 -0
  564. package/include/pango-1.0/pango/pango-fontset.h +134 -0
  565. package/include/pango-1.0/pango/pango-glyph-item.h +175 -0
  566. package/include/pango-1.0/pango/pango-glyph.h +270 -0
  567. package/include/pango-1.0/pango/pango-gravity.h +137 -0
  568. package/include/pango-1.0/pango/pango-item.h +165 -0
  569. package/include/pango-1.0/pango/pango-language.h +70 -0
  570. package/include/pango-1.0/pango/pango-layout.h +554 -0
  571. package/include/pango-1.0/pango/pango-markup.h +52 -0
  572. package/include/pango-1.0/pango/pango-matrix.h +130 -0
  573. package/include/pango-1.0/pango/pango-modules.h +84 -0
  574. package/include/pango-1.0/pango/pango-ot.h +427 -0
  575. package/include/pango-1.0/pango/pango-renderer.h +290 -0
  576. package/include/pango-1.0/pango/pango-script.h +335 -0
  577. package/include/pango-1.0/pango/pango-tabs.h +117 -0
  578. package/include/pango-1.0/pango/pango-types.h +244 -0
  579. package/include/pango-1.0/pango/pango-utils.h +187 -0
  580. package/include/pango-1.0/pango/pango-version-macros.h +756 -0
  581. package/include/pango-1.0/pango/pango.h +54 -0
  582. package/include/pango-1.0/pango/pangocairo.h +220 -0
  583. package/include/pango-1.0/pango/pangofc-decoder.h +122 -0
  584. package/include/pango-1.0/pango/pangofc-font.h +120 -0
  585. package/include/pango-1.0/pango/pangofc-fontmap.h +244 -0
  586. package/include/pango-1.0/pango/pangoft2.h +158 -0
  587. package/include/pixman-1/pixman-version.h +54 -0
  588. package/include/pixman-1/pixman.h +1419 -0
  589. package/include/png.h +3247 -0
  590. package/include/pngconf.h +623 -0
  591. package/include/pnglibconf.h +219 -0
  592. package/include/spng.h +537 -0
  593. package/include/tiff.h +899 -0
  594. package/include/tiffconf.h +145 -0
  595. package/include/tiffio.h +653 -0
  596. package/include/tiffvers.h +36 -0
  597. package/include/vips/VConnection8.h +150 -0
  598. package/include/vips/VError8.h +76 -0
  599. package/include/vips/VImage8.h +6065 -0
  600. package/include/vips/VInterpolate8.h +77 -0
  601. package/include/vips/VRegion8.h +155 -0
  602. package/include/vips/arithmetic.h +571 -0
  603. package/include/vips/basic.h +113 -0
  604. package/include/vips/buf.h +118 -0
  605. package/include/vips/colour.h +306 -0
  606. package/include/vips/connection.h +570 -0
  607. package/include/vips/conversion.h +357 -0
  608. package/include/vips/convolution.h +95 -0
  609. package/include/vips/create.h +161 -0
  610. package/include/vips/dbuf.h +103 -0
  611. package/include/vips/debug.h +74 -0
  612. package/include/vips/draw.h +113 -0
  613. package/include/vips/enumtypes.h +181 -0
  614. package/include/vips/error.h +142 -0
  615. package/include/vips/foreign.h +993 -0
  616. package/include/vips/format.h +135 -0
  617. package/include/vips/freqfilt.h +64 -0
  618. package/include/vips/gate.h +82 -0
  619. package/include/vips/generate.h +92 -0
  620. package/include/vips/header.h +312 -0
  621. package/include/vips/histogram.h +85 -0
  622. package/include/vips/image.h +605 -0
  623. package/include/vips/interpolate.h +141 -0
  624. package/include/vips/memory.h +96 -0
  625. package/include/vips/morphology.h +73 -0
  626. package/include/vips/mosaicing.h +80 -0
  627. package/include/vips/object.h +706 -0
  628. package/include/vips/operation.h +182 -0
  629. package/include/vips/private.h +227 -0
  630. package/include/vips/rect.h +80 -0
  631. package/include/vips/region.h +238 -0
  632. package/include/vips/resample.h +123 -0
  633. package/include/vips/sbuf.h +144 -0
  634. package/include/vips/semaphore.h +77 -0
  635. package/include/vips/thread.h +72 -0
  636. package/include/vips/threadpool.h +160 -0
  637. package/include/vips/transform.h +89 -0
  638. package/include/vips/type.h +305 -0
  639. package/include/vips/util.h +406 -0
  640. package/include/vips/vector.h +183 -0
  641. package/include/vips/version.h +26 -0
  642. package/include/vips/vips.h +194 -0
  643. package/include/vips/vips8 +60 -0
  644. package/include/webp/decode.h +504 -0
  645. package/include/webp/demux.h +363 -0
  646. package/include/webp/encode.h +552 -0
  647. package/include/webp/mux.h +530 -0
  648. package/include/webp/mux_types.h +98 -0
  649. package/include/webp/sharpyuv/sharpyuv.h +103 -0
  650. package/include/webp/sharpyuv/sharpyuv_csp.h +60 -0
  651. package/include/webp/types.h +72 -0
  652. package/include/zconf.h +203 -0
  653. package/include/zlib.h +1855 -0
  654. package/include/zlib_name_mangling.h +8 -0
  655. package/package.json +30 -0
  656. package/versions.json +31 -0
@@ -0,0 +1,1029 @@
1
+ /*
2
+ * Copyright © 2022 Matthias Clasen
3
+ *
4
+ * This is part of HarfBuzz, a text shaping library.
5
+ *
6
+ * Permission is hereby granted, without written agreement and without
7
+ * license or royalty fees, to use, copy, modify, and distribute this
8
+ * software and its documentation for any purpose, provided that the
9
+ * above copyright notice and the following two paragraphs appear in
10
+ * all copies of this software.
11
+ *
12
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16
+ * DAMAGE.
17
+ *
18
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
21
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23
+ */
24
+
25
+ #if !defined(HB_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
26
+ #error "Include <hb.h> instead."
27
+ #endif
28
+
29
+ #ifndef HB_PAINT_H
30
+ #define HB_PAINT_H
31
+
32
+ #include "hb-common.h"
33
+
34
+ HB_BEGIN_DECLS
35
+
36
+
37
+ /**
38
+ * hb_paint_funcs_t:
39
+ *
40
+ * Glyph paint callbacks.
41
+ *
42
+ * The callbacks assume that the caller maintains a stack
43
+ * of current transforms, clips and intermediate surfaces,
44
+ * as evidenced by the pairs of push/pop callbacks. The
45
+ * push/pop calls will be properly nested, so it is fine
46
+ * to store the different kinds of object on a single stack.
47
+ *
48
+ * Not all callbacks are required for all kinds of glyphs.
49
+ * For rendering COLRv0 or non-color outline glyphs, the
50
+ * gradient callbacks are not needed, and the composite
51
+ * callback only needs to handle simple alpha compositing
52
+ * (#HB_PAINT_COMPOSITE_MODE_SRC_OVER).
53
+ *
54
+ * The paint-image callback is only needed for glyphs
55
+ * with image blobs in the CBDT, sbix or SVG tables.
56
+ *
57
+ * The custom-palette-color callback is only necessary if
58
+ * you want to override colors from the font palette with
59
+ * custom colors.
60
+ *
61
+ * Since: 7.0.0
62
+ **/
63
+ typedef struct hb_paint_funcs_t hb_paint_funcs_t;
64
+
65
+ HB_EXTERN hb_paint_funcs_t *
66
+ hb_paint_funcs_create (void);
67
+
68
+ HB_EXTERN hb_paint_funcs_t *
69
+ hb_paint_funcs_get_empty (void);
70
+
71
+ HB_EXTERN hb_paint_funcs_t *
72
+ hb_paint_funcs_reference (hb_paint_funcs_t *funcs);
73
+
74
+ HB_EXTERN void
75
+ hb_paint_funcs_destroy (hb_paint_funcs_t *funcs);
76
+
77
+ HB_EXTERN hb_bool_t
78
+ hb_paint_funcs_set_user_data (hb_paint_funcs_t *funcs,
79
+ hb_user_data_key_t *key,
80
+ void * data,
81
+ hb_destroy_func_t destroy,
82
+ hb_bool_t replace);
83
+
84
+
85
+ HB_EXTERN void *
86
+ hb_paint_funcs_get_user_data (const hb_paint_funcs_t *funcs,
87
+ hb_user_data_key_t *key);
88
+
89
+ HB_EXTERN void
90
+ hb_paint_funcs_make_immutable (hb_paint_funcs_t *funcs);
91
+
92
+ HB_EXTERN hb_bool_t
93
+ hb_paint_funcs_is_immutable (hb_paint_funcs_t *funcs);
94
+
95
+ /**
96
+ * hb_paint_push_transform_func_t:
97
+ * @funcs: paint functions object
98
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
99
+ * @xx: xx component of the transform matrix
100
+ * @yx: yx component of the transform matrix
101
+ * @xy: xy component of the transform matrix
102
+ * @yy: yy component of the transform matrix
103
+ * @dx: dx component of the transform matrix
104
+ * @dy: dy component of the transform matrix
105
+ * @user_data: User data pointer passed to hb_paint_funcs_set_push_transform_func()
106
+ *
107
+ * A virtual method for the #hb_paint_funcs_t to apply
108
+ * a transform to subsequent paint calls.
109
+ *
110
+ * This transform is applied after the current transform,
111
+ * and remains in effect until a matching call to
112
+ * the #hb_paint_funcs_pop_transform_func_t vfunc.
113
+ *
114
+ * Since: 7.0.0
115
+ */
116
+ typedef void (*hb_paint_push_transform_func_t) (hb_paint_funcs_t *funcs,
117
+ void *paint_data,
118
+ float xx, float yx,
119
+ float xy, float yy,
120
+ float dx, float dy,
121
+ void *user_data);
122
+
123
+ /**
124
+ * hb_paint_pop_transform_func_t:
125
+ * @funcs: paint functions object
126
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
127
+ * @user_data: User data pointer passed to hb_paint_funcs_set_pop_transform_func()
128
+ *
129
+ * A virtual method for the #hb_paint_funcs_t to undo
130
+ * the effect of a prior call to the #hb_paint_funcs_push_transform_func_t
131
+ * vfunc.
132
+ *
133
+ * Since: 7.0.0
134
+ */
135
+ typedef void (*hb_paint_pop_transform_func_t) (hb_paint_funcs_t *funcs,
136
+ void *paint_data,
137
+ void *user_data);
138
+
139
+ /**
140
+ * hb_paint_color_glyph_func_t:
141
+ * @funcs: paint functions object
142
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
143
+ * @glyph: the glyph ID
144
+ * @font: the font
145
+ * @user_data: User data pointer passed to hb_paint_funcs_set_color_glyph_func()
146
+ *
147
+ * A virtual method for the #hb_paint_funcs_t to render a color glyph by glyph index.
148
+ *
149
+ * Return value: %true if the glyph was painted, %false otherwise.
150
+ *
151
+ * Since: 8.2.0
152
+ */
153
+ typedef hb_bool_t (*hb_paint_color_glyph_func_t) (hb_paint_funcs_t *funcs,
154
+ void *paint_data,
155
+ hb_codepoint_t glyph,
156
+ hb_font_t *font,
157
+ void *user_data);
158
+
159
+ /**
160
+ * hb_paint_push_clip_glyph_func_t:
161
+ * @funcs: paint functions object
162
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
163
+ * @glyph: the glyph ID
164
+ * @font: the font
165
+ * @user_data: User data pointer passed to hb_paint_funcs_set_push_clip_glyph_func()
166
+ *
167
+ * A virtual method for the #hb_paint_funcs_t to clip
168
+ * subsequent paint calls to the outline of a glyph.
169
+ *
170
+ * The coordinates of the glyph outline are interpreted according
171
+ * to the current transform.
172
+ *
173
+ * This clip is applied in addition to the current clip,
174
+ * and remains in effect until a matching call to
175
+ * the #hb_paint_funcs_pop_clip_func_t vfunc.
176
+ *
177
+ * Since: 7.0.0
178
+ */
179
+ typedef void (*hb_paint_push_clip_glyph_func_t) (hb_paint_funcs_t *funcs,
180
+ void *paint_data,
181
+ hb_codepoint_t glyph,
182
+ hb_font_t *font,
183
+ void *user_data);
184
+
185
+ /**
186
+ * hb_paint_push_clip_rectangle_func_t:
187
+ * @funcs: paint functions object
188
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
189
+ * @xmin: min X for the rectangle
190
+ * @ymin: min Y for the rectangle
191
+ * @xmax: max X for the rectangle
192
+ * @ymax: max Y for the rectangle
193
+ * @user_data: User data pointer passed to hb_paint_funcs_set_push_clip_rectangle_func()
194
+ *
195
+ * A virtual method for the #hb_paint_funcs_t to clip
196
+ * subsequent paint calls to a rectangle.
197
+ *
198
+ * The coordinates of the rectangle are interpreted according
199
+ * to the current transform.
200
+ *
201
+ * This clip is applied in addition to the current clip,
202
+ * and remains in effect until a matching call to
203
+ * the #hb_paint_funcs_pop_clip_func_t vfunc.
204
+ *
205
+ * Since: 7.0.0
206
+ */
207
+ typedef void (*hb_paint_push_clip_rectangle_func_t) (hb_paint_funcs_t *funcs,
208
+ void *paint_data,
209
+ float xmin, float ymin,
210
+ float xmax, float ymax,
211
+ void *user_data);
212
+
213
+ /**
214
+ * hb_paint_pop_clip_func_t:
215
+ * @funcs: paint functions object
216
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
217
+ * @user_data: User data pointer passed to hb_paint_funcs_set_pop_clip_func()
218
+ *
219
+ * A virtual method for the #hb_paint_funcs_t to undo
220
+ * the effect of a prior call to the #hb_paint_funcs_push_clip_glyph_func_t
221
+ * or #hb_paint_funcs_push_clip_rectangle_func_t vfuncs.
222
+ *
223
+ * Since: 7.0.0
224
+ */
225
+ typedef void (*hb_paint_pop_clip_func_t) (hb_paint_funcs_t *funcs,
226
+ void *paint_data,
227
+ void *user_data);
228
+
229
+ /**
230
+ * hb_paint_color_func_t:
231
+ * @funcs: paint functions object
232
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
233
+ * @is_foreground: whether the color is the foreground
234
+ * @color: The color to use, unpremultiplied
235
+ * @user_data: User data pointer passed to hb_paint_funcs_set_color_func()
236
+ *
237
+ * A virtual method for the #hb_paint_funcs_t to paint a
238
+ * color everywhere within the current clip.
239
+ *
240
+ * Since: 7.0.0
241
+ */
242
+ typedef void (*hb_paint_color_func_t) (hb_paint_funcs_t *funcs,
243
+ void *paint_data,
244
+ hb_bool_t is_foreground,
245
+ hb_color_t color,
246
+ void *user_data);
247
+
248
+ /**
249
+ * HB_PAINT_IMAGE_FORMAT_PNG:
250
+ *
251
+ * Tag identifying PNG images in #hb_paint_image_func_t callbacks.
252
+ *
253
+ * Since: 7.0.0
254
+ */
255
+ #define HB_PAINT_IMAGE_FORMAT_PNG HB_TAG('p','n','g',' ')
256
+
257
+ /**
258
+ * HB_PAINT_IMAGE_FORMAT_SVG:
259
+ *
260
+ * Tag identifying SVG images in #hb_paint_image_func_t callbacks.
261
+ *
262
+ * Since: 7.0.0
263
+ */
264
+ #define HB_PAINT_IMAGE_FORMAT_SVG HB_TAG('s','v','g',' ')
265
+
266
+ /**
267
+ * HB_PAINT_IMAGE_FORMAT_BGRA:
268
+ *
269
+ * Tag identifying raw pixel-data images in #hb_paint_image_func_t callbacks.
270
+ * The data is in BGRA pre-multiplied sRGBA color-space format.
271
+ *
272
+ * Since: 7.0.0
273
+ */
274
+ #define HB_PAINT_IMAGE_FORMAT_BGRA HB_TAG('B','G','R','A')
275
+
276
+ /**
277
+ * hb_paint_image_func_t:
278
+ * @funcs: paint functions object
279
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
280
+ * @image: the image data
281
+ * @width: width of the raster image in pixels, or 0
282
+ * @height: height of the raster image in pixels, or 0
283
+ * @format: the image format as a tag
284
+ * @slant: the synthetic slant ratio to be applied to the image during rendering
285
+ * @extents: (nullable): glyph extents for desired rendering
286
+ * @user_data: User data pointer passed to hb_paint_funcs_set_image_func()
287
+ *
288
+ * A virtual method for the #hb_paint_funcs_t to paint a glyph image.
289
+ *
290
+ * This method is called for glyphs with image blobs in the CBDT,
291
+ * sbix or SVG tables. The @format identifies the kind of data that
292
+ * is contained in @image. Possible values include #HB_PAINT_IMAGE_FORMAT_PNG,
293
+ * #HB_PAINT_IMAGE_FORMAT_SVG and #HB_PAINT_IMAGE_FORMAT_BGRA.
294
+ *
295
+ * The image dimensions and glyph extents are provided if available,
296
+ * and should be used to size and position the image.
297
+ *
298
+ * Return value: Whether the operation was successful.
299
+ *
300
+ * Since: 7.0.0
301
+ */
302
+ typedef hb_bool_t (*hb_paint_image_func_t) (hb_paint_funcs_t *funcs,
303
+ void *paint_data,
304
+ hb_blob_t *image,
305
+ unsigned int width,
306
+ unsigned int height,
307
+ hb_tag_t format,
308
+ float slant,
309
+ hb_glyph_extents_t *extents,
310
+ void *user_data);
311
+
312
+ /**
313
+ * hb_color_stop_t:
314
+ * @offset: the offset of the color stop
315
+ * @is_foreground: whether the color is the foreground
316
+ * @color: the color, unpremultiplied
317
+ *
318
+ * Information about a color stop on a color line.
319
+ *
320
+ * Color lines typically have offsets ranging between 0 and 1,
321
+ * but that is not required.
322
+ *
323
+ * Note: despite @color being unpremultiplied here, interpolation in
324
+ * gradients shall happen in premultiplied space. See the OpenType spec
325
+ * [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
326
+ * section for details.
327
+ *
328
+ * Since: 7.0.0
329
+ */
330
+ typedef struct {
331
+ float offset;
332
+ hb_bool_t is_foreground;
333
+ hb_color_t color;
334
+ } hb_color_stop_t;
335
+
336
+ /**
337
+ * hb_paint_extend_t:
338
+ * @HB_PAINT_EXTEND_PAD: Outside the defined interval,
339
+ * the color of the closest color stop is used.
340
+ * @HB_PAINT_EXTEND_REPEAT: The color line is repeated over
341
+ * repeated multiples of the defined interval
342
+ * @HB_PAINT_EXTEND_REFLECT: The color line is repeated over
343
+ * repeated intervals, as for the repeat mode.
344
+ * However, in each repeated interval, the ordering of
345
+ * color stops is the reverse of the adjacent interval.
346
+ *
347
+ * The values of this enumeration determine how color values
348
+ * outside the minimum and maximum defined offset on a #hb_color_line_t
349
+ * are determined.
350
+ *
351
+ * See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
352
+ * section for details.
353
+ *
354
+ * Since: 7.0.0
355
+ */
356
+ typedef enum {
357
+ HB_PAINT_EXTEND_PAD,
358
+ HB_PAINT_EXTEND_REPEAT,
359
+ HB_PAINT_EXTEND_REFLECT
360
+ } hb_paint_extend_t;
361
+
362
+ typedef struct hb_color_line_t hb_color_line_t;
363
+
364
+ /**
365
+ * hb_color_line_get_color_stops_func_t:
366
+ * @color_line: a #hb_color_line_t object
367
+ * @color_line_data: the data accompanying @color_line
368
+ * @start: the index of the first color stop to return
369
+ * @count: (inout) (optional): Input = the maximum number of feature tags to return;
370
+ * Output = the actual number of feature tags returned (may be zero)
371
+ * @color_stops: (out) (array length=count) (optional): Array of #hb_color_stop_t to populate
372
+ * @user_data: the data accompanying this method
373
+ *
374
+ * A virtual method for the #hb_color_line_t to fetch color stops.
375
+ *
376
+ * Return value: the total number of color stops in @color_line
377
+ *
378
+ * Since: 7.0.0
379
+ */
380
+ typedef unsigned int (*hb_color_line_get_color_stops_func_t) (hb_color_line_t *color_line,
381
+ void *color_line_data,
382
+ unsigned int start,
383
+ unsigned int *count,
384
+ hb_color_stop_t *color_stops,
385
+ void *user_data);
386
+
387
+ /**
388
+ * hb_color_line_get_extend_func_t:
389
+ * @color_line: a #hb_color_line_t object
390
+ * @color_line_data: the data accompanying @color_line
391
+ * @user_data: the data accompanying this method
392
+ *
393
+ * A virtual method for the @hb_color_line_t to fetches the extend mode.
394
+ *
395
+ * Return value: the extend mode of @color_line
396
+ *
397
+ * Since: 7.0.0
398
+ */
399
+ typedef hb_paint_extend_t (*hb_color_line_get_extend_func_t) (hb_color_line_t *color_line,
400
+ void *color_line_data,
401
+ void *user_data);
402
+
403
+ /**
404
+ * hb_color_line_t:
405
+ *
406
+ * A struct containing color information for a gradient.
407
+ *
408
+ * Since: 7.0.0
409
+ */
410
+ struct hb_color_line_t {
411
+ void *data;
412
+
413
+ hb_color_line_get_color_stops_func_t get_color_stops;
414
+ void *get_color_stops_user_data;
415
+
416
+ hb_color_line_get_extend_func_t get_extend;
417
+ void *get_extend_user_data;
418
+
419
+ void *reserved0;
420
+ void *reserved1;
421
+ void *reserved2;
422
+ void *reserved3;
423
+ void *reserved5;
424
+ void *reserved6;
425
+ void *reserved7;
426
+ void *reserved8;
427
+ };
428
+
429
+ HB_EXTERN unsigned int
430
+ hb_color_line_get_color_stops (hb_color_line_t *color_line,
431
+ unsigned int start,
432
+ unsigned int *count,
433
+ hb_color_stop_t *color_stops);
434
+
435
+ HB_EXTERN hb_paint_extend_t
436
+ hb_color_line_get_extend (hb_color_line_t *color_line);
437
+
438
+ /**
439
+ * hb_paint_linear_gradient_func_t:
440
+ * @funcs: paint functions object
441
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
442
+ * @color_line: Color information for the gradient
443
+ * @x0: X coordinate of the first point
444
+ * @y0: Y coordinate of the first point
445
+ * @x1: X coordinate of the second point
446
+ * @y1: Y coordinate of the second point
447
+ * @x2: X coordinate of the third point
448
+ * @y2: Y coordinate of the third point
449
+ * @user_data: User data pointer passed to hb_paint_funcs_set_linear_gradient_func()
450
+ *
451
+ * A virtual method for the #hb_paint_funcs_t to paint a linear
452
+ * gradient everywhere within the current clip.
453
+ *
454
+ * The @color_line object contains information about the colors of the gradients.
455
+ * It is only valid for the duration of the callback, you cannot keep it around.
456
+ *
457
+ * The coordinates of the points are interpreted according
458
+ * to the current transform.
459
+ *
460
+ * See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
461
+ * section for details on how the points define the direction
462
+ * of the gradient, and how to interpret the @color_line.
463
+ *
464
+ * Since: 7.0.0
465
+ */
466
+ typedef void (*hb_paint_linear_gradient_func_t) (hb_paint_funcs_t *funcs,
467
+ void *paint_data,
468
+ hb_color_line_t *color_line,
469
+ float x0, float y0,
470
+ float x1, float y1,
471
+ float x2, float y2,
472
+ void *user_data);
473
+
474
+ /**
475
+ * hb_paint_radial_gradient_func_t:
476
+ * @funcs: paint functions object
477
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
478
+ * @color_line: Color information for the gradient
479
+ * @x0: X coordinate of the first circle's center
480
+ * @y0: Y coordinate of the first circle's center
481
+ * @r0: radius of the first circle
482
+ * @x1: X coordinate of the second circle's center
483
+ * @y1: Y coordinate of the second circle's center
484
+ * @r1: radius of the second circle
485
+ * @user_data: User data pointer passed to hb_paint_funcs_set_radial_gradient_func()
486
+ *
487
+ * A virtual method for the #hb_paint_funcs_t to paint a radial
488
+ * gradient everywhere within the current clip.
489
+ *
490
+ * The @color_line object contains information about the colors of the gradients.
491
+ * It is only valid for the duration of the callback, you cannot keep it around.
492
+ *
493
+ * The coordinates of the points are interpreted according
494
+ * to the current transform.
495
+ *
496
+ * See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
497
+ * section for details on how the points define the direction
498
+ * of the gradient, and how to interpret the @color_line.
499
+ *
500
+ * Since: 7.0.0
501
+ */
502
+ typedef void (*hb_paint_radial_gradient_func_t) (hb_paint_funcs_t *funcs,
503
+ void *paint_data,
504
+ hb_color_line_t *color_line,
505
+ float x0, float y0, float r0,
506
+ float x1, float y1, float r1,
507
+ void *user_data);
508
+
509
+ /**
510
+ * hb_paint_sweep_gradient_func_t:
511
+ * @funcs: paint functions object
512
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
513
+ * @color_line: Color information for the gradient
514
+ * @x0: X coordinate of the circle's center
515
+ * @y0: Y coordinate of the circle's center
516
+ * @start_angle: the start angle, in radians
517
+ * @end_angle: the end angle, in radians
518
+ * @user_data: User data pointer passed to hb_paint_funcs_set_sweep_gradient_func()
519
+ *
520
+ * A virtual method for the #hb_paint_funcs_t to paint a sweep
521
+ * gradient everywhere within the current clip.
522
+ *
523
+ * The @color_line object contains information about the colors of the gradients.
524
+ * It is only valid for the duration of the callback, you cannot keep it around.
525
+ *
526
+ * The coordinates of the points are interpreted according
527
+ * to the current transform.
528
+ *
529
+ * See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
530
+ * section for details on how the points define the direction
531
+ * of the gradient, and how to interpret the @color_line.
532
+ *
533
+ * Since: 7.0.0
534
+ */
535
+ typedef void (*hb_paint_sweep_gradient_func_t) (hb_paint_funcs_t *funcs,
536
+ void *paint_data,
537
+ hb_color_line_t *color_line,
538
+ float x0, float y0,
539
+ float start_angle,
540
+ float end_angle,
541
+ void *user_data);
542
+
543
+ /**
544
+ * hb_paint_composite_mode_t:
545
+ * @HB_PAINT_COMPOSITE_MODE_CLEAR: clear destination layer (bounded)
546
+ * @HB_PAINT_COMPOSITE_MODE_SRC: replace destination layer (bounded)
547
+ * @HB_PAINT_COMPOSITE_MODE_SRC_OVER: draw source layer on top of destination layer
548
+ * (bounded)
549
+ * @HB_PAINT_COMPOSITE_MODE_SRC_IN: draw source where there was destination content
550
+ * (unbounded)
551
+ * @HB_PAINT_COMPOSITE_MODE_SRC_OUT: draw source where there was no destination
552
+ * content (unbounded)
553
+ * @HB_PAINT_COMPOSITE_MODE_SRC_ATOP: draw source on top of destination content and
554
+ * only there
555
+ * @HB_PAINT_COMPOSITE_MODE_DEST: ignore the source
556
+ * @HB_PAINT_COMPOSITE_MODE_DEST_OVER: draw destination on top of source
557
+ * @HB_PAINT_COMPOSITE_MODE_DEST_IN: leave destination only where there was
558
+ * source content (unbounded)
559
+ * @HB_PAINT_COMPOSITE_MODE_DEST_OUT: leave destination only where there was no
560
+ * source content
561
+ * @HB_PAINT_COMPOSITE_MODE_DEST_ATOP: leave destination on top of source content
562
+ * and only there (unbounded)
563
+ * @HB_PAINT_COMPOSITE_MODE_XOR: source and destination are shown where there is only
564
+ * one of them
565
+ * @HB_PAINT_COMPOSITE_MODE_PLUS: source and destination layers are accumulated
566
+ * @HB_PAINT_COMPOSITE_MODE_MULTIPLY: source and destination layers are multiplied.
567
+ * This causes the result to be at least as dark as the darker inputs.
568
+ * @HB_PAINT_COMPOSITE_MODE_SCREEN: source and destination are complemented and
569
+ * multiplied. This causes the result to be at least as light as the lighter
570
+ * inputs.
571
+ * @HB_PAINT_COMPOSITE_MODE_OVERLAY: multiplies or screens, depending on the
572
+ * lightness of the destination color.
573
+ * @HB_PAINT_COMPOSITE_MODE_DARKEN: replaces the destination with the source if it
574
+ * is darker, otherwise keeps the source.
575
+ * @HB_PAINT_COMPOSITE_MODE_LIGHTEN: replaces the destination with the source if it
576
+ * is lighter, otherwise keeps the source.
577
+ * @HB_PAINT_COMPOSITE_MODE_COLOR_DODGE: brightens the destination color to reflect
578
+ * the source color.
579
+ * @HB_PAINT_COMPOSITE_MODE_COLOR_BURN: darkens the destination color to reflect
580
+ * the source color.
581
+ * @HB_PAINT_COMPOSITE_MODE_HARD_LIGHT: Multiplies or screens, dependent on source
582
+ * color.
583
+ * @HB_PAINT_COMPOSITE_MODE_SOFT_LIGHT: Darkens or lightens, dependent on source
584
+ * color.
585
+ * @HB_PAINT_COMPOSITE_MODE_DIFFERENCE: Takes the difference of the source and
586
+ * destination color.
587
+ * @HB_PAINT_COMPOSITE_MODE_EXCLUSION: Produces an effect similar to difference, but
588
+ * with lower contrast.
589
+ * @HB_PAINT_COMPOSITE_MODE_HSL_HUE: Creates a color with the hue of the source
590
+ * and the saturation and luminosity of the target.
591
+ * @HB_PAINT_COMPOSITE_MODE_HSL_SATURATION: Creates a color with the saturation
592
+ * of the source and the hue and luminosity of the target. Painting with
593
+ * this mode onto a gray area produces no change.
594
+ * @HB_PAINT_COMPOSITE_MODE_HSL_COLOR: Creates a color with the hue and saturation
595
+ * of the source and the luminosity of the target. This preserves the gray
596
+ * levels of the target and is useful for coloring monochrome images or
597
+ * tinting color images.
598
+ * @HB_PAINT_COMPOSITE_MODE_HSL_LUMINOSITY: Creates a color with the luminosity of
599
+ * the source and the hue and saturation of the target. This produces an
600
+ * inverse effect to @HB_PAINT_COMPOSITE_MODE_HSL_COLOR.
601
+ *
602
+ * The values of this enumeration describe the compositing modes
603
+ * that can be used when combining temporary redirected drawing
604
+ * with the backdrop.
605
+ *
606
+ * See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr)
607
+ * section for details.
608
+ *
609
+ * Since: 7.0.0
610
+ */
611
+ typedef enum {
612
+ HB_PAINT_COMPOSITE_MODE_CLEAR,
613
+ HB_PAINT_COMPOSITE_MODE_SRC,
614
+ HB_PAINT_COMPOSITE_MODE_DEST,
615
+ HB_PAINT_COMPOSITE_MODE_SRC_OVER,
616
+ HB_PAINT_COMPOSITE_MODE_DEST_OVER,
617
+ HB_PAINT_COMPOSITE_MODE_SRC_IN,
618
+ HB_PAINT_COMPOSITE_MODE_DEST_IN,
619
+ HB_PAINT_COMPOSITE_MODE_SRC_OUT,
620
+ HB_PAINT_COMPOSITE_MODE_DEST_OUT,
621
+ HB_PAINT_COMPOSITE_MODE_SRC_ATOP,
622
+ HB_PAINT_COMPOSITE_MODE_DEST_ATOP,
623
+ HB_PAINT_COMPOSITE_MODE_XOR,
624
+ HB_PAINT_COMPOSITE_MODE_PLUS,
625
+ HB_PAINT_COMPOSITE_MODE_SCREEN,
626
+ HB_PAINT_COMPOSITE_MODE_OVERLAY,
627
+ HB_PAINT_COMPOSITE_MODE_DARKEN,
628
+ HB_PAINT_COMPOSITE_MODE_LIGHTEN,
629
+ HB_PAINT_COMPOSITE_MODE_COLOR_DODGE,
630
+ HB_PAINT_COMPOSITE_MODE_COLOR_BURN,
631
+ HB_PAINT_COMPOSITE_MODE_HARD_LIGHT,
632
+ HB_PAINT_COMPOSITE_MODE_SOFT_LIGHT,
633
+ HB_PAINT_COMPOSITE_MODE_DIFFERENCE,
634
+ HB_PAINT_COMPOSITE_MODE_EXCLUSION,
635
+ HB_PAINT_COMPOSITE_MODE_MULTIPLY,
636
+ HB_PAINT_COMPOSITE_MODE_HSL_HUE,
637
+ HB_PAINT_COMPOSITE_MODE_HSL_SATURATION,
638
+ HB_PAINT_COMPOSITE_MODE_HSL_COLOR,
639
+ HB_PAINT_COMPOSITE_MODE_HSL_LUMINOSITY
640
+ } hb_paint_composite_mode_t;
641
+
642
+ /**
643
+ * hb_paint_push_group_func_t:
644
+ * @funcs: paint functions object
645
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
646
+ * @user_data: User data pointer passed to hb_paint_funcs_set_push_group_func()
647
+ *
648
+ * A virtual method for the #hb_paint_funcs_t to use
649
+ * an intermediate surface for subsequent paint calls.
650
+ *
651
+ * The drawing will be redirected to an intermediate surface
652
+ * until a matching call to the #hb_paint_funcs_pop_group_func_t
653
+ * vfunc.
654
+ *
655
+ * Since: 7.0.0
656
+ */
657
+ typedef void (*hb_paint_push_group_func_t) (hb_paint_funcs_t *funcs,
658
+ void *paint_data,
659
+ void *user_data);
660
+
661
+ /**
662
+ * hb_paint_pop_group_func_t:
663
+ * @funcs: paint functions object
664
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
665
+ * @mode: the compositing mode to use
666
+ * @user_data: User data pointer passed to hb_paint_funcs_set_pop_group_func()
667
+ *
668
+ * A virtual method for the #hb_paint_funcs_t to undo
669
+ * the effect of a prior call to the #hb_paint_funcs_push_group_func_t
670
+ * vfunc.
671
+ *
672
+ * This call stops the redirection to the intermediate surface,
673
+ * and then composites it on the previous surface, using the
674
+ * compositing mode passed to this call.
675
+ *
676
+ * Since: 7.0.0
677
+ */
678
+ typedef void (*hb_paint_pop_group_func_t) (hb_paint_funcs_t *funcs,
679
+ void *paint_data,
680
+ hb_paint_composite_mode_t mode,
681
+ void *user_data);
682
+
683
+ /**
684
+ * hb_paint_custom_palette_color_func_t:
685
+ * @funcs: paint functions object
686
+ * @paint_data: The data accompanying the paint functions in hb_font_paint_glyph()
687
+ * @color_index: the color index
688
+ * @color: (out): fetched color
689
+ * @user_data: User data pointer passed to hb_paint_funcs_set_pop_group_func()
690
+ *
691
+ * A virtual method for the #hb_paint_funcs_t to fetch a color from the custom
692
+ * color palette.
693
+ *
694
+ * Custom palette colors override the colors from the fonts selected color
695
+ * palette. It is not necessary to override all palette entries; for entries
696
+ * that should be taken from the font palette, return `false`.
697
+ *
698
+ * This function might get called multiple times, but the custom palette is
699
+ * expected to remain unchanged for duration of a hb_font_paint_glyph() call.
700
+ *
701
+ * Return value: `true` if found, `false` otherwise
702
+ *
703
+ * Since: 7.0.0
704
+ */
705
+ typedef hb_bool_t (*hb_paint_custom_palette_color_func_t) (hb_paint_funcs_t *funcs,
706
+ void *paint_data,
707
+ unsigned int color_index,
708
+ hb_color_t *color,
709
+ void *user_data);
710
+
711
+
712
+ /**
713
+ * hb_paint_funcs_set_push_transform_func:
714
+ * @funcs: A paint functions struct
715
+ * @func: (closure user_data) (destroy destroy) (scope notified): The push-transform callback
716
+ * @user_data: Data to pass to @func
717
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
718
+ *
719
+ * Sets the push-transform callback on the paint functions struct.
720
+ *
721
+ * Since: 7.0.0
722
+ */
723
+ HB_EXTERN void
724
+ hb_paint_funcs_set_push_transform_func (hb_paint_funcs_t *funcs,
725
+ hb_paint_push_transform_func_t func,
726
+ void *user_data,
727
+ hb_destroy_func_t destroy);
728
+
729
+ /**
730
+ * hb_paint_funcs_set_pop_transform_func:
731
+ * @funcs: A paint functions struct
732
+ * @func: (closure user_data) (destroy destroy) (scope notified): The pop-transform callback
733
+ * @user_data: Data to pass to @func
734
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
735
+ *
736
+ * Sets the pop-transform callback on the paint functions struct.
737
+ *
738
+ * Since: 7.0.0
739
+ */
740
+ HB_EXTERN void
741
+ hb_paint_funcs_set_pop_transform_func (hb_paint_funcs_t *funcs,
742
+ hb_paint_pop_transform_func_t func,
743
+ void *user_data,
744
+ hb_destroy_func_t destroy);
745
+
746
+ /**
747
+ * hb_paint_funcs_set_color_glyph_func:
748
+ * @funcs: A paint functions struct
749
+ * @func: (closure user_data) (destroy destroy) (scope notified): The color-glyph callback
750
+ * @user_data: Data to pass to @func
751
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
752
+ *
753
+ * Sets the color-glyph callback on the paint functions struct.
754
+ *
755
+ * Since: 8.2.0
756
+ */
757
+ HB_EXTERN void
758
+ hb_paint_funcs_set_color_glyph_func (hb_paint_funcs_t *funcs,
759
+ hb_paint_color_glyph_func_t func,
760
+ void *user_data,
761
+ hb_destroy_func_t destroy);
762
+
763
+ /**
764
+ * hb_paint_funcs_set_push_clip_glyph_func:
765
+ * @funcs: A paint functions struct
766
+ * @func: (closure user_data) (destroy destroy) (scope notified): The push-clip-glyph callback
767
+ * @user_data: Data to pass to @func
768
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
769
+ *
770
+ * Sets the push-clip-glyph callback on the paint functions struct.
771
+ *
772
+ * Since: 7.0.0
773
+ */
774
+ HB_EXTERN void
775
+ hb_paint_funcs_set_push_clip_glyph_func (hb_paint_funcs_t *funcs,
776
+ hb_paint_push_clip_glyph_func_t func,
777
+ void *user_data,
778
+ hb_destroy_func_t destroy);
779
+
780
+ /**
781
+ * hb_paint_funcs_set_push_clip_rectangle_func:
782
+ * @funcs: A paint functions struct
783
+ * @func: (closure user_data) (destroy destroy) (scope notified): The push-clip-rectangle callback
784
+ * @user_data: Data to pass to @func
785
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
786
+ *
787
+ * Sets the push-clip-rect callback on the paint functions struct.
788
+ *
789
+ * Since: 7.0.0
790
+ */
791
+ HB_EXTERN void
792
+ hb_paint_funcs_set_push_clip_rectangle_func (hb_paint_funcs_t *funcs,
793
+ hb_paint_push_clip_rectangle_func_t func,
794
+ void *user_data,
795
+ hb_destroy_func_t destroy);
796
+
797
+ /**
798
+ * hb_paint_funcs_set_pop_clip_func:
799
+ * @funcs: A paint functions struct
800
+ * @func: (closure user_data) (destroy destroy) (scope notified): The pop-clip callback
801
+ * @user_data: Data to pass to @func
802
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
803
+ *
804
+ * Sets the pop-clip callback on the paint functions struct.
805
+ *
806
+ * Since: 7.0.0
807
+ */
808
+ HB_EXTERN void
809
+ hb_paint_funcs_set_pop_clip_func (hb_paint_funcs_t *funcs,
810
+ hb_paint_pop_clip_func_t func,
811
+ void *user_data,
812
+ hb_destroy_func_t destroy);
813
+
814
+ /**
815
+ * hb_paint_funcs_set_color_func:
816
+ * @funcs: A paint functions struct
817
+ * @func: (closure user_data) (destroy destroy) (scope notified): The paint-color callback
818
+ * @user_data: Data to pass to @func
819
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
820
+ *
821
+ * Sets the paint-color callback on the paint functions struct.
822
+ *
823
+ * Since: 7.0.0
824
+ */
825
+ HB_EXTERN void
826
+ hb_paint_funcs_set_color_func (hb_paint_funcs_t *funcs,
827
+ hb_paint_color_func_t func,
828
+ void *user_data,
829
+ hb_destroy_func_t destroy);
830
+
831
+ /**
832
+ * hb_paint_funcs_set_image_func:
833
+ * @funcs: A paint functions struct
834
+ * @func: (closure user_data) (destroy destroy) (scope notified): The paint-image callback
835
+ * @user_data: Data to pass to @func
836
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
837
+ *
838
+ * Sets the paint-image callback on the paint functions struct.
839
+ *
840
+ * Since: 7.0.0
841
+ */
842
+ HB_EXTERN void
843
+ hb_paint_funcs_set_image_func (hb_paint_funcs_t *funcs,
844
+ hb_paint_image_func_t func,
845
+ void *user_data,
846
+ hb_destroy_func_t destroy);
847
+
848
+ /**
849
+ * hb_paint_funcs_set_linear_gradient_func:
850
+ * @funcs: A paint functions struct
851
+ * @func: (closure user_data) (destroy destroy) (scope notified): The linear-gradient callback
852
+ * @user_data: Data to pass to @func
853
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
854
+ *
855
+ * Sets the linear-gradient callback on the paint functions struct.
856
+ *
857
+ * Since: 7.0.0
858
+ */
859
+ HB_EXTERN void
860
+ hb_paint_funcs_set_linear_gradient_func (hb_paint_funcs_t *funcs,
861
+ hb_paint_linear_gradient_func_t func,
862
+ void *user_data,
863
+ hb_destroy_func_t destroy);
864
+
865
+ /**
866
+ * hb_paint_funcs_set_radial_gradient_func:
867
+ * @funcs: A paint functions struct
868
+ * @func: (closure user_data) (destroy destroy) (scope notified): The radial-gradient callback
869
+ * @user_data: Data to pass to @func
870
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
871
+ *
872
+ * Sets the radial-gradient callback on the paint functions struct.
873
+ *
874
+ * Since: 7.0.0
875
+ */
876
+ HB_EXTERN void
877
+ hb_paint_funcs_set_radial_gradient_func (hb_paint_funcs_t *funcs,
878
+ hb_paint_radial_gradient_func_t func,
879
+ void *user_data,
880
+ hb_destroy_func_t destroy);
881
+
882
+ /**
883
+ * hb_paint_funcs_set_sweep_gradient_func:
884
+ * @funcs: A paint functions struct
885
+ * @func: (closure user_data) (destroy destroy) (scope notified): The sweep-gradient callback
886
+ * @user_data: Data to pass to @func
887
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
888
+ *
889
+ * Sets the sweep-gradient callback on the paint functions struct.
890
+ *
891
+ * Since: 7.0.0
892
+ */
893
+ HB_EXTERN void
894
+ hb_paint_funcs_set_sweep_gradient_func (hb_paint_funcs_t *funcs,
895
+ hb_paint_sweep_gradient_func_t func,
896
+ void *user_data,
897
+ hb_destroy_func_t destroy);
898
+
899
+ /**
900
+ * hb_paint_funcs_set_push_group_func:
901
+ * @funcs: A paint functions struct
902
+ * @func: (closure user_data) (destroy destroy) (scope notified): The push-group callback
903
+ * @user_data: Data to pass to @func
904
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
905
+ *
906
+ * Sets the push-group callback on the paint functions struct.
907
+ *
908
+ * Since: 7.0.0
909
+ */
910
+ HB_EXTERN void
911
+ hb_paint_funcs_set_push_group_func (hb_paint_funcs_t *funcs,
912
+ hb_paint_push_group_func_t func,
913
+ void *user_data,
914
+ hb_destroy_func_t destroy);
915
+
916
+ /**
917
+ * hb_paint_funcs_set_pop_group_func:
918
+ * @funcs: A paint functions struct
919
+ * @func: (closure user_data) (destroy destroy) (scope notified): The pop-group callback
920
+ * @user_data: Data to pass to @func
921
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
922
+ *
923
+ * Sets the pop-group callback on the paint functions struct.
924
+ *
925
+ * Since: 7.0.0
926
+ */
927
+ HB_EXTERN void
928
+ hb_paint_funcs_set_pop_group_func (hb_paint_funcs_t *funcs,
929
+ hb_paint_pop_group_func_t func,
930
+ void *user_data,
931
+ hb_destroy_func_t destroy);
932
+
933
+ /**
934
+ * hb_paint_funcs_set_custom_palette_color_func:
935
+ * @funcs: A paint functions struct
936
+ * @func: (closure user_data) (destroy destroy) (scope notified): The custom-palette-color callback
937
+ * @user_data: Data to pass to @func
938
+ * @destroy: (nullable): Function to call when @user_data is no longer needed
939
+ *
940
+ * Sets the custom-palette-color callback on the paint functions struct.
941
+ *
942
+ * Since: 7.0.0
943
+ */
944
+ HB_EXTERN void
945
+ hb_paint_funcs_set_custom_palette_color_func (hb_paint_funcs_t *funcs,
946
+ hb_paint_custom_palette_color_func_t func,
947
+ void *user_data,
948
+ hb_destroy_func_t destroy);
949
+ /*
950
+ * Manual API
951
+ */
952
+
953
+ HB_EXTERN void
954
+ hb_paint_push_transform (hb_paint_funcs_t *funcs, void *paint_data,
955
+ float xx, float yx,
956
+ float xy, float yy,
957
+ float dx, float dy);
958
+
959
+ HB_EXTERN void
960
+ hb_paint_pop_transform (hb_paint_funcs_t *funcs, void *paint_data);
961
+
962
+ HB_EXTERN hb_bool_t
963
+ hb_paint_color_glyph (hb_paint_funcs_t *funcs, void *paint_data,
964
+ hb_codepoint_t glyph,
965
+ hb_font_t *font);
966
+
967
+ HB_EXTERN void
968
+ hb_paint_push_clip_glyph (hb_paint_funcs_t *funcs, void *paint_data,
969
+ hb_codepoint_t glyph,
970
+ hb_font_t *font);
971
+
972
+ HB_EXTERN void
973
+ hb_paint_push_clip_rectangle (hb_paint_funcs_t *funcs, void *paint_data,
974
+ float xmin, float ymin,
975
+ float xmax, float ymax);
976
+
977
+ HB_EXTERN void
978
+ hb_paint_pop_clip (hb_paint_funcs_t *funcs, void *paint_data);
979
+
980
+ HB_EXTERN void
981
+ hb_paint_color (hb_paint_funcs_t *funcs, void *paint_data,
982
+ hb_bool_t is_foreground,
983
+ hb_color_t color);
984
+
985
+ HB_EXTERN void
986
+ hb_paint_image (hb_paint_funcs_t *funcs, void *paint_data,
987
+ hb_blob_t *image,
988
+ unsigned int width,
989
+ unsigned int height,
990
+ hb_tag_t format,
991
+ float slant,
992
+ hb_glyph_extents_t *extents);
993
+
994
+ HB_EXTERN void
995
+ hb_paint_linear_gradient (hb_paint_funcs_t *funcs, void *paint_data,
996
+ hb_color_line_t *color_line,
997
+ float x0, float y0,
998
+ float x1, float y1,
999
+ float x2, float y2);
1000
+
1001
+ HB_EXTERN void
1002
+ hb_paint_radial_gradient (hb_paint_funcs_t *funcs, void *paint_data,
1003
+ hb_color_line_t *color_line,
1004
+ float x0, float y0,
1005
+ float r0,
1006
+ float x1, float y1,
1007
+ float r1);
1008
+
1009
+ HB_EXTERN void
1010
+ hb_paint_sweep_gradient (hb_paint_funcs_t *funcs, void *paint_data,
1011
+ hb_color_line_t *color_line,
1012
+ float x0, float y0,
1013
+ float start_angle, float end_angle);
1014
+
1015
+ HB_EXTERN void
1016
+ hb_paint_push_group (hb_paint_funcs_t *funcs, void *paint_data);
1017
+
1018
+ HB_EXTERN void
1019
+ hb_paint_pop_group (hb_paint_funcs_t *funcs, void *paint_data,
1020
+ hb_paint_composite_mode_t mode);
1021
+
1022
+ HB_EXTERN hb_bool_t
1023
+ hb_paint_custom_palette_color (hb_paint_funcs_t *funcs, void *paint_data,
1024
+ unsigned int color_index,
1025
+ hb_color_t *color);
1026
+
1027
+ HB_END_DECLS
1028
+
1029
+ #endif /* HB_PAINT_H */