@nativescript/canvas 2.0.0-alpha.2 → 2.0.0-alpha.20

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 (385) hide show
  1. package/Canvas/common.js +63 -32
  2. package/Canvas/common.js.map +1 -1
  3. package/Canvas/index.android.d.ts +10 -0
  4. package/Canvas/index.android.js +88 -27
  5. package/Canvas/index.android.js.map +1 -1
  6. package/Canvas/index.d.ts +5 -0
  7. package/Canvas/index.ios.d.ts +10 -2
  8. package/Canvas/index.ios.js +148 -77
  9. package/Canvas/index.ios.js.map +1 -1
  10. package/Canvas2D/CanvasGradient/index.d.ts +9 -2
  11. package/Canvas2D/CanvasGradient/index.js +23 -2
  12. package/Canvas2D/CanvasGradient/index.js.map +1 -1
  13. package/Canvas2D/CanvasPattern/index.d.ts +9 -2
  14. package/Canvas2D/CanvasPattern/index.js +20 -2
  15. package/Canvas2D/CanvasPattern/index.js.map +1 -1
  16. package/Canvas2D/CanvasRenderingContext2D/index.d.ts +120 -132
  17. package/Canvas2D/CanvasRenderingContext2D/{index.android.js → index.js} +135 -126
  18. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -0
  19. package/Canvas2D/DOMMatrix/index.d.ts +74 -2
  20. package/Canvas2D/DOMMatrix/index.js +180 -2
  21. package/Canvas2D/DOMMatrix/index.js.map +1 -1
  22. package/Canvas2D/ImageData/index.d.ts +15 -2
  23. package/Canvas2D/ImageData/index.js +66 -2
  24. package/Canvas2D/ImageData/index.js.map +1 -1
  25. package/Canvas2D/Path2D/index.d.ts +21 -2
  26. package/Canvas2D/Path2D/index.js +87 -2
  27. package/Canvas2D/Path2D/index.js.map +1 -1
  28. package/Canvas2D/TextMetrics/index.d.ts +17 -2
  29. package/Canvas2D/TextMetrics/index.js +44 -2
  30. package/Canvas2D/TextMetrics/index.js.map +1 -1
  31. package/Dom/Dom.d.ts +10 -0
  32. package/Dom/Dom.js +36 -0
  33. package/Dom/Dom.js.map +1 -0
  34. package/Dom/Fill.d.ts +4 -0
  35. package/Dom/Fill.js +8 -0
  36. package/Dom/Fill.js.map +1 -0
  37. package/Dom/Group.d.ts +21 -0
  38. package/Dom/Group.js +179 -0
  39. package/Dom/Group.js.map +1 -0
  40. package/Dom/Image.d.ts +12 -0
  41. package/Dom/Image.js +33 -0
  42. package/Dom/Image.js.map +1 -0
  43. package/Dom/Paint.d.ts +15 -0
  44. package/Dom/Paint.js +57 -0
  45. package/Dom/Paint.js.map +1 -0
  46. package/Dom/Shadow.d.ts +10 -0
  47. package/Dom/Shadow.js +26 -0
  48. package/Dom/Shadow.js.map +1 -0
  49. package/Dom/Text.d.ts +9 -0
  50. package/Dom/Text.js +50 -0
  51. package/Dom/Text.js.map +1 -0
  52. package/Dom/index.d.ts +8 -0
  53. package/Dom/index.js +9 -0
  54. package/Dom/index.js.map +1 -0
  55. package/Dom/shapes/Circle.d.ts +21 -0
  56. package/Dom/shapes/Circle.js +98 -0
  57. package/Dom/shapes/Circle.js.map +1 -0
  58. package/Dom/shapes/Line.d.ts +9 -0
  59. package/Dom/shapes/Line.js +37 -0
  60. package/Dom/shapes/Line.js.map +1 -0
  61. package/Dom/shapes/Path.d.ts +8 -0
  62. package/Dom/shapes/Path.js +31 -0
  63. package/Dom/shapes/Path.js.map +1 -0
  64. package/Dom/shapes/Points.d.ts +15 -0
  65. package/Dom/shapes/Points.js +20 -0
  66. package/Dom/shapes/Points.js.map +1 -0
  67. package/Dom/shapes/Rect.d.ts +15 -0
  68. package/Dom/shapes/Rect.js +63 -0
  69. package/Dom/shapes/Rect.js.map +1 -0
  70. package/Dom/shapes/RoundedRect.d.ts +12 -0
  71. package/Dom/shapes/RoundedRect.js +96 -0
  72. package/Dom/shapes/RoundedRect.js.map +1 -0
  73. package/Dom/shapes/index.d.ts +6 -0
  74. package/Dom/shapes/index.js +7 -0
  75. package/Dom/shapes/index.js.map +1 -0
  76. package/ImageAsset/index.d.ts +28 -2
  77. package/ImageAsset/index.js +158 -2
  78. package/ImageAsset/index.js.map +1 -1
  79. package/ImageBitmap/{index.android.d.ts → index.d.ts} +3 -2
  80. package/ImageBitmap/{index.android.js → index.js} +32 -10
  81. package/ImageBitmap/index.js.map +1 -0
  82. package/LICENSE +201 -0
  83. package/SVG/SVG.js.map +1 -1
  84. package/TextDecoder/index.d.ts +9 -2
  85. package/TextDecoder/index.js +53 -2
  86. package/TextDecoder/index.js.map +1 -1
  87. package/TextEncoder/index.d.ts +9 -2
  88. package/TextEncoder/index.js +51 -2
  89. package/TextEncoder/index.js.map +1 -1
  90. package/WebGL/WebGLExtensions/index.d.ts +159 -242
  91. package/WebGL/WebGLExtensions/{index.android.js → index.js} +1 -1
  92. package/WebGL/WebGLExtensions/index.js.map +1 -0
  93. package/WebGL/WebGLRenderingContext/index.d.ts +153 -293
  94. package/WebGL/WebGLRenderingContext/{index.android.js → index.js} +37 -14
  95. package/WebGL/WebGLRenderingContext/index.js.map +1 -0
  96. package/WebGL2/WebGL2RenderingContext/common.d.ts +1 -0
  97. package/WebGL2/WebGL2RenderingContext/common.js +3 -0
  98. package/WebGL2/WebGL2RenderingContext/common.js.map +1 -1
  99. package/WebGL2/WebGL2RenderingContext/index.d.ts +101 -455
  100. package/WebGL2/WebGL2RenderingContext/{index.android.js → index.js} +19 -7
  101. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -0
  102. package/angular/esm2020/index.mjs +5 -5
  103. package/angular/fesm2015/nativescript-canvas-angular.mjs +4 -4
  104. package/angular/fesm2015/nativescript-canvas-angular.mjs.map +1 -1
  105. package/angular/fesm2020/nativescript-canvas-angular.mjs +4 -4
  106. package/angular/fesm2020/nativescript-canvas-angular.mjs.map +1 -1
  107. package/angular/package.json +2 -2
  108. package/helpers.js +3 -0
  109. package/helpers.js.map +1 -1
  110. package/package.json +3 -2
  111. package/platforms/android/canvas-release.aar +0 -0
  112. package/platforms/ios/CanvasNative.xcframework/Info.plist +5 -5
  113. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  114. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +134 -1722
  115. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative.h +1 -3
  116. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +142 -0
  117. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  118. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  119. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +5486 -0
  120. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +153 -0
  121. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  122. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +91 -3202
  123. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/module.modulemap +2 -2
  124. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/{TNSCanvas.nib → NSCCanvas.nib} +0 -0
  125. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  126. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  127. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +258 -3444
  128. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative.h +1 -3
  129. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +142 -0
  130. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  131. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  132. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  133. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +5486 -0
  134. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +153 -0
  135. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  136. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +91 -3202
  137. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +5486 -0
  138. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +153 -0
  139. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  140. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +91 -3202
  141. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/module.modulemap +2 -2
  142. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/{TNSCanvas.nib → NSCCanvas.nib} +0 -0
  143. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +49 -93
  144. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  145. package/platforms/ios/Podfile +2 -1
  146. package/platforms/ios/build.xcconfig +5 -0
  147. package/platforms/ios/src/CanvasModule.h +10 -0
  148. package/platforms/ios/src/CanvasModule.mm +14 -0
  149. package/platforms/ios/src/cpp/CanvasJSIModule.h +60 -0
  150. package/platforms/ios/src/cpp/CanvasJSIModule.mm +1105 -0
  151. package/platforms/ios/src/cpp/Helpers.h +63 -0
  152. package/platforms/ios/src/cpp/ImageAssetImpl.h +30 -0
  153. package/platforms/ios/src/cpp/ImageAssetImpl.mm +417 -0
  154. package/platforms/ios/src/cpp/ImageBitmapImpl.h +41 -0
  155. package/platforms/ios/src/cpp/ImageBitmapImpl.mm +126 -0
  156. package/platforms/ios/src/cpp/JSICallback.h +15 -0
  157. package/platforms/ios/src/cpp/JSIReadFileCallback.h +16 -0
  158. package/platforms/ios/src/cpp/OnRafCallback.h +24 -0
  159. package/platforms/ios/src/cpp/OnRafCallback.mm +25 -0
  160. package/platforms/ios/src/cpp/RafImpl.h +27 -0
  161. package/platforms/ios/src/cpp/RafImpl.mm +10 -0
  162. package/platforms/ios/src/cpp/TextDecoderImpl.h +28 -0
  163. package/platforms/ios/src/cpp/TextDecoderImpl.mm +97 -0
  164. package/platforms/ios/src/cpp/TextEncoderImpl.h +28 -0
  165. package/platforms/ios/src/cpp/TextEncoderImpl.mm +60 -0
  166. package/platforms/ios/src/cpp/VecMutableBuffer.h +46 -0
  167. package/platforms/ios/src/cpp/canvas-cxx/src/lib.rs.cc +6156 -0
  168. package/platforms/ios/src/cpp/canvas-cxx/src/lib.rs.h +2867 -0
  169. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +28 -0
  170. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.mm +42 -0
  171. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +29 -0
  172. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.mm +49 -0
  173. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +75 -0
  174. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.mm +1972 -0
  175. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +29 -0
  176. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.mm +68 -0
  177. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +29 -0
  178. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.mm +149 -0
  179. package/platforms/ios/src/cpp/canvas2d/Path2D.h +27 -0
  180. package/platforms/ios/src/cpp/canvas2d/Path2D.mm +335 -0
  181. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +29 -0
  182. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.mm +68 -0
  183. package/platforms/ios/src/cpp/gl.h +29 -0
  184. package/platforms/ios/src/cpp/rust/cxx.cc +793 -0
  185. package/platforms/ios/src/cpp/rust/cxx.h +1111 -0
  186. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +28 -0
  187. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.mm +39 -0
  188. package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +24 -0
  189. package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +24 -0
  190. package/platforms/ios/src/cpp/webgl/WebGLProgram.h +24 -0
  191. package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +24 -0
  192. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +517 -0
  193. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.mm +5958 -0
  194. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.h +90 -0
  195. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.mm +118 -0
  196. package/platforms/ios/src/cpp/webgl/WebGLShader.h +24 -0
  197. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +28 -0
  198. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.mm +40 -0
  199. package/platforms/ios/src/cpp/webgl/WebGLTexture.h +23 -0
  200. package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +28 -0
  201. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +28 -0
  202. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.mm +108 -0
  203. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +16 -0
  204. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.mm +28 -0
  205. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +17 -0
  206. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.mm +42 -0
  207. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +28 -0
  208. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.mm +295 -0
  209. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +18 -0
  210. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.mm +40 -0
  211. package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +29 -0
  212. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +18 -0
  213. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.mm +37 -0
  214. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +18 -0
  215. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.mm +28 -0
  216. package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +30 -0
  217. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +18 -0
  218. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.mm +31 -0
  219. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +30 -0
  220. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +31 -0
  221. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +18 -0
  222. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.mm +28 -0
  223. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +30 -0
  224. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +32 -0
  225. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.mm +127 -0
  226. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +20 -0
  227. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.mm +45 -0
  228. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +18 -0
  229. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.mm +45 -0
  230. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +18 -0
  231. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.mm +31 -0
  232. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +18 -0
  233. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.mm +70 -0
  234. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +18 -0
  235. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.mm +47 -0
  236. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +18 -0
  237. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.mm +46 -0
  238. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +19 -0
  239. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.mm +49 -0
  240. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +19 -0
  241. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.mm +30 -0
  242. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +31 -0
  243. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.mm +177 -0
  244. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +31 -0
  245. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.mm +64 -0
  246. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +431 -0
  247. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.mm +4551 -0
  248. package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +21 -0
  249. package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +21 -0
  250. package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +24 -0
  251. package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +21 -0
  252. package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +21 -0
  253. package/platforms/ios/src/module.modulemap +4 -0
  254. package/Canvas2D/CanvasGradient/CanvasGradient.android.d.ts +0 -10
  255. package/Canvas2D/CanvasGradient/CanvasGradient.android.js +0 -26
  256. package/Canvas2D/CanvasGradient/CanvasGradient.android.js.map +0 -1
  257. package/Canvas2D/CanvasGradient/CanvasGradient.d.ts +0 -12
  258. package/Canvas2D/CanvasGradient/CanvasGradient.ios.d.ts +0 -8
  259. package/Canvas2D/CanvasGradient/CanvasGradient.ios.js +0 -19
  260. package/Canvas2D/CanvasGradient/CanvasGradient.ios.js.map +0 -1
  261. package/Canvas2D/CanvasGradient/common.d.ts +0 -3
  262. package/Canvas2D/CanvasGradient/common.js +0 -3
  263. package/Canvas2D/CanvasGradient/common.js.map +0 -1
  264. package/Canvas2D/CanvasPattern/CanvasPattern.android.d.ts +0 -8
  265. package/Canvas2D/CanvasPattern/CanvasPattern.android.js +0 -20
  266. package/Canvas2D/CanvasPattern/CanvasPattern.android.js.map +0 -1
  267. package/Canvas2D/CanvasPattern/CanvasPattern.d.ts +0 -8
  268. package/Canvas2D/CanvasPattern/CanvasPattern.ios.d.ts +0 -6
  269. package/Canvas2D/CanvasPattern/CanvasPattern.ios.js +0 -10
  270. package/Canvas2D/CanvasPattern/CanvasPattern.ios.js.map +0 -1
  271. package/Canvas2D/CanvasPattern/common.d.ts +0 -7
  272. package/Canvas2D/CanvasPattern/common.js +0 -9
  273. package/Canvas2D/CanvasPattern/common.js.map +0 -1
  274. package/Canvas2D/CanvasRenderingContext2D/common.d.ts +0 -87
  275. package/Canvas2D/CanvasRenderingContext2D/common.js +0 -12
  276. package/Canvas2D/CanvasRenderingContext2D/common.js.map +0 -1
  277. package/Canvas2D/CanvasRenderingContext2D/index.android.d.ts +0 -112
  278. package/Canvas2D/CanvasRenderingContext2D/index.android.js.map +0 -1
  279. package/Canvas2D/CanvasRenderingContext2D/index.ios.d.ts +0 -110
  280. package/Canvas2D/CanvasRenderingContext2D/index.ios.js +0 -897
  281. package/Canvas2D/CanvasRenderingContext2D/index.ios.js.map +0 -1
  282. package/Canvas2D/DOMMatrix/DOMMatrix.android.d.ts +0 -72
  283. package/Canvas2D/DOMMatrix/DOMMatrix.android.js +0 -177
  284. package/Canvas2D/DOMMatrix/DOMMatrix.android.js.map +0 -1
  285. package/Canvas2D/DOMMatrix/DOMMatrix.d.ts +0 -30
  286. package/Canvas2D/DOMMatrix/DOMMatrix.ios.d.ts +0 -48
  287. package/Canvas2D/DOMMatrix/DOMMatrix.ios.js +0 -142
  288. package/Canvas2D/DOMMatrix/DOMMatrix.ios.js.map +0 -1
  289. package/Canvas2D/DOMMatrix/common.d.ts +0 -27
  290. package/Canvas2D/DOMMatrix/common.js +0 -9
  291. package/Canvas2D/DOMMatrix/common.js.map +0 -1
  292. package/Canvas2D/ImageData/ImageData.android.d.ts +0 -9
  293. package/Canvas2D/ImageData/ImageData.android.js +0 -65
  294. package/Canvas2D/ImageData/ImageData.android.js.map +0 -1
  295. package/Canvas2D/ImageData/ImageData.d.ts +0 -11
  296. package/Canvas2D/ImageData/ImageData.ios.d.ts +0 -10
  297. package/Canvas2D/ImageData/ImageData.ios.js +0 -45
  298. package/Canvas2D/ImageData/ImageData.ios.js.map +0 -1
  299. package/Canvas2D/ImageData/common.d.ts +0 -9
  300. package/Canvas2D/ImageData/common.js +0 -13
  301. package/Canvas2D/ImageData/common.js.map +0 -1
  302. package/Canvas2D/Path2D/Path2D.android.d.ts +0 -18
  303. package/Canvas2D/Path2D/Path2D.android.js +0 -83
  304. package/Canvas2D/Path2D/Path2D.android.js.map +0 -1
  305. package/Canvas2D/Path2D/Path2D.d.ts +0 -26
  306. package/Canvas2D/Path2D/Path2D.ios.d.ts +0 -15
  307. package/Canvas2D/Path2D/Path2D.ios.js +0 -55
  308. package/Canvas2D/Path2D/Path2D.ios.js.map +0 -1
  309. package/Canvas2D/Path2D/common.d.ts +0 -17
  310. package/Canvas2D/Path2D/common.js +0 -12
  311. package/Canvas2D/Path2D/common.js.map +0 -1
  312. package/Canvas2D/TextMetrics/TextMetrics.android.d.ts +0 -16
  313. package/Canvas2D/TextMetrics/TextMetrics.android.js +0 -43
  314. package/Canvas2D/TextMetrics/TextMetrics.android.js.map +0 -1
  315. package/Canvas2D/TextMetrics/TextMetrics.d.ts +0 -7
  316. package/Canvas2D/TextMetrics/TextMetrics.ios.d.ts +0 -16
  317. package/Canvas2D/TextMetrics/TextMetrics.ios.js +0 -43
  318. package/Canvas2D/TextMetrics/TextMetrics.ios.js.map +0 -1
  319. package/Canvas2D/TextMetrics/common.d.ts +0 -18
  320. package/Canvas2D/TextMetrics/common.js +0 -13
  321. package/Canvas2D/TextMetrics/common.js.map +0 -1
  322. package/ImageAsset/ImageAsset.android.d.ts +0 -20
  323. package/ImageAsset/ImageAsset.android.js +0 -149
  324. package/ImageAsset/ImageAsset.android.js.map +0 -1
  325. package/ImageAsset/ImageAsset.d.ts +0 -31
  326. package/ImageAsset/ImageAsset.ios.d.ts +0 -22
  327. package/ImageAsset/ImageAsset.ios.js +0 -114
  328. package/ImageAsset/ImageAsset.ios.js.map +0 -1
  329. package/ImageAsset/common.d.ts +0 -13
  330. package/ImageAsset/common.js +0 -21
  331. package/ImageAsset/common.js.map +0 -1
  332. package/ImageBitmap/common.d.ts +0 -8
  333. package/ImageBitmap/common.js +0 -9
  334. package/ImageBitmap/common.js.map +0 -1
  335. package/ImageBitmap/index.android.js.map +0 -1
  336. package/ImageBitmap/index.ios.d.ts +0 -12
  337. package/ImageBitmap/index.ios.js +0 -283
  338. package/ImageBitmap/index.ios.js.map +0 -1
  339. package/TextDecoder/TextDecoder.android.d.ts +0 -8
  340. package/TextDecoder/TextDecoder.android.js +0 -52
  341. package/TextDecoder/TextDecoder.android.js.map +0 -1
  342. package/TextDecoder/TextDecoder.d.ts +0 -10
  343. package/TextDecoder/TextDecoder.ios.d.ts +0 -6
  344. package/TextDecoder/TextDecoder.ios.js +0 -37
  345. package/TextDecoder/TextDecoder.ios.js.map +0 -1
  346. package/TextDecoder/common.d.ts +0 -8
  347. package/TextDecoder/common.js +0 -13
  348. package/TextDecoder/common.js.map +0 -1
  349. package/TextEncoder/TextEncoder.android.d.ts +0 -8
  350. package/TextEncoder/TextEncoder.android.js +0 -50
  351. package/TextEncoder/TextEncoder.android.js.map +0 -1
  352. package/TextEncoder/TextEncoder.d.ts +0 -10
  353. package/TextEncoder/TextEncoder.ios.d.ts +0 -6
  354. package/TextEncoder/TextEncoder.ios.js +0 -14
  355. package/TextEncoder/TextEncoder.ios.js.map +0 -1
  356. package/TextEncoder/common.d.ts +0 -7
  357. package/TextEncoder/common.js +0 -9
  358. package/TextEncoder/common.js.map +0 -1
  359. package/WebGL/WebGLExtensions/index.android.d.ts +0 -209
  360. package/WebGL/WebGLExtensions/index.android.js.map +0 -1
  361. package/WebGL/WebGLExtensions/index.ios.d.ts +0 -192
  362. package/WebGL/WebGLExtensions/index.ios.js +0 -250
  363. package/WebGL/WebGLExtensions/index.ios.js.map +0 -1
  364. package/WebGL/WebGLRenderingContext/index.android.d.ts +0 -165
  365. package/WebGL/WebGLRenderingContext/index.android.js.map +0 -1
  366. package/WebGL/WebGLRenderingContext/index.ios.d.ts +0 -163
  367. package/WebGL/WebGLRenderingContext/index.ios.js +0 -1168
  368. package/WebGL/WebGLRenderingContext/index.ios.js.map +0 -1
  369. package/WebGL2/WebGL2RenderingContext/index.android.d.ts +0 -103
  370. package/WebGL2/WebGL2RenderingContext/index.android.js.map +0 -1
  371. package/WebGL2/WebGL2RenderingContext/index.ios.d.ts +0 -102
  372. package/WebGL2/WebGL2RenderingContext/index.ios.js +0 -618
  373. package/WebGL2/WebGL2RenderingContext/index.ios.js.map +0 -1
  374. package/angular/nativescript-canvas-angular.d.ts +0 -5
  375. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/Utils.h +0 -26
  376. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64.swiftsourceinfo +0 -0
  377. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64.swiftdoc +0 -0
  378. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64.swiftinterface +0 -3264
  379. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/Utils.h +0 -26
  380. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64.swiftsourceinfo +0 -0
  381. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64.swiftsourceinfo +0 -0
  382. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64.swiftdoc +0 -0
  383. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64.swiftinterface +0 -3264
  384. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64.swiftdoc +0 -0
  385. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64.swiftinterface +0 -3264
@@ -0,0 +1,90 @@
1
+ //
2
+ // Created by Osei Fortune on 30/04/2022.
3
+ //
4
+
5
+ #pragma once
6
+ #pragma process_pending_includes
7
+
8
+ #import <NativeScript/JSIRuntime.h>
9
+ #include "rust/cxx.h"
10
+ #include <vector>
11
+ #include <cstdint>
12
+ #include <memory>
13
+ #include "canvas-cxx/src/lib.rs.h"
14
+
15
+ #include "Helpers.h"
16
+ #include "RafImpl.h"
17
+ #include "OnRafCallback.h"
18
+ #include "gl.h"
19
+
20
+ enum class WebGLRenderingVersion : uint8_t {
21
+ V1,
22
+ V2
23
+ };
24
+
25
+ using namespace facebook;
26
+ using namespace org::nativescript::canvas;
27
+
28
+ class WebGLRenderingContextBase : public jsi::HostObject {
29
+ public:
30
+ WebGLRenderingContextBase(rust::Box<WebGLState> state, WebGLRenderingVersion version);
31
+
32
+ ~WebGLRenderingContextBase();
33
+
34
+ void UpdateInvalidateState();
35
+
36
+ int GetInvalidateState() const;
37
+
38
+ void SetInvalidateState(int state);
39
+
40
+ void SetInvalidateState(InvalidateState state);
41
+
42
+ void Flush();
43
+
44
+ static void Flush(intptr_t context);
45
+
46
+ WebGLState &GetState();
47
+
48
+ void SetRaf(std::shared_ptr<RafImpl> raf);
49
+
50
+ RafImpl *GetRaf();
51
+
52
+ WebGLRenderingVersion GetVersion() const;
53
+
54
+ int GetDisplayFramebuffer(){
55
+ return displayFramebuffer_;
56
+ }
57
+
58
+ int GetDisplayRenderbuffer(){
59
+ return displayRenderbuffer_;
60
+ }
61
+
62
+ void StartRaf();
63
+ void StopRaf();
64
+
65
+ void UpdateBindings(){
66
+ auto displayFramebuffer = canvas_native_webgl_get_parameter(GL_FRAMEBUFFER_BINDING, *state_);
67
+
68
+ auto displayRenderbuffer = canvas_native_webgl_get_parameter(GL_RENDERER, *state_);
69
+
70
+ if(!canvas_native_webgl_result_get_is_none(*displayFramebuffer)){
71
+ displayFramebuffer_ = canvas_native_webgl_result_get_i32(*displayFramebuffer);
72
+ }
73
+
74
+ if(!canvas_native_webgl_result_get_is_none(*displayRenderbuffer)){
75
+ displayRenderbuffer_ = canvas_native_webgl_result_get_i32(*displayRenderbuffer);
76
+ }
77
+ }
78
+
79
+ private:
80
+ rust::Box<WebGLState> state_;
81
+
82
+ WebGLRenderingVersion version_;
83
+
84
+ int invalidateState_ = static_cast<int>(InvalidateState::NONE);
85
+
86
+ std::shared_ptr<RafImpl> raf_;
87
+ int displayFramebuffer_;
88
+ int displayRenderbuffer_;
89
+ };
90
+
@@ -0,0 +1,118 @@
1
+ //
2
+ // Created by Osei Fortune on 30/04/2022.
3
+ //
4
+
5
+ #include "WebGLRenderingContextBase.h"
6
+
7
+ WebGLRenderingContextBase::WebGLRenderingContextBase(rust::Box<WebGLState> state,
8
+ WebGLRenderingVersion version)
9
+ : state_(std::move(state)), version_(version) {
10
+
11
+
12
+ auto ctx_ptr = reinterpret_cast<intptr_t>(reinterpret_cast<intptr_t *>(this));
13
+ auto raf_callback = new OnRafCallback(
14
+ ctx_ptr,
15
+ version == WebGLRenderingVersion::V2 ? 2 : 1);
16
+ auto raf_callback_ptr = reinterpret_cast<intptr_t>(reinterpret_cast<intptr_t *>(raf_callback));
17
+ auto raf = canvas_native_raf_create(
18
+ raf_callback_ptr);
19
+ this->SetRaf(
20
+ std::make_shared<RafImpl>(
21
+ raf_callback,
22
+ raf_callback_ptr,
23
+ std::move(
24
+ raf)));
25
+
26
+ auto _raf = this->GetRaf();
27
+
28
+ if (_raf != nullptr) {
29
+ canvas_native_raf_start(_raf->GetRaf());
30
+ }
31
+
32
+ UpdateBindings();
33
+ }
34
+
35
+
36
+ void WebGLRenderingContextBase::StartRaf() {
37
+ auto raf = this->GetRaf();
38
+ if (raf != nullptr) {
39
+ if (!canvas_native_raf_get_started(raf->GetRaf())) {
40
+ canvas_native_raf_start(raf->GetRaf());
41
+ }
42
+ }
43
+ }
44
+
45
+
46
+ void WebGLRenderingContextBase::StopRaf() {
47
+ auto raf = this->GetRaf();
48
+ if (raf != nullptr) {
49
+ if (canvas_native_raf_get_started(raf->GetRaf())) {
50
+ canvas_native_raf_stop(raf->GetRaf());
51
+ }
52
+ }
53
+ }
54
+
55
+ void WebGLRenderingContextBase::UpdateInvalidateState() {
56
+ auto raf = this->GetRaf();
57
+ if (raf != nullptr) {
58
+ if (!canvas_native_raf_get_started(raf->GetRaf())) {
59
+ canvas_native_raf_start(raf->GetRaf());
60
+ }
61
+ }
62
+ auto state = this->GetInvalidateState();
63
+ this->SetInvalidateState(state | (int) InvalidateState::PENDING);
64
+ }
65
+
66
+ void WebGLRenderingContextBase::Flush() {
67
+ auto state = this->GetInvalidateState() & (int) InvalidateState::PENDING;
68
+ if (state == (int) InvalidateState::PENDING) {
69
+ this->SetInvalidateState((int) InvalidateState::INVALIDATING);
70
+ canvas_native_webgl_make_current(this->GetState());
71
+ canvas_native_webgl_swap_buffers(this->GetState());
72
+ this->SetInvalidateState((int) InvalidateState::NONE);
73
+ }
74
+ }
75
+
76
+ void WebGLRenderingContextBase::Flush(intptr_t context) {
77
+ auto ctx = reinterpret_cast<WebGLRenderingContextBase *>(reinterpret_cast<intptr_t *>(context));
78
+ if (ctx != nullptr) {
79
+ ctx->Flush();
80
+ }
81
+ }
82
+
83
+ WebGLState &WebGLRenderingContextBase::GetState() {
84
+ return *this->state_;
85
+ }
86
+
87
+ void WebGLRenderingContextBase::SetRaf(std::shared_ptr<RafImpl> raf) {
88
+ this->raf_ = std::move(raf);
89
+ }
90
+
91
+ RafImpl *WebGLRenderingContextBase::GetRaf() {
92
+ return this->raf_.get();
93
+ }
94
+
95
+ void WebGLRenderingContextBase::SetInvalidateState(InvalidateState state) {
96
+ this->invalidateState_ = (int) state;
97
+ }
98
+
99
+
100
+ void WebGLRenderingContextBase::SetInvalidateState(int state) {
101
+ this->invalidateState_ = state;
102
+ }
103
+
104
+ int WebGLRenderingContextBase::GetInvalidateState() const {
105
+ return this->invalidateState_;
106
+ }
107
+
108
+ WebGLRenderingVersion WebGLRenderingContextBase::GetVersion() const {
109
+ return this->version_;
110
+ }
111
+
112
+ WebGLRenderingContextBase::~WebGLRenderingContextBase() {
113
+ auto _raf = this->GetRaf();
114
+ if (_raf != nullptr) {
115
+ canvas_native_raf_stop(
116
+ _raf->GetRaf());
117
+ }
118
+ }
@@ -0,0 +1,24 @@
1
+ //
2
+ // Created by Osei Fortune on 27/04/2022.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ #include "rust/cxx.h"
8
+ #include "canvas-cxx/src/lib.rs.h"
9
+ #import <NativeScript/JSIRuntime.h>
10
+
11
+ using namespace facebook;
12
+
13
+ class JSI_EXPORT WebGLShader : public jsi::HostObject {
14
+ public:
15
+ WebGLShader(uint32_t shader) : shader_(shader) {}
16
+
17
+ uint32_t GetShader() {
18
+ return this->shader_;
19
+ }
20
+
21
+ private:
22
+ uint32_t shader_;
23
+ };
24
+
@@ -0,0 +1,28 @@
1
+ //
2
+ // Created by Osei Fortune on 27/04/2022.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ #include "rust/cxx.h"
8
+ #include "canvas-cxx/src/lib.rs.h"
9
+ #import <NativeScript/JSIRuntime.h>
10
+ #include <vector>
11
+
12
+ using namespace facebook;
13
+ using namespace org::nativescript::canvas;
14
+
15
+ class WebGLShaderPrecisionFormatImpl : public jsi::HostObject {
16
+ public:
17
+ WebGLShaderPrecisionFormatImpl(rust::Box<WebGLShaderPrecisionFormat> shader);
18
+
19
+ jsi::Value get(jsi::Runtime &, const jsi::PropNameID &name) override;
20
+
21
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime &rt) override;
22
+
23
+ WebGLShaderPrecisionFormat &GetShaderPrecisionFormat();
24
+
25
+ private:
26
+ rust::Box<WebGLShaderPrecisionFormat> shader_;
27
+ };
28
+
@@ -0,0 +1,40 @@
1
+ //
2
+ // Created by Osei Fortune on 27/04/2022.
3
+ //
4
+
5
+ #include "WebGLShaderPrecisionFormatImpl.h"
6
+
7
+ WebGLShaderPrecisionFormatImpl::WebGLShaderPrecisionFormatImpl(
8
+ rust::Box<WebGLShaderPrecisionFormat> shader) : shader_(
9
+ std::move(shader)) {}
10
+
11
+ std::vector<jsi::PropNameID> WebGLShaderPrecisionFormatImpl::getPropertyNames(jsi::Runtime &rt) {
12
+ std::vector<jsi::PropNameID> ret;
13
+ ret.reserve(3);
14
+ ret.emplace_back(jsi::PropNameID::forUtf8(rt, std::string("rangeMin")));
15
+ ret.emplace_back(jsi::PropNameID::forUtf8(rt, std::string("rangeMax")));
16
+ ret.emplace_back(jsi::PropNameID::forUtf8(rt, std::string("precision")));
17
+ return ret;
18
+ }
19
+
20
+ jsi::Value WebGLShaderPrecisionFormatImpl::get(jsi::Runtime &runtime, const jsi::PropNameID &name) {
21
+ auto methodName = name.utf8(runtime);
22
+
23
+ if (methodName == "rangeMin") {
24
+ return {canvas_native_webgl_shader_precision_format_get_range_min(
25
+ this->GetShaderPrecisionFormat())};
26
+ } else if (methodName == "rangeMax") {
27
+ return {canvas_native_webgl_shader_precision_format_get_range_max(
28
+ this->GetShaderPrecisionFormat())};
29
+ } else if (methodName == "precision") {
30
+ return {canvas_native_webgl_shader_precision_format_get_precision(
31
+ this->GetShaderPrecisionFormat())};
32
+ }
33
+
34
+ return jsi::Value::undefined();
35
+ }
36
+
37
+
38
+ WebGLShaderPrecisionFormat &WebGLShaderPrecisionFormatImpl::GetShaderPrecisionFormat() {
39
+ return *this->shader_;
40
+ }
@@ -0,0 +1,23 @@
1
+ //
2
+ // Created by Osei Fortune on 27/04/2022.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ #include "rust/cxx.h"
8
+ #include "canvas-cxx/src/lib.rs.h"
9
+ #import <NativeScript/JSIRuntime.h>
10
+
11
+ using namespace facebook;
12
+
13
+ class JSI_EXPORT WebGLTexture : public jsi::HostObject {
14
+ public:
15
+ WebGLTexture(uint32_t texture) : texture_(texture) {}
16
+
17
+ uint32_t GetTexture() {
18
+ return this->texture_;
19
+ }
20
+
21
+ private:
22
+ uint32_t texture_;
23
+ };
@@ -0,0 +1,28 @@
1
+ //
2
+ // Created by Osei Fortune on 27/04/2022.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ #include "rust/cxx.h"
8
+ #include "canvas-cxx/src/lib.rs.h"
9
+ #import <NativeScript/JSIRuntime.h>
10
+
11
+ using namespace facebook;
12
+
13
+
14
+ class JSI_EXPORT WebGLUniformLocation
15
+
16
+ : public jsi::HostObject {
17
+ public:
18
+ WebGLUniformLocation(int32_t
19
+ uniformLocation) :
20
+ uniformLocation_(uniformLocation) {}
21
+
22
+ int32_t GetUniformLocation() {
23
+ return this->uniformLocation_;
24
+ }
25
+
26
+ private:
27
+ int32_t uniformLocation_;
28
+ };
@@ -0,0 +1,28 @@
1
+ //
2
+ // Created by Osei Fortune on 29/04/2022.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ #include "rust/cxx.h"
8
+ #include "canvas-cxx/src/lib.rs.h"
9
+ #import <NativeScript/JSIRuntime.h>
10
+ #include <vector>
11
+
12
+ using namespace facebook;
13
+ using namespace org::nativescript::canvas;
14
+
15
+ class JSI_EXPORT ANGLE_instanced_arraysImpl : public jsi::HostObject {
16
+ public:
17
+ ANGLE_instanced_arraysImpl(rust::Box<ANGLE_instanced_arrays> arrays);
18
+
19
+ jsi::Value get(jsi::Runtime &, const jsi::PropNameID &name) override;
20
+
21
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime &rt) override;
22
+
23
+ ANGLE_instanced_arrays &GetArrays();
24
+
25
+ private:
26
+ rust::Box<ANGLE_instanced_arrays> arrays_;
27
+ };
28
+
@@ -0,0 +1,108 @@
1
+ //
2
+ // Created by Osei Fortune on 29/04/2022.
3
+ //
4
+
5
+ #include "ANGLE_instanced_arraysImpl.h"
6
+
7
+ ANGLE_instanced_arraysImpl::ANGLE_instanced_arraysImpl(rust::Box<ANGLE_instanced_arrays> arrays)
8
+ : arrays_(
9
+ std::move(arrays)) {}
10
+
11
+ std::vector<jsi::PropNameID> ANGLE_instanced_arraysImpl::getPropertyNames(jsi::Runtime &rt) {
12
+ std::vector<jsi::PropNameID> ret;
13
+ ret.reserve(5);
14
+ ret.emplace_back(jsi::PropNameID::forUtf8(rt, std::string("drawArraysInstancedANGLE")));
15
+ ret.emplace_back(jsi::PropNameID::forUtf8(rt, std::string("drawElementsInstancedANGLE")));
16
+ ret.emplace_back(jsi::PropNameID::forUtf8(rt, std::string("vertexAttribDivisorANGLE")));
17
+ ret.emplace_back(
18
+ jsi::PropNameID::forUtf8(rt, std::string("VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE")));
19
+ ret.emplace_back(
20
+ jsi::PropNameID::forUtf8(rt, std::string("ext_name")));
21
+ return ret;
22
+ }
23
+
24
+ jsi::Value ANGLE_instanced_arraysImpl::get(jsi::Runtime &runtime, const jsi::PropNameID &name) {
25
+ auto methodName = name.utf8(runtime);
26
+ if (methodName == "ext_name") {
27
+ return jsi::String::createFromAscii(runtime, "ANGLE_instanced_arrays");
28
+ }
29
+ if (methodName == "VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE") {
30
+ return {0x88FE};
31
+ }
32
+ if (methodName == "drawArraysInstancedANGLE") {
33
+ return jsi::Function::createFromHostFunction(runtime,
34
+ jsi::PropNameID::forAscii(runtime, methodName),
35
+ 4,
36
+ [this](jsi::Runtime &runtime,
37
+ const jsi::Value &thisValue,
38
+ const jsi::Value *arguments,
39
+ size_t count) -> jsi::Value {
40
+ auto mode = (uint32_t) arguments[0].asNumber();
41
+ auto first = (int32_t) arguments[1].asNumber();
42
+ auto count_ = (int32_t) arguments[2].asNumber();
43
+ auto primcount = (int32_t) arguments[3].asNumber();
44
+
45
+ canvas_native_webgl_angle_instanced_arrays_draw_arrays_instanced_angle(
46
+ mode,
47
+ first,
48
+ count_,
49
+ primcount,
50
+ this->GetArrays()
51
+ );
52
+
53
+ return jsi::Value::undefined();
54
+ }
55
+ );
56
+ } else if (methodName == "drawElementsInstancedANGLE") {
57
+ return jsi::Function::createFromHostFunction(runtime,
58
+ jsi::PropNameID::forAscii(runtime, methodName),
59
+ 5,
60
+ [this](jsi::Runtime &runtime,
61
+ const jsi::Value &thisValue,
62
+ const jsi::Value *arguments,
63
+ size_t count) -> jsi::Value {
64
+
65
+ auto mode = (uint32_t) arguments[0].asNumber();
66
+ auto count_ = (int32_t) arguments[1].asNumber();
67
+ auto type = (uint32_t) arguments[2].asNumber();
68
+ auto offset = (int32_t) arguments[3].asNumber();
69
+ auto primcount = (int32_t) arguments[4].asNumber();
70
+ canvas_native_webgl_angle_instanced_arrays_draw_elements_instanced_angle(
71
+ mode,
72
+ count_,
73
+ type,
74
+ offset,
75
+ primcount,
76
+ this->GetArrays()
77
+ );
78
+
79
+ return jsi::Value::undefined();
80
+ }
81
+ );
82
+ } else if (methodName == "vertexAttribDivisorANGLE") {
83
+ return jsi::Function::createFromHostFunction(runtime,
84
+ jsi::PropNameID::forAscii(runtime, methodName),
85
+ 2,
86
+ [this](jsi::Runtime &runtime,
87
+ const jsi::Value &thisValue,
88
+ const jsi::Value *arguments,
89
+ size_t count) -> jsi::Value {
90
+
91
+ auto index = (u_int32_t) arguments[0].asNumber();
92
+ auto divisor = (u_int32_t) arguments[1].asNumber();
93
+ canvas_native_webgl_angle_instanced_arrays_vertex_attrib_divisor_angle(
94
+ index,
95
+ divisor,
96
+ this->GetArrays()
97
+ );
98
+
99
+ return jsi::Value::undefined();
100
+ }
101
+ );
102
+ }
103
+ return jsi::Value::undefined();
104
+ }
105
+
106
+ ANGLE_instanced_arrays &ANGLE_instanced_arraysImpl::GetArrays() {
107
+ return *this->arrays_;
108
+ }
@@ -0,0 +1,16 @@
1
+ //
2
+ // Created by Osei Fortune on 28/04/2022.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ #import <NativeScript/JSIRuntime.h>
8
+ #include <vector>
9
+
10
+ using namespace facebook;
11
+
12
+ class JSI_EXPORT EXT_blend_minmaxImpl : public jsi::HostObject {
13
+ jsi::Value get(jsi::Runtime &, const jsi::PropNameID &name) override;
14
+
15
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime &rt) override;
16
+ };
@@ -0,0 +1,28 @@
1
+ //
2
+ // Created by Osei Fortune on 28/04/2022.
3
+ //
4
+
5
+ #include "EXT_blend_minmaxImpl.h"
6
+
7
+ std::vector<jsi::PropNameID> EXT_blend_minmaxImpl::getPropertyNames(jsi::Runtime &rt) {
8
+ std::vector<jsi::PropNameID> ret;
9
+ ret.reserve(3);
10
+ ret.emplace_back(jsi::PropNameID::forUtf8(rt, std::string("MIN_EXT")));
11
+ ret.emplace_back(jsi::PropNameID::forUtf8(rt, std::string("MAX_EXT")));
12
+ ret.emplace_back(
13
+ jsi::PropNameID::forUtf8(rt, std::string("ext_name")));
14
+ return ret;
15
+ }
16
+
17
+ jsi::Value EXT_blend_minmaxImpl::get(jsi::Runtime &runtime, const jsi::PropNameID &name) {
18
+ auto methodName = name.utf8(runtime);
19
+ if (methodName == "ext_name") {
20
+ return jsi::String::createFromAscii(runtime,"EXT_blend_minmax");
21
+ }
22
+ if (methodName == "MIN_EXT") {
23
+ return {0x8007};
24
+ } else if (methodName == "MAX_EXT") {
25
+ return {0x8008};
26
+ }
27
+ return jsi::Value::undefined();
28
+ }
@@ -0,0 +1,17 @@
1
+ //
2
+ // Created by Osei Fortune on 28/04/2022.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ #import <NativeScript/JSIRuntime.h>
8
+ #include <vector>
9
+
10
+ using namespace facebook;
11
+
12
+ class JSI_EXPORT EXT_color_buffer_half_floatImpl : public jsi::HostObject {
13
+ jsi::Value get(jsi::Runtime &, const jsi::PropNameID &name) override;
14
+
15
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime &rt) override;
16
+ };
17
+
@@ -0,0 +1,42 @@
1
+ //
2
+ // Created by Osei Fortune on 28/04/2022.
3
+ //
4
+
5
+ #include "EXT_color_buffer_half_floatImpl.h"
6
+
7
+
8
+ std::vector<jsi::PropNameID> EXT_color_buffer_half_floatImpl::getPropertyNames(jsi::Runtime &rt) {
9
+ std::vector<jsi::PropNameID> ret;
10
+ ret.reserve(5);
11
+ ret.emplace_back(jsi::PropNameID::forUtf8(rt, std::string("RGBA16F_EXT")));
12
+ ret.emplace_back(jsi::PropNameID::forUtf8(rt, std::string("RGB16F_EXT")));
13
+ ret.emplace_back(
14
+ jsi::PropNameID::forUtf8(rt, std::string("FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT")));
15
+ ret.emplace_back(jsi::PropNameID::forUtf8(rt, std::string("UNSIGNED_NORMALIZED_EXT")));
16
+
17
+ ret.emplace_back(
18
+ jsi::PropNameID::forUtf8(rt, std::string("ext_name")));
19
+
20
+ return ret;
21
+ }
22
+
23
+ jsi::Value
24
+ EXT_color_buffer_half_floatImpl::get(jsi::Runtime &runtime, const jsi::PropNameID &name) {
25
+ auto methodName = name.utf8(runtime);
26
+
27
+ if (methodName == "ext_name") {
28
+ return jsi::String::createFromAscii(runtime,"EXT_color_buffer_half_float");
29
+ }
30
+
31
+ if (methodName == "RGBA16F_EXT") {
32
+ return {0x881A};
33
+ } else if (methodName == "RGB16F_EXT") {
34
+ return {0x881B};
35
+ } else if (methodName == "FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT") {
36
+ return {0x8211};
37
+ } else if (methodName == "UNSIGNED_NORMALIZED_EXT") {
38
+ return {0x8C17};
39
+ }
40
+
41
+ return jsi::Value::undefined();
42
+ }
@@ -0,0 +1,28 @@
1
+ //
2
+ // Created by Osei Fortune on 28/04/2022.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ #include "rust/cxx.h"
8
+ #include "canvas-cxx/src/lib.rs.h"
9
+ #import <NativeScript/JSIRuntime.h>
10
+ #include "webgl2/WebGLQuery.h"
11
+ #include <vector>
12
+
13
+ using namespace facebook;
14
+ using namespace org::nativescript::canvas;
15
+
16
+ class JSI_EXPORT EXT_disjoint_timer_queryImpl : public jsi::HostObject {
17
+ public:
18
+ EXT_disjoint_timer_queryImpl(rust::Box<EXT_disjoint_timer_query> query);
19
+
20
+ jsi::Value get(jsi::Runtime &, const jsi::PropNameID &name) override;
21
+
22
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime &rt) override;
23
+
24
+ EXT_disjoint_timer_query &GetQuery();
25
+
26
+ private:
27
+ rust::Box<EXT_disjoint_timer_query> query_;
28
+ };