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

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 (388) hide show
  1. package/Canvas/common.d.ts +2 -0
  2. package/Canvas/common.js +69 -32
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.d.ts +8 -0
  5. package/Canvas/index.android.js +76 -29
  6. package/Canvas/index.android.js.map +1 -1
  7. package/Canvas/index.d.ts +12 -0
  8. package/Canvas/index.ios.d.ts +8 -2
  9. package/Canvas/index.ios.js +129 -77
  10. package/Canvas/index.ios.js.map +1 -1
  11. package/Canvas2D/CanvasGradient/index.d.ts +7 -2
  12. package/Canvas2D/CanvasGradient/index.js +14 -2
  13. package/Canvas2D/CanvasGradient/index.js.map +1 -1
  14. package/Canvas2D/CanvasPattern/index.d.ts +7 -2
  15. package/Canvas2D/CanvasPattern/index.js +11 -2
  16. package/Canvas2D/CanvasPattern/index.js.map +1 -1
  17. package/Canvas2D/CanvasRenderingContext2D/index.d.ts +118 -132
  18. package/Canvas2D/CanvasRenderingContext2D/{index.android.js → index.js} +229 -238
  19. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -0
  20. package/Canvas2D/DOMMatrix/index.d.ts +74 -2
  21. package/Canvas2D/DOMMatrix/index.js +180 -2
  22. package/Canvas2D/DOMMatrix/index.js.map +1 -1
  23. package/Canvas2D/ImageData/index.d.ts +15 -2
  24. package/Canvas2D/ImageData/index.js +66 -2
  25. package/Canvas2D/ImageData/index.js.map +1 -1
  26. package/Canvas2D/Path2D/index.d.ts +19 -2
  27. package/Canvas2D/Path2D/index.js +82 -2
  28. package/Canvas2D/Path2D/index.js.map +1 -1
  29. package/Canvas2D/TextMetrics/index.d.ts +17 -2
  30. package/Canvas2D/TextMetrics/index.js +44 -2
  31. package/Canvas2D/TextMetrics/index.js.map +1 -1
  32. package/Dom/Dom.d.ts +10 -0
  33. package/Dom/Dom.js +36 -0
  34. package/Dom/Dom.js.map +1 -0
  35. package/Dom/Fill.d.ts +4 -0
  36. package/Dom/Fill.js +8 -0
  37. package/Dom/Fill.js.map +1 -0
  38. package/Dom/Group.d.ts +21 -0
  39. package/Dom/Group.js +179 -0
  40. package/Dom/Group.js.map +1 -0
  41. package/Dom/Image.d.ts +12 -0
  42. package/Dom/Image.js +33 -0
  43. package/Dom/Image.js.map +1 -0
  44. package/Dom/Paint.d.ts +15 -0
  45. package/Dom/Paint.js +57 -0
  46. package/Dom/Paint.js.map +1 -0
  47. package/Dom/Shadow.d.ts +10 -0
  48. package/Dom/Shadow.js +26 -0
  49. package/Dom/Shadow.js.map +1 -0
  50. package/Dom/Text.d.ts +9 -0
  51. package/Dom/Text.js +50 -0
  52. package/Dom/Text.js.map +1 -0
  53. package/Dom/index.d.ts +8 -0
  54. package/Dom/index.js +9 -0
  55. package/Dom/index.js.map +1 -0
  56. package/Dom/shapes/Circle.d.ts +21 -0
  57. package/Dom/shapes/Circle.js +98 -0
  58. package/Dom/shapes/Circle.js.map +1 -0
  59. package/Dom/shapes/Line.d.ts +9 -0
  60. package/Dom/shapes/Line.js +37 -0
  61. package/Dom/shapes/Line.js.map +1 -0
  62. package/Dom/shapes/Path.d.ts +8 -0
  63. package/Dom/shapes/Path.js +31 -0
  64. package/Dom/shapes/Path.js.map +1 -0
  65. package/Dom/shapes/Points.d.ts +15 -0
  66. package/Dom/shapes/Points.js +20 -0
  67. package/Dom/shapes/Points.js.map +1 -0
  68. package/Dom/shapes/Rect.d.ts +15 -0
  69. package/Dom/shapes/Rect.js +63 -0
  70. package/Dom/shapes/Rect.js.map +1 -0
  71. package/Dom/shapes/RoundedRect.d.ts +12 -0
  72. package/Dom/shapes/RoundedRect.js +96 -0
  73. package/Dom/shapes/RoundedRect.js.map +1 -0
  74. package/Dom/shapes/index.d.ts +6 -0
  75. package/Dom/shapes/index.js +7 -0
  76. package/Dom/shapes/index.js.map +1 -0
  77. package/ImageAsset/index.d.ts +28 -2
  78. package/ImageAsset/index.js +154 -2
  79. package/ImageAsset/index.js.map +1 -1
  80. package/ImageBitmap/{index.ios.d.ts → index.d.ts} +3 -4
  81. package/ImageBitmap/{index.android.js → index.js} +52 -36
  82. package/ImageBitmap/index.js.map +1 -0
  83. package/LICENSE +201 -0
  84. package/SVG/SVG.js +1 -1
  85. package/SVG/SVG.js.map +1 -1
  86. package/TextDecoder/index.d.ts +7 -2
  87. package/TextDecoder/index.js +44 -2
  88. package/TextDecoder/index.js.map +1 -1
  89. package/TextEncoder/index.d.ts +7 -2
  90. package/TextEncoder/index.js +42 -2
  91. package/TextEncoder/index.js.map +1 -1
  92. package/WebGL/WebGLExtensions/index.d.ts +150 -242
  93. package/WebGL/WebGLExtensions/{index.android.js → index.js} +18 -75
  94. package/WebGL/WebGLExtensions/index.js.map +1 -0
  95. package/WebGL/WebGLRenderingContext/common.d.ts +0 -2
  96. package/WebGL/WebGLRenderingContext/common.js +0 -10
  97. package/WebGL/WebGLRenderingContext/common.js.map +1 -1
  98. package/WebGL/WebGLRenderingContext/index.d.ts +153 -293
  99. package/WebGL/WebGLRenderingContext/{index.android.js → index.js} +193 -309
  100. package/WebGL/WebGLRenderingContext/index.js.map +1 -0
  101. package/WebGL2/WebGL2RenderingContext/common.d.ts +1 -0
  102. package/WebGL2/WebGL2RenderingContext/common.js +3 -0
  103. package/WebGL2/WebGL2RenderingContext/common.js.map +1 -1
  104. package/WebGL2/WebGL2RenderingContext/index.d.ts +101 -455
  105. package/WebGL2/WebGL2RenderingContext/{index.android.js → index.js} +125 -201
  106. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -0
  107. package/angular/esm2020/index.mjs +4 -4
  108. package/angular/fesm2015/nativescript-canvas-angular.mjs +4 -4
  109. package/angular/fesm2020/nativescript-canvas-angular.mjs +4 -4
  110. package/angular/package.json +2 -2
  111. package/helpers.js +3 -0
  112. package/helpers.js.map +1 -1
  113. package/index.js.map +1 -1
  114. package/package.json +3 -2
  115. package/platforms/android/canvas-release.aar +0 -0
  116. package/platforms/android/include.gradle +15 -0
  117. package/platforms/ios/CanvasNative.xcframework/Info.plist +5 -5
  118. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  119. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +209 -1767
  120. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative.h +10 -2
  121. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +142 -0
  122. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +2621 -0
  123. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  124. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  125. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +6571 -0
  126. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +153 -0
  127. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  128. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +91 -3202
  129. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/module.modulemap +2 -2
  130. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/{TNSCanvas.nib → NSCCanvas.nib} +0 -0
  131. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  132. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  133. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +408 -3534
  134. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative.h +10 -2
  135. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +142 -0
  136. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +2621 -0
  137. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  138. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  139. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  140. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +6571 -0
  141. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +153 -0
  142. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  143. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +91 -3202
  144. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +6571 -0
  145. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +153 -0
  146. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  147. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +91 -3202
  148. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/module.modulemap +2 -2
  149. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/{TNSCanvas.nib → NSCCanvas.nib} +0 -0
  150. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +58 -91
  151. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  152. package/platforms/ios/Podfile +5 -1
  153. package/platforms/ios/build.xcconfig +5 -0
  154. package/platforms/ios/src/CanvasModule.h +8 -0
  155. package/platforms/ios/src/CanvasModule.mm +14 -0
  156. package/platforms/ios/src/NSOperationQueueWrapper.h +11 -0
  157. package/platforms/ios/src/NSOperationQueueWrapper.mm +74 -0
  158. package/platforms/ios/src/cpp/Caches.cpp +35 -0
  159. package/platforms/ios/src/cpp/Caches.h +186 -0
  160. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +1582 -0
  161. package/platforms/ios/src/cpp/CanvasJSIModule.h +33 -0
  162. package/platforms/ios/src/cpp/Common.h +30 -0
  163. package/platforms/ios/src/cpp/ConcurrentMap.h +54 -0
  164. package/platforms/ios/src/cpp/Helpers.h +329 -0
  165. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +802 -0
  166. package/platforms/ios/src/cpp/ImageAssetImpl.h +62 -0
  167. package/platforms/ios/src/cpp/ImageBitmapImpl.cpp +189 -0
  168. package/platforms/ios/src/cpp/ImageBitmapImpl.h +47 -0
  169. package/platforms/ios/src/cpp/JSICallback.h +71 -0
  170. package/platforms/ios/src/cpp/JSIReadFileCallback.h +96 -0
  171. package/platforms/ios/src/cpp/JSIRuntime.cpp +21 -0
  172. package/platforms/ios/src/cpp/JSIRuntime.h +7 -0
  173. package/platforms/ios/src/cpp/OnRafCallback.cpp +25 -0
  174. package/platforms/ios/src/cpp/OnRafCallback.h +24 -0
  175. package/platforms/ios/src/cpp/OneByteStringResource.cpp +25 -0
  176. package/platforms/ios/src/cpp/OneByteStringResource.h +21 -0
  177. package/platforms/ios/src/cpp/RafImpl.cpp +8 -0
  178. package/platforms/ios/src/cpp/RafImpl.h +30 -0
  179. package/platforms/ios/src/cpp/TextDecoderImpl.cpp +188 -0
  180. package/platforms/ios/src/cpp/TextDecoderImpl.h +34 -0
  181. package/platforms/ios/src/cpp/TextEncoderImpl.cpp +139 -0
  182. package/platforms/ios/src/cpp/TextEncoderImpl.h +37 -0
  183. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.cpp +71 -0
  184. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +42 -0
  185. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.cpp +89 -0
  186. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +42 -0
  187. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +2402 -0
  188. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +318 -0
  189. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +203 -0
  190. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +43 -0
  191. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +800 -0
  192. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +188 -0
  193. package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +449 -0
  194. package/platforms/ios/src/cpp/canvas2d/Path2D.h +56 -0
  195. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.cpp +253 -0
  196. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +67 -0
  197. package/platforms/ios/src/cpp/gl.h +79 -0
  198. package/platforms/ios/src/cpp/gl3stub.c +425 -0
  199. package/platforms/ios/src/cpp/gl3stub.h +665 -0
  200. package/platforms/ios/src/cpp/gles3jni.h +37 -0
  201. package/platforms/ios/src/cpp/include/robin_hood.h +2544 -0
  202. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.cpp +93 -0
  203. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +48 -0
  204. package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +59 -0
  205. package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +60 -0
  206. package/platforms/ios/src/cpp/webgl/WebGLProgram.h +59 -0
  207. package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +58 -0
  208. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +6691 -0
  209. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +388 -0
  210. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +119 -0
  211. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.h +69 -0
  212. package/platforms/ios/src/cpp/webgl/WebGLShader.h +58 -0
  213. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.cpp +50 -0
  214. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +83 -0
  215. package/platforms/ios/src/cpp/webgl/WebGLTexture.h +57 -0
  216. package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +64 -0
  217. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.cpp +126 -0
  218. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +41 -0
  219. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.cpp +35 -0
  220. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +36 -0
  221. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.cpp +41 -0
  222. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +37 -0
  223. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.cpp +323 -0
  224. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +62 -0
  225. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +61 -0
  226. package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +51 -0
  227. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +59 -0
  228. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +61 -0
  229. package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +51 -0
  230. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +56 -0
  231. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +53 -0
  232. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +52 -0
  233. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +53 -0
  234. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +54 -0
  235. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.cpp +102 -0
  236. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +87 -0
  237. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +63 -0
  238. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +61 -0
  239. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +59 -0
  240. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +88 -0
  241. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +69 -0
  242. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +65 -0
  243. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +72 -0
  244. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +59 -0
  245. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.cpp +43 -0
  246. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +143 -0
  247. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.cpp +32 -0
  248. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +80 -0
  249. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +4517 -0
  250. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +227 -0
  251. package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +57 -0
  252. package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +60 -0
  253. package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +57 -0
  254. package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +59 -0
  255. package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +60 -0
  256. package/platforms/ios/src/module.modulemap +5 -0
  257. package/Canvas2D/CanvasGradient/CanvasGradient.android.d.ts +0 -10
  258. package/Canvas2D/CanvasGradient/CanvasGradient.android.js +0 -26
  259. package/Canvas2D/CanvasGradient/CanvasGradient.android.js.map +0 -1
  260. package/Canvas2D/CanvasGradient/CanvasGradient.d.ts +0 -12
  261. package/Canvas2D/CanvasGradient/CanvasGradient.ios.d.ts +0 -8
  262. package/Canvas2D/CanvasGradient/CanvasGradient.ios.js +0 -19
  263. package/Canvas2D/CanvasGradient/CanvasGradient.ios.js.map +0 -1
  264. package/Canvas2D/CanvasGradient/common.d.ts +0 -3
  265. package/Canvas2D/CanvasGradient/common.js +0 -3
  266. package/Canvas2D/CanvasGradient/common.js.map +0 -1
  267. package/Canvas2D/CanvasPattern/CanvasPattern.android.d.ts +0 -8
  268. package/Canvas2D/CanvasPattern/CanvasPattern.android.js +0 -20
  269. package/Canvas2D/CanvasPattern/CanvasPattern.android.js.map +0 -1
  270. package/Canvas2D/CanvasPattern/CanvasPattern.d.ts +0 -8
  271. package/Canvas2D/CanvasPattern/CanvasPattern.ios.d.ts +0 -6
  272. package/Canvas2D/CanvasPattern/CanvasPattern.ios.js +0 -10
  273. package/Canvas2D/CanvasPattern/CanvasPattern.ios.js.map +0 -1
  274. package/Canvas2D/CanvasPattern/common.d.ts +0 -7
  275. package/Canvas2D/CanvasPattern/common.js +0 -9
  276. package/Canvas2D/CanvasPattern/common.js.map +0 -1
  277. package/Canvas2D/CanvasRenderingContext2D/common.d.ts +0 -87
  278. package/Canvas2D/CanvasRenderingContext2D/common.js +0 -12
  279. package/Canvas2D/CanvasRenderingContext2D/common.js.map +0 -1
  280. package/Canvas2D/CanvasRenderingContext2D/index.android.d.ts +0 -112
  281. package/Canvas2D/CanvasRenderingContext2D/index.android.js.map +0 -1
  282. package/Canvas2D/CanvasRenderingContext2D/index.ios.d.ts +0 -110
  283. package/Canvas2D/CanvasRenderingContext2D/index.ios.js +0 -897
  284. package/Canvas2D/CanvasRenderingContext2D/index.ios.js.map +0 -1
  285. package/Canvas2D/DOMMatrix/DOMMatrix.android.d.ts +0 -72
  286. package/Canvas2D/DOMMatrix/DOMMatrix.android.js +0 -177
  287. package/Canvas2D/DOMMatrix/DOMMatrix.android.js.map +0 -1
  288. package/Canvas2D/DOMMatrix/DOMMatrix.d.ts +0 -30
  289. package/Canvas2D/DOMMatrix/DOMMatrix.ios.d.ts +0 -48
  290. package/Canvas2D/DOMMatrix/DOMMatrix.ios.js +0 -142
  291. package/Canvas2D/DOMMatrix/DOMMatrix.ios.js.map +0 -1
  292. package/Canvas2D/DOMMatrix/common.d.ts +0 -27
  293. package/Canvas2D/DOMMatrix/common.js +0 -9
  294. package/Canvas2D/DOMMatrix/common.js.map +0 -1
  295. package/Canvas2D/ImageData/ImageData.android.d.ts +0 -9
  296. package/Canvas2D/ImageData/ImageData.android.js +0 -65
  297. package/Canvas2D/ImageData/ImageData.android.js.map +0 -1
  298. package/Canvas2D/ImageData/ImageData.d.ts +0 -11
  299. package/Canvas2D/ImageData/ImageData.ios.d.ts +0 -10
  300. package/Canvas2D/ImageData/ImageData.ios.js +0 -45
  301. package/Canvas2D/ImageData/ImageData.ios.js.map +0 -1
  302. package/Canvas2D/ImageData/common.d.ts +0 -9
  303. package/Canvas2D/ImageData/common.js +0 -13
  304. package/Canvas2D/ImageData/common.js.map +0 -1
  305. package/Canvas2D/Path2D/Path2D.android.d.ts +0 -18
  306. package/Canvas2D/Path2D/Path2D.android.js +0 -83
  307. package/Canvas2D/Path2D/Path2D.android.js.map +0 -1
  308. package/Canvas2D/Path2D/Path2D.d.ts +0 -26
  309. package/Canvas2D/Path2D/Path2D.ios.d.ts +0 -15
  310. package/Canvas2D/Path2D/Path2D.ios.js +0 -55
  311. package/Canvas2D/Path2D/Path2D.ios.js.map +0 -1
  312. package/Canvas2D/Path2D/common.d.ts +0 -17
  313. package/Canvas2D/Path2D/common.js +0 -12
  314. package/Canvas2D/Path2D/common.js.map +0 -1
  315. package/Canvas2D/TextMetrics/TextMetrics.android.d.ts +0 -16
  316. package/Canvas2D/TextMetrics/TextMetrics.android.js +0 -43
  317. package/Canvas2D/TextMetrics/TextMetrics.android.js.map +0 -1
  318. package/Canvas2D/TextMetrics/TextMetrics.d.ts +0 -7
  319. package/Canvas2D/TextMetrics/TextMetrics.ios.d.ts +0 -16
  320. package/Canvas2D/TextMetrics/TextMetrics.ios.js +0 -43
  321. package/Canvas2D/TextMetrics/TextMetrics.ios.js.map +0 -1
  322. package/Canvas2D/TextMetrics/common.d.ts +0 -18
  323. package/Canvas2D/TextMetrics/common.js +0 -13
  324. package/Canvas2D/TextMetrics/common.js.map +0 -1
  325. package/ImageAsset/ImageAsset.android.d.ts +0 -20
  326. package/ImageAsset/ImageAsset.android.js +0 -149
  327. package/ImageAsset/ImageAsset.android.js.map +0 -1
  328. package/ImageAsset/ImageAsset.d.ts +0 -31
  329. package/ImageAsset/ImageAsset.ios.d.ts +0 -22
  330. package/ImageAsset/ImageAsset.ios.js +0 -114
  331. package/ImageAsset/ImageAsset.ios.js.map +0 -1
  332. package/ImageAsset/common.d.ts +0 -13
  333. package/ImageAsset/common.js +0 -21
  334. package/ImageAsset/common.js.map +0 -1
  335. package/ImageBitmap/common.d.ts +0 -8
  336. package/ImageBitmap/common.js +0 -9
  337. package/ImageBitmap/common.js.map +0 -1
  338. package/ImageBitmap/index.android.d.ts +0 -12
  339. package/ImageBitmap/index.android.js.map +0 -1
  340. package/ImageBitmap/index.ios.js +0 -283
  341. package/ImageBitmap/index.ios.js.map +0 -1
  342. package/TextDecoder/TextDecoder.android.d.ts +0 -8
  343. package/TextDecoder/TextDecoder.android.js +0 -52
  344. package/TextDecoder/TextDecoder.android.js.map +0 -1
  345. package/TextDecoder/TextDecoder.d.ts +0 -10
  346. package/TextDecoder/TextDecoder.ios.d.ts +0 -6
  347. package/TextDecoder/TextDecoder.ios.js +0 -37
  348. package/TextDecoder/TextDecoder.ios.js.map +0 -1
  349. package/TextDecoder/common.d.ts +0 -8
  350. package/TextDecoder/common.js +0 -13
  351. package/TextDecoder/common.js.map +0 -1
  352. package/TextEncoder/TextEncoder.android.d.ts +0 -8
  353. package/TextEncoder/TextEncoder.android.js +0 -50
  354. package/TextEncoder/TextEncoder.android.js.map +0 -1
  355. package/TextEncoder/TextEncoder.d.ts +0 -10
  356. package/TextEncoder/TextEncoder.ios.d.ts +0 -6
  357. package/TextEncoder/TextEncoder.ios.js +0 -14
  358. package/TextEncoder/TextEncoder.ios.js.map +0 -1
  359. package/TextEncoder/common.d.ts +0 -7
  360. package/TextEncoder/common.js +0 -9
  361. package/TextEncoder/common.js.map +0 -1
  362. package/WebGL/WebGLExtensions/index.android.d.ts +0 -209
  363. package/WebGL/WebGLExtensions/index.android.js.map +0 -1
  364. package/WebGL/WebGLExtensions/index.ios.d.ts +0 -192
  365. package/WebGL/WebGLExtensions/index.ios.js +0 -250
  366. package/WebGL/WebGLExtensions/index.ios.js.map +0 -1
  367. package/WebGL/WebGLRenderingContext/index.android.d.ts +0 -165
  368. package/WebGL/WebGLRenderingContext/index.android.js.map +0 -1
  369. package/WebGL/WebGLRenderingContext/index.ios.d.ts +0 -163
  370. package/WebGL/WebGLRenderingContext/index.ios.js +0 -1168
  371. package/WebGL/WebGLRenderingContext/index.ios.js.map +0 -1
  372. package/WebGL2/WebGL2RenderingContext/index.android.d.ts +0 -103
  373. package/WebGL2/WebGL2RenderingContext/index.android.js.map +0 -1
  374. package/WebGL2/WebGL2RenderingContext/index.ios.d.ts +0 -102
  375. package/WebGL2/WebGL2RenderingContext/index.ios.js +0 -618
  376. package/WebGL2/WebGL2RenderingContext/index.ios.js.map +0 -1
  377. package/angular/nativescript-canvas-angular.d.ts +0 -5
  378. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/Utils.h +0 -26
  379. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64.swiftsourceinfo +0 -0
  380. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64.swiftdoc +0 -0
  381. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64.swiftinterface +0 -3264
  382. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/Utils.h +0 -26
  383. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64.swiftsourceinfo +0 -0
  384. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64.swiftsourceinfo +0 -0
  385. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64.swiftdoc +0 -0
  386. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64.swiftinterface +0 -3264
  387. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64.swiftdoc +0 -0
  388. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64.swiftinterface +0 -3264
@@ -0,0 +1,388 @@
1
+ //
2
+ // Created by Osei Fortune on 22/03/2022.
3
+ //
4
+
5
+ #pragma once
6
+ #pragma process_pending_includes
7
+
8
+ #include <vector>
9
+ #include "Common.h"
10
+
11
+ #include "WebGLRenderingContextBase.h"
12
+
13
+ #include <cmath>
14
+ #include "Helpers.h"
15
+
16
+ #include "ImageAssetImpl.h"
17
+ #include "ImageBitmapImpl.h"
18
+ #include "RafImpl.h"
19
+
20
+ #include "CanvasRenderingContext2DImpl.h"
21
+
22
+ #include "WebGLBuffer.h"
23
+ #include "WebGLFramebuffer.h"
24
+ #include "WebGLProgram.h"
25
+ #include "WebGLRenderbuffer.h"
26
+ #include "WebGLShader.h"
27
+ #include "WebGLTexture.h"
28
+ #include "WebGLUniformLocation.h"
29
+ #include "WebGLShaderPrecisionFormatImpl.h"
30
+ #include "WebGLActiveInfoImpl.h"
31
+
32
+ #include "extensions/EXT_blend_minmaxImpl.h"
33
+ #include "extensions/EXT_color_buffer_half_floatImpl.h"
34
+ #include "extensions/EXT_disjoint_timer_queryImpl.h"
35
+ #include "extensions/EXT_sRGBImpl.h"
36
+ #include "extensions/EXT_shader_texture_lodImpl.h"
37
+ #include "extensions/EXT_texture_filter_anisotropicImpl.h"
38
+ #include "extensions/OES_element_index_uintImpl.h"
39
+ #include "extensions/OES_standard_derivativesImpl.h"
40
+ #include "extensions/OES_texture_floatImpl.h"
41
+ #include "extensions/OES_texture_float_linearImpl.h"
42
+ #include "extensions/OES_texture_half_floatImpl.h"
43
+ #include "extensions/OES_texture_half_float_linearImpl.h"
44
+ #include "extensions/OES_vertex_array_objectImpl.h"
45
+ #include "extensions/WEBGL_color_buffer_floatImpl.h"
46
+ #include "extensions/WEBGL_compressed_texture_atcImpl.h"
47
+ #include "extensions/WEBGL_compressed_texture_etcImpl.h"
48
+ #include "extensions/WEBGL_compressed_texture_etc1Impl.h"
49
+ #include "extensions/WEBGL_compressed_texture_pvrtcImpl.h"
50
+ #include "extensions/WEBGL_compressed_texture_s3tcImpl.h"
51
+ #include "extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h"
52
+ #include "extensions/WEBGL_depth_textureImpl.h"
53
+ #include "extensions/WEBGL_lose_contextImpl.h"
54
+ #include "extensions/ANGLE_instanced_arraysImpl.h"
55
+ #include "extensions/WEBGL_draw_buffersImpl.h"
56
+ #include "extensions/OES_fbo_render_mipmap.h"
57
+ #include "gl.h"
58
+
59
+ class WebGLRenderingContext : public WebGLRenderingContextBase {
60
+ public:
61
+
62
+ WebGLRenderingContext(WebGLState* state);
63
+
64
+ WebGLRenderingContext(WebGLState* state, WebGLRenderingVersion version);
65
+
66
+ static v8::Local<v8::FunctionTemplate> GetCtor(v8::Isolate *isolate);
67
+
68
+ static v8::Local<v8::Object>
69
+ NewInstance(v8::Isolate *isolate, WebGLRenderingContext *renderingContext) {
70
+ auto context = isolate->GetCurrentContext();
71
+ v8::EscapableHandleScope scope(isolate);
72
+ auto object = WebGLRenderingContext::GetCtor(isolate)->GetFunction(
73
+ context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
74
+ SetNativeType(isolate, object, NativeType::WebGLRenderingContextBase);
75
+ auto ext = v8::External::New(isolate, renderingContext);
76
+ object->SetInternalField(0, ext);
77
+ return scope.Escape(object);
78
+ }
79
+
80
+ static WebGLRenderingContext *GetPointer(const v8::Local<v8::Object> &object);
81
+
82
+
83
+ static void SetConstants(v8::Isolate *isolate, const v8::Local<v8::ObjectTemplate> &tmpl);
84
+
85
+ static void
86
+ SetProps(v8::Isolate *isolate, const v8::Local<v8::ObjectTemplate> &tmpl);
87
+
88
+ static void SetMethods(v8::Isolate *isolate,
89
+ const v8::Local<v8::ObjectTemplate> &tmpl);
90
+
91
+
92
+ v8::Local<v8::Value> GetParameterInternal(v8::Isolate *isolate, uint32_t pnameValue,
93
+ WebGLResult* result);
94
+
95
+ static void GetDrawingBufferWidth(v8::Local<v8::String> name,
96
+ const v8::PropertyCallbackInfo<v8::Value> &info);
97
+
98
+ static void GetFlipY(v8::Local<v8::String> name,
99
+ const v8::PropertyCallbackInfo<v8::Value> &info);
100
+
101
+ static void GetDrawingBufferHeight(v8::Local<v8::String> name,
102
+ const v8::PropertyCallbackInfo<v8::Value> &info);
103
+
104
+ static void __Resized(const v8::FunctionCallbackInfo<v8::Value> &args);
105
+
106
+ static void __StartRaf(const v8::FunctionCallbackInfo<v8::Value> &args);
107
+
108
+ static void __StopRaf(const v8::FunctionCallbackInfo<v8::Value> &args);
109
+
110
+ static void ActiveTexture(const v8::FunctionCallbackInfo<v8::Value> &args);
111
+
112
+ static void AttachShader(const v8::FunctionCallbackInfo<v8::Value> &args);
113
+
114
+ static void BindAttribLocation(const v8::FunctionCallbackInfo<v8::Value> &args);
115
+
116
+ static void BindBuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
117
+
118
+ static void BindFramebuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
119
+
120
+ static void BindRenderbuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
121
+
122
+ static void BindTexture(const v8::FunctionCallbackInfo<v8::Value> &args);
123
+
124
+ static void BlendColor(const v8::FunctionCallbackInfo<v8::Value> &args);
125
+
126
+ static void BlendEquationSeparate(const v8::FunctionCallbackInfo<v8::Value> &args);
127
+
128
+ static void BlendEquation(const v8::FunctionCallbackInfo<v8::Value> &args);
129
+
130
+ static void BlendFuncSeparate(const v8::FunctionCallbackInfo<v8::Value> &args);
131
+
132
+ static void BlendFunc(const v8::FunctionCallbackInfo<v8::Value> &args);
133
+
134
+ static void BufferData(const v8::FunctionCallbackInfo<v8::Value> &args);
135
+
136
+ static void BufferSubData(const v8::FunctionCallbackInfo<v8::Value> &args);
137
+
138
+ static void CheckFramebufferStatus(const v8::FunctionCallbackInfo<v8::Value> &args);
139
+
140
+ static void ClearColor(const v8::FunctionCallbackInfo<v8::Value> &args);
141
+
142
+ static void ClearDepth(const v8::FunctionCallbackInfo<v8::Value> &args);
143
+
144
+ static void ClearStencil(const v8::FunctionCallbackInfo<v8::Value> &args);
145
+
146
+ static void Clear(const v8::FunctionCallbackInfo<v8::Value> &args);
147
+
148
+ static void ColorMask(const v8::FunctionCallbackInfo<v8::Value> &args);
149
+
150
+ static void Commit(const v8::FunctionCallbackInfo<v8::Value> &args);
151
+
152
+ static void CompileShader(const v8::FunctionCallbackInfo<v8::Value> &args);
153
+
154
+ static void CompressedTexImage2D(const v8::FunctionCallbackInfo<v8::Value> &args);
155
+
156
+ static void CompressedTexSubImage2D(const v8::FunctionCallbackInfo<v8::Value> &args);
157
+
158
+ static void CopyTexImage2D(const v8::FunctionCallbackInfo<v8::Value> &args);
159
+
160
+ static void CopyTexSubImage2D(const v8::FunctionCallbackInfo<v8::Value> &args);
161
+
162
+ static void CreateBuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
163
+
164
+ static void CreateFramebuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
165
+
166
+ static void CreateProgram(const v8::FunctionCallbackInfo<v8::Value> &args);
167
+
168
+ static void CreateRenderbuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
169
+
170
+ static void CreateShader(const v8::FunctionCallbackInfo<v8::Value> &args);
171
+
172
+ static void CreateTexture(const v8::FunctionCallbackInfo<v8::Value> &args);
173
+
174
+ static void CullFace(const v8::FunctionCallbackInfo<v8::Value> &args);
175
+
176
+ static void DeleteBuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
177
+
178
+ static void DeleteFramebuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
179
+
180
+ static void DeleteProgram(const v8::FunctionCallbackInfo<v8::Value> &args);
181
+
182
+ static void DeleteRenderbuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
183
+
184
+ static void DeleteShader(const v8::FunctionCallbackInfo<v8::Value> &args);
185
+
186
+ static void DeleteTexture(const v8::FunctionCallbackInfo<v8::Value> &args);
187
+
188
+ static void DepthFunc(const v8::FunctionCallbackInfo<v8::Value> &args);
189
+
190
+ static void DepthMask(const v8::FunctionCallbackInfo<v8::Value> &args);
191
+
192
+ static void DepthRange(const v8::FunctionCallbackInfo<v8::Value> &args);
193
+
194
+ static void DetachShader(const v8::FunctionCallbackInfo<v8::Value> &args);
195
+
196
+ static void DisableVertexAttribArray(const v8::FunctionCallbackInfo<v8::Value> &args);
197
+
198
+ static void Disable(const v8::FunctionCallbackInfo<v8::Value> &args);
199
+
200
+ static void DrawArrays(const v8::FunctionCallbackInfo<v8::Value> &args);
201
+
202
+ static void DrawElements(const v8::FunctionCallbackInfo<v8::Value> &args);
203
+
204
+ static void EnableVertexAttribArray(const v8::FunctionCallbackInfo<v8::Value> &args);
205
+
206
+ static void Enable(const v8::FunctionCallbackInfo<v8::Value> &args);
207
+
208
+ static void Finish(const v8::FunctionCallbackInfo<v8::Value> &args);
209
+
210
+ static void Flush(const v8::FunctionCallbackInfo<v8::Value> &args);
211
+
212
+ static void FramebufferRenderbuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
213
+
214
+ static void FramebufferTexture2D(const v8::FunctionCallbackInfo<v8::Value> &args);
215
+
216
+ static void FrontFace(const v8::FunctionCallbackInfo<v8::Value> &args);
217
+
218
+ static void GenerateMipmap(const v8::FunctionCallbackInfo<v8::Value> &args);
219
+
220
+ static void GetActiveAttrib(const v8::FunctionCallbackInfo<v8::Value> &args);
221
+
222
+ static void GetActiveUniform(const v8::FunctionCallbackInfo<v8::Value> &args);
223
+
224
+ static void GetAttachedShaders(const v8::FunctionCallbackInfo<v8::Value> &args);
225
+
226
+ static void GetAttribLocation(const v8::FunctionCallbackInfo<v8::Value> &args);
227
+
228
+ static void GetBufferParameter(const v8::FunctionCallbackInfo<v8::Value> &args);
229
+
230
+ static void GetContextAttributes(const v8::FunctionCallbackInfo<v8::Value> &args);
231
+
232
+ static void GetError(const v8::FunctionCallbackInfo<v8::Value> &args);
233
+
234
+ static void GetExtension(const v8::FunctionCallbackInfo<v8::Value> &args);
235
+
236
+ static void GetFramebufferAttachmentParameter(const v8::FunctionCallbackInfo<v8::Value> &args);
237
+
238
+ static void GetParameter(const v8::FunctionCallbackInfo<v8::Value> &args);
239
+
240
+ static void GetProgramInfoLog(const v8::FunctionCallbackInfo<v8::Value> &args);
241
+
242
+ static void GetProgramParameter(const v8::FunctionCallbackInfo<v8::Value> &args);
243
+
244
+ static void GetRenderbufferParameter(const v8::FunctionCallbackInfo<v8::Value> &args);
245
+
246
+ static void GetShaderInfoLog(const v8::FunctionCallbackInfo<v8::Value> &args);
247
+
248
+ static void GetShaderParameter(const v8::FunctionCallbackInfo<v8::Value> &args);
249
+
250
+ static void GetShaderPrecisionFormat(const v8::FunctionCallbackInfo<v8::Value> &args);
251
+
252
+ static void GetShaderSource(const v8::FunctionCallbackInfo<v8::Value> &args);
253
+
254
+ static void GetSupportedExtensions(const v8::FunctionCallbackInfo<v8::Value> &args);
255
+
256
+ static void GetTexParameter(const v8::FunctionCallbackInfo<v8::Value> &args);
257
+
258
+ static void GetUniformLocation(const v8::FunctionCallbackInfo<v8::Value> &args);
259
+
260
+ static void GetUniform(const v8::FunctionCallbackInfo<v8::Value> &args);
261
+
262
+ static void GetVertexAttribOffset(const v8::FunctionCallbackInfo<v8::Value> &args);
263
+
264
+ static void GetVertexAttrib(const v8::FunctionCallbackInfo<v8::Value> &args);
265
+
266
+ static void Hint(const v8::FunctionCallbackInfo<v8::Value> &args);
267
+
268
+ static void IsBuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
269
+
270
+ static void IsContextLost(const v8::FunctionCallbackInfo<v8::Value> &args);
271
+
272
+ static void IsEnabled(const v8::FunctionCallbackInfo<v8::Value> &args);
273
+
274
+ static void IsFramebuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
275
+
276
+ static void IsProgram(const v8::FunctionCallbackInfo<v8::Value> &args);
277
+
278
+ static void IsRenderbuffer(const v8::FunctionCallbackInfo<v8::Value> &args);
279
+
280
+ static void IsShader(const v8::FunctionCallbackInfo<v8::Value> &args);
281
+
282
+ static void IsTexture(const v8::FunctionCallbackInfo<v8::Value> &args);
283
+
284
+ static void LineWidth(const v8::FunctionCallbackInfo<v8::Value> &args);
285
+
286
+ static void LinkProgram(const v8::FunctionCallbackInfo<v8::Value> &args);
287
+
288
+ static void PixelStorei(const v8::FunctionCallbackInfo<v8::Value> &args);
289
+
290
+ static void PolygonOffset(const v8::FunctionCallbackInfo<v8::Value> &args);
291
+
292
+ static void ReadPixels(const v8::FunctionCallbackInfo<v8::Value> &args);
293
+
294
+ static void RenderbufferStorage(const v8::FunctionCallbackInfo<v8::Value> &args);
295
+
296
+ static void SampleCoverage(const v8::FunctionCallbackInfo<v8::Value> &args);
297
+
298
+ static void Scissor(const v8::FunctionCallbackInfo<v8::Value> &args);
299
+
300
+ static void ShaderSource(const v8::FunctionCallbackInfo<v8::Value> &args);
301
+
302
+ static void StencilFuncSeparate(const v8::FunctionCallbackInfo<v8::Value> &args);
303
+
304
+ static void StencilFunc(const v8::FunctionCallbackInfo<v8::Value> &args);
305
+
306
+ static void StencilMaskSeparate(const v8::FunctionCallbackInfo<v8::Value> &args);
307
+
308
+ static void StencilMask(const v8::FunctionCallbackInfo<v8::Value> &args);
309
+
310
+ static void StencilOpSeparate(const v8::FunctionCallbackInfo<v8::Value> &args);
311
+
312
+ static void StencilOp(const v8::FunctionCallbackInfo<v8::Value> &args);
313
+
314
+ static void TexImage2D(const v8::FunctionCallbackInfo<v8::Value> &args);
315
+
316
+ static void TexParameterf(const v8::FunctionCallbackInfo<v8::Value> &args);
317
+
318
+ static void TexParameteri(const v8::FunctionCallbackInfo<v8::Value> &args);
319
+
320
+ static void TexSubImage2D(const v8::FunctionCallbackInfo<v8::Value> &args);
321
+
322
+ static void Uniform1f(const v8::FunctionCallbackInfo<v8::Value> &args);
323
+
324
+ static void Uniform1iv(const v8::FunctionCallbackInfo<v8::Value> &args);
325
+
326
+ static void Uniform1fv(const v8::FunctionCallbackInfo<v8::Value> &args);
327
+
328
+ static void Uniform1i(const v8::FunctionCallbackInfo<v8::Value> &args);
329
+
330
+ static void Uniform2f(const v8::FunctionCallbackInfo<v8::Value> &args);
331
+
332
+ static void Uniform2iv(const v8::FunctionCallbackInfo<v8::Value> &args);
333
+
334
+ static void Uniform2fv(const v8::FunctionCallbackInfo<v8::Value> &args);
335
+
336
+ static void Uniform2i(const v8::FunctionCallbackInfo<v8::Value> &args);
337
+
338
+ static void Uniform3f(const v8::FunctionCallbackInfo<v8::Value> &args);
339
+
340
+ static void Uniform3iv(const v8::FunctionCallbackInfo<v8::Value> &args);
341
+
342
+ static void Uniform3fv(const v8::FunctionCallbackInfo<v8::Value> &args);
343
+
344
+ static void Uniform3i(const v8::FunctionCallbackInfo<v8::Value> &args);
345
+
346
+ static void Uniform4f(const v8::FunctionCallbackInfo<v8::Value> &args);
347
+
348
+ static void Uniform4iv(const v8::FunctionCallbackInfo<v8::Value> &args);
349
+
350
+ static void Uniform4fv(const v8::FunctionCallbackInfo<v8::Value> &args);
351
+
352
+ static void Uniform4i(const v8::FunctionCallbackInfo<v8::Value> &args);
353
+
354
+ static void UniformMatrix2fv(const v8::FunctionCallbackInfo<v8::Value> &args);
355
+
356
+ static void UniformMatrix3fv(const v8::FunctionCallbackInfo<v8::Value> &args);
357
+
358
+ static void UniformMatrix4fv(const v8::FunctionCallbackInfo<v8::Value> &args);
359
+
360
+ static void UseProgram(const v8::FunctionCallbackInfo<v8::Value> &args);
361
+
362
+ static void ValidateProgram(const v8::FunctionCallbackInfo<v8::Value> &args);
363
+
364
+ static void VertexAttrib1f(const v8::FunctionCallbackInfo<v8::Value> &args);
365
+
366
+ static void VertexAttrib1fv(const v8::FunctionCallbackInfo<v8::Value> &args);
367
+
368
+ static void VertexAttrib2f(const v8::FunctionCallbackInfo<v8::Value> &args);
369
+
370
+ static void VertexAttrib2fv(const v8::FunctionCallbackInfo<v8::Value> &args);
371
+
372
+ static void VertexAttrib3f(const v8::FunctionCallbackInfo<v8::Value> &args);
373
+
374
+ static void VertexAttrib3fv(const v8::FunctionCallbackInfo<v8::Value> &args);
375
+
376
+ static void VertexAttrib4f(const v8::FunctionCallbackInfo<v8::Value> &args);
377
+
378
+ static void VertexAttrib4fv(const v8::FunctionCallbackInfo<v8::Value> &args);
379
+
380
+ static void VertexAttribPointer(const v8::FunctionCallbackInfo<v8::Value> &args);
381
+
382
+ static void Viewport(const v8::FunctionCallbackInfo<v8::Value> &args);
383
+
384
+ static void __ToDataURL(const v8::FunctionCallbackInfo<v8::Value> &args);
385
+
386
+ static void __GetSupportedExtensions(const v8::FunctionCallbackInfo<v8::Value> &args);
387
+
388
+ };
@@ -0,0 +1,119 @@
1
+ //
2
+ // Created by Osei Fortune on 30/04/2022.
3
+ //
4
+
5
+ #include "WebGLRenderingContextBase.h"
6
+
7
+ WebGLRenderingContextBase::WebGLRenderingContextBase(WebGLState* state,
8
+ WebGLRenderingVersion version)
9
+ : state_(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(raf_callback_ptr, OnRafCallbackOnFrame);
18
+ this->SetRaf(
19
+ std::make_shared<RafImpl>(
20
+ raf_callback,
21
+ raf_callback_ptr, raf));
22
+
23
+ auto _raf = this->GetRaf();
24
+
25
+ if (_raf != nullptr) {
26
+ canvas_native_raf_start(_raf->GetRaf());
27
+ }
28
+
29
+ }
30
+
31
+
32
+ void WebGLRenderingContextBase::StartRaf() {
33
+ auto raf = this->GetRaf();
34
+ if (raf != nullptr) {
35
+ if (!canvas_native_raf_get_started(raf->GetRaf())) {
36
+ canvas_native_raf_start(raf->GetRaf());
37
+ }
38
+ }
39
+ }
40
+
41
+
42
+ void WebGLRenderingContextBase::StopRaf() {
43
+ auto raf = this->GetRaf();
44
+ if (raf != nullptr) {
45
+ if (canvas_native_raf_get_started(raf->GetRaf())) {
46
+ canvas_native_raf_stop(raf->GetRaf());
47
+ }
48
+ }
49
+ }
50
+
51
+
52
+ void WebGLRenderingContextBase::UpdateInvalidateState() {
53
+ auto raf = this->GetRaf();
54
+ if (raf != nullptr) {
55
+ if (!canvas_native_raf_get_started(raf->GetRaf())) {
56
+ canvas_native_raf_start(raf->GetRaf());
57
+ }
58
+ }
59
+ auto state = this->GetInvalidateState();
60
+ this->SetInvalidateState(state | (int) InvalidateState::InvalidateStatePending);
61
+ }
62
+
63
+ void WebGLRenderingContextBase::Flush() {
64
+ auto state = this->GetInvalidateState() & (int) InvalidateState::InvalidateStatePending;
65
+ if (state == (int) InvalidateState::InvalidateStatePending) {
66
+ this->SetInvalidateState((int) InvalidateState::InvalidateStateInvalidating);
67
+ canvas_native_webgl_make_current(this->GetState());
68
+ canvas_native_webgl_swap_buffers(this->GetState());
69
+ this->SetInvalidateState((int) InvalidateState::InvalidateStateNone);
70
+ }
71
+ }
72
+
73
+ void WebGLRenderingContextBase::Flush(intptr_t context) {
74
+ auto ctx = reinterpret_cast<WebGLRenderingContextBase *>(reinterpret_cast<intptr_t *>(context));
75
+ if (ctx != nullptr) {
76
+ ctx->Flush();
77
+ }
78
+ }
79
+
80
+ WebGLState* WebGLRenderingContextBase::GetState() {
81
+ return this->state_;
82
+ }
83
+
84
+ void WebGLRenderingContextBase::SetRaf(std::shared_ptr<RafImpl> raf) {
85
+ this->raf_ = std::move(raf);
86
+ }
87
+
88
+ RafImpl *WebGLRenderingContextBase::GetRaf() {
89
+ return this->raf_.get();
90
+ }
91
+
92
+ void WebGLRenderingContextBase::SetInvalidateState(InvalidateState state) {
93
+ this->invalidateState_ = (int) state;
94
+ }
95
+
96
+
97
+ void WebGLRenderingContextBase::SetInvalidateState(int state) {
98
+ this->invalidateState_ = state;
99
+ }
100
+
101
+ int WebGLRenderingContextBase::GetInvalidateState() const {
102
+ return this->invalidateState_;
103
+ }
104
+
105
+ WebGLRenderingVersion WebGLRenderingContextBase::GetVersion() const {
106
+ return this->version_;
107
+ }
108
+
109
+ WebGLRenderingContextBase::~WebGLRenderingContextBase() {
110
+ auto _raf = this->GetRaf();
111
+ if (_raf != nullptr) {
112
+ canvas_native_raf_stop(
113
+ _raf->GetRaf());
114
+ }
115
+ canvas_native_raf_destroy(_raf->GetRaf());
116
+ this->raf_ = nullptr;
117
+ canvas_native_webgl_state_destroy(this->GetState());
118
+ this->state_ = nullptr;
119
+ }
@@ -0,0 +1,69 @@
1
+ //
2
+ // Created by Osei Fortune on 30/04/2022.
3
+ //
4
+
5
+ #pragma once
6
+ #pragma process_pending_includes
7
+
8
+ #include <vector>
9
+ #include <cstdint>
10
+ #include <memory>
11
+
12
+ #include "Helpers.h"
13
+ #include "RafImpl.h"
14
+ #include "OnRafCallback.h"
15
+ #include "Common.h"
16
+
17
+ enum class WebGLRenderingVersion : uint8_t {
18
+ V1,
19
+ V2
20
+ };
21
+
22
+ class WebGLRenderingContextBase {
23
+ public:
24
+ WebGLRenderingContextBase(WebGLState* state, WebGLRenderingVersion version);
25
+
26
+ static WebGLRenderingContextBase *GetPointer(const v8::Local<v8::Object> &object) {
27
+ auto ptr = object->GetInternalField(0).As<v8::External>()->Value();
28
+ if (ptr == nullptr) {
29
+ return nullptr;
30
+ }
31
+ return static_cast<WebGLRenderingContextBase *>(ptr);
32
+ }
33
+
34
+ ~WebGLRenderingContextBase();
35
+
36
+ void UpdateInvalidateState();
37
+
38
+ int GetInvalidateState() const;
39
+
40
+ void SetInvalidateState(int state);
41
+
42
+ void SetInvalidateState(InvalidateState state);
43
+
44
+ void Flush();
45
+
46
+ static void Flush(intptr_t context);
47
+
48
+ WebGLState* GetState();
49
+
50
+ void SetRaf(std::shared_ptr<RafImpl> raf);
51
+
52
+ RafImpl *GetRaf();
53
+
54
+ WebGLRenderingVersion GetVersion() const;
55
+
56
+ void StartRaf();
57
+
58
+ void StopRaf();
59
+
60
+ private:
61
+ WebGLState* state_;
62
+
63
+ WebGLRenderingVersion version_;
64
+
65
+ int invalidateState_ = static_cast<int>(InvalidateState::InvalidateStateNone);
66
+
67
+ std::shared_ptr<RafImpl> raf_;
68
+ };
69
+
@@ -0,0 +1,58 @@
1
+ //
2
+ // Created by Osei Fortune on 27/04/2022.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ #include "Helpers.h"
8
+
9
+ class WebGLShader {
10
+ public:
11
+ WebGLShader(uint32_t shader) : shader_(shader) {}
12
+
13
+ static v8::Local<v8::FunctionTemplate> GetCtor(v8::Isolate *isolate) {
14
+ auto cache = Caches::Get(isolate);
15
+ auto ctor = cache->WebGLShaderTmpl.get();
16
+ if (ctor != nullptr) {
17
+ return ctor->Get(isolate);
18
+ }
19
+
20
+ v8::Local<v8::FunctionTemplate> ctorTmpl = v8::FunctionTemplate::New(isolate);
21
+ ctorTmpl->InstanceTemplate()->SetInternalFieldCount(1);
22
+ ctorTmpl->SetClassName(ConvertToV8String(isolate, "WebGLShader"));
23
+
24
+ auto tmpl = ctorTmpl->InstanceTemplate();
25
+ tmpl->SetInternalFieldCount(1);
26
+
27
+ cache->WebGLShaderTmpl =
28
+ std::make_unique<v8::Persistent<v8::FunctionTemplate>>(isolate, ctorTmpl);
29
+ return ctorTmpl;
30
+ }
31
+
32
+ static v8::Local<v8::Object> NewInstance(v8::Isolate *isolate, WebGLShader *shader) {
33
+ auto context = isolate->GetCurrentContext();
34
+ v8::EscapableHandleScope scope(isolate);
35
+ auto object = WebGLShader::GetCtor(isolate)->GetFunction(
36
+ context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
37
+ SetNativeType(isolate, object, NativeType::WebGLShader);
38
+ auto ext = v8::External::New(isolate, shader);
39
+ object->SetInternalField(0, ext);
40
+ return scope.Escape(object);
41
+ }
42
+
43
+ static WebGLShader *GetPointer(const v8::Local<v8::Object> &object) {
44
+ auto ptr = object->GetInternalField(0).As<v8::External>()->Value();
45
+ if (ptr == nullptr) {
46
+ return nullptr;
47
+ }
48
+ return static_cast<WebGLShader *>(ptr);
49
+ }
50
+
51
+ uint32_t GetShader() {
52
+ return this->shader_;
53
+ }
54
+
55
+ private:
56
+ uint32_t shader_;
57
+ };
58
+
@@ -0,0 +1,50 @@
1
+ //
2
+ // Created by Osei Fortune on 27/04/2022.
3
+ //
4
+
5
+ #include "WebGLShaderPrecisionFormatImpl.h"
6
+
7
+ WebGLShaderPrecisionFormatImpl::WebGLShaderPrecisionFormatImpl(
8
+ WebGLShaderPrecisionFormat* shader) : shader_(shader) {}
9
+
10
+
11
+ void WebGLShaderPrecisionFormatImpl::GetRangeMin(v8::Local<v8::String> property,
12
+ const v8::PropertyCallbackInfo<v8::Value> &info) {
13
+ WebGLShaderPrecisionFormatImpl *ptr = GetPointer(info.This());
14
+ if (ptr == nullptr) {
15
+ info.GetReturnValue().Set(0);
16
+ return;
17
+ }
18
+
19
+ info.GetReturnValue().Set((double) canvas_native_webgl_shader_precision_format_get_range_min(
20
+ ptr->GetShaderPrecisionFormat()));
21
+ }
22
+
23
+ void WebGLShaderPrecisionFormatImpl::GetRangeMax(v8::Local<v8::String> property,
24
+ const v8::PropertyCallbackInfo<v8::Value> &info) {
25
+ WebGLShaderPrecisionFormatImpl *ptr = GetPointer(info.This());
26
+ if (ptr == nullptr) {
27
+ info.GetReturnValue().Set(0);
28
+ return;
29
+ }
30
+
31
+ info.GetReturnValue().Set((double) canvas_native_webgl_shader_precision_format_get_range_max(
32
+ ptr->GetShaderPrecisionFormat()));
33
+ }
34
+
35
+
36
+ void WebGLShaderPrecisionFormatImpl::GetPrecision(v8::Local<v8::String> property,
37
+ const v8::PropertyCallbackInfo<v8::Value> &info) {
38
+ WebGLShaderPrecisionFormatImpl *ptr = GetPointer(info.This());
39
+ if (ptr == nullptr) {
40
+ info.GetReturnValue().Set(0);
41
+ return;
42
+ }
43
+
44
+ info.GetReturnValue().Set((double) canvas_native_webgl_shader_precision_format_get_precision(
45
+ ptr->GetShaderPrecisionFormat()));
46
+ }
47
+
48
+ WebGLShaderPrecisionFormat* WebGLShaderPrecisionFormatImpl::GetShaderPrecisionFormat() {
49
+ return this->shader_;
50
+ }