@nativescript/canvas 2.0.0-beta.9 → 2.0.0-rc.0

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 (454) hide show
  1. package/Canvas/common.d.ts +15 -24
  2. package/Canvas/common.js +147 -203
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.d.ts +13 -15
  5. package/Canvas/index.android.js +152 -151
  6. package/Canvas/index.android.js.map +1 -1
  7. package/Canvas/index.d.ts +23 -11
  8. package/Canvas/index.ios.d.ts +14 -6
  9. package/Canvas/index.ios.js +213 -124
  10. package/Canvas/index.ios.js.map +1 -1
  11. package/Canvas/utils.d.ts +3 -0
  12. package/Canvas/utils.js +85 -0
  13. package/Canvas/utils.js.map +1 -0
  14. package/Canvas2D/CanvasRenderingContext2D/index.d.ts +4 -2
  15. package/Canvas2D/CanvasRenderingContext2D/index.js +79 -85
  16. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  17. package/Canvas2D/DOMMatrix/index.d.ts +14 -0
  18. package/Canvas2D/DOMMatrix/index.js +62 -0
  19. package/Canvas2D/DOMMatrix/index.js.map +1 -1
  20. package/Canvas2D/ImageData/index.js +4 -6
  21. package/Canvas2D/ImageData/index.js.map +1 -1
  22. package/Canvas2D/Path2D/index.js.map +1 -1
  23. package/Dom/Dom.js +8 -1
  24. package/Dom/Dom.js.map +1 -1
  25. package/Dom/Group.d.ts +1 -2
  26. package/Dom/Group.js.map +1 -1
  27. package/Dom/Image.d.ts +4 -1
  28. package/Dom/Image.js +15 -2
  29. package/Dom/Image.js.map +1 -1
  30. package/Dom/Paint.d.ts +1 -1
  31. package/Dom/Paint.js.map +1 -1
  32. package/Dom/Text.js.map +1 -1
  33. package/Dom/shaders/LinearGradient.js.map +1 -1
  34. package/Dom/shaders/TwoPointConicalGradient.js.map +1 -1
  35. package/Dom/shapes/Atlas.js.map +1 -1
  36. package/Dom/shapes/Circle.js.map +1 -1
  37. package/Dom/shapes/Line.js.map +1 -1
  38. package/Dom/shapes/Oval.js.map +1 -1
  39. package/Dom/shapes/Path.d.ts +1 -1
  40. package/Dom/shapes/Path.js.map +1 -1
  41. package/Dom/shapes/Rect.js.map +1 -1
  42. package/Dom/shapes/RoundedRect.js.map +1 -1
  43. package/Dom/shapes/index.js.map +1 -1
  44. package/Fonts/FontFace.android.d.ts +46 -0
  45. package/Fonts/FontFace.android.js +197 -0
  46. package/Fonts/FontFace.android.js.map +1 -0
  47. package/Fonts/FontFace.ios.d.ts +45 -0
  48. package/Fonts/FontFace.ios.js +169 -0
  49. package/Fonts/FontFace.ios.js.map +1 -0
  50. package/Fonts/FontFaceSet.android.d.ts +31 -0
  51. package/Fonts/FontFaceSet.android.js +119 -0
  52. package/Fonts/FontFaceSet.android.js.map +1 -0
  53. package/Fonts/FontFaceSet.ios.d.ts +31 -0
  54. package/Fonts/FontFaceSet.ios.js +109 -0
  55. package/Fonts/FontFaceSet.ios.js.map +1 -0
  56. package/Fonts/index.d.ts +2 -0
  57. package/Fonts/index.js +3 -0
  58. package/Fonts/index.js.map +1 -0
  59. package/ImageAsset/index.d.ts +8 -3
  60. package/ImageAsset/index.js +206 -11
  61. package/ImageAsset/index.js.map +1 -1
  62. package/ImageBitmap/index.js +110 -23
  63. package/ImageBitmap/index.js.map +1 -1
  64. package/README.md +62 -3
  65. package/TextDecoder/index.js +3 -3
  66. package/TextDecoder/index.js.map +1 -1
  67. package/TextEncoder/index.js +3 -3
  68. package/TextEncoder/index.js.map +1 -1
  69. package/WebGL/WebGLExtensions/index.js +5 -5
  70. package/WebGL/WebGLExtensions/index.js.map +1 -1
  71. package/WebGL/WebGLRenderingContext/common.d.ts +1 -1
  72. package/WebGL/WebGLRenderingContext/common.js.map +1 -1
  73. package/WebGL/WebGLRenderingContext/index.d.ts +1 -0
  74. package/WebGL/WebGLRenderingContext/index.js +144 -46
  75. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  76. package/WebGL2/WebGL2RenderingContext/index.d.ts +1 -0
  77. package/WebGL2/WebGL2RenderingContext/index.js +7 -8
  78. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
  79. package/WebGPU/Constants.d.ts +36 -0
  80. package/WebGPU/Constants.js +42 -0
  81. package/WebGPU/Constants.js.map +1 -0
  82. package/WebGPU/Errors.d.ts +18 -0
  83. package/WebGPU/Errors.js +21 -0
  84. package/WebGPU/Errors.js.map +1 -0
  85. package/WebGPU/GPU.d.ts +13 -0
  86. package/WebGPU/GPU.js +36 -0
  87. package/WebGPU/GPU.js.map +1 -0
  88. package/WebGPU/GPUAdapter.d.ts +26 -0
  89. package/WebGPU/GPUAdapter.js +93 -0
  90. package/WebGPU/GPUAdapter.js.map +1 -0
  91. package/WebGPU/GPUAdapterInfo.d.ts +9 -0
  92. package/WebGPU/GPUAdapterInfo.js +24 -0
  93. package/WebGPU/GPUAdapterInfo.js.map +1 -0
  94. package/WebGPU/GPUBindGroup.d.ts +6 -0
  95. package/WebGPU/GPUBindGroup.js +15 -0
  96. package/WebGPU/GPUBindGroup.js.map +1 -0
  97. package/WebGPU/GPUBindGroupLayout.d.ts +6 -0
  98. package/WebGPU/GPUBindGroupLayout.js +15 -0
  99. package/WebGPU/GPUBindGroupLayout.js.map +1 -0
  100. package/WebGPU/GPUBuffer.d.ts +15 -0
  101. package/WebGPU/GPUBuffer.js +66 -0
  102. package/WebGPU/GPUBuffer.js.map +1 -0
  103. package/WebGPU/GPUCanvasContext.d.ts +42 -0
  104. package/WebGPU/GPUCanvasContext.js +149 -0
  105. package/WebGPU/GPUCanvasContext.js.map +1 -0
  106. package/WebGPU/GPUCommandBuffer.d.ts +6 -0
  107. package/WebGPU/GPUCommandBuffer.js +15 -0
  108. package/WebGPU/GPUCommandBuffer.js.map +1 -0
  109. package/WebGPU/GPUCommandEncoder.d.ts +35 -0
  110. package/WebGPU/GPUCommandEncoder.js +163 -0
  111. package/WebGPU/GPUCommandEncoder.js.map +1 -0
  112. package/WebGPU/GPUComputePassEncoder.d.ts +17 -0
  113. package/WebGPU/GPUComputePassEncoder.js +53 -0
  114. package/WebGPU/GPUComputePassEncoder.js.map +1 -0
  115. package/WebGPU/GPUComputePipeline.d.ts +8 -0
  116. package/WebGPU/GPUComputePipeline.js +19 -0
  117. package/WebGPU/GPUComputePipeline.js.map +1 -0
  118. package/WebGPU/GPUDevice.d.ts +111 -0
  119. package/WebGPU/GPUDevice.js +341 -0
  120. package/WebGPU/GPUDevice.js.map +1 -0
  121. package/WebGPU/GPUDeviceLostInfo.d.ts +1 -0
  122. package/WebGPU/GPUDeviceLostInfo.js +10 -0
  123. package/WebGPU/GPUDeviceLostInfo.js.map +1 -0
  124. package/WebGPU/GPUExternalTexture.d.ts +6 -0
  125. package/WebGPU/GPUExternalTexture.js +15 -0
  126. package/WebGPU/GPUExternalTexture.js.map +1 -0
  127. package/WebGPU/GPUPipelineLayout.d.ts +6 -0
  128. package/WebGPU/GPUPipelineLayout.js +15 -0
  129. package/WebGPU/GPUPipelineLayout.js.map +1 -0
  130. package/WebGPU/GPUQuerySet.d.ts +6 -0
  131. package/WebGPU/GPUQuerySet.js +15 -0
  132. package/WebGPU/GPUQuerySet.js.map +1 -0
  133. package/WebGPU/GPUQueue.d.ts +15 -0
  134. package/WebGPU/GPUQueue.js +128 -0
  135. package/WebGPU/GPUQueue.js.map +1 -0
  136. package/WebGPU/GPURenderBundle.d.ts +6 -0
  137. package/WebGPU/GPURenderBundle.js +15 -0
  138. package/WebGPU/GPURenderBundle.js.map +1 -0
  139. package/WebGPU/GPURenderBundleEncoder.d.ts +22 -0
  140. package/WebGPU/GPURenderBundleEncoder.js +65 -0
  141. package/WebGPU/GPURenderBundleEncoder.js.map +1 -0
  142. package/WebGPU/GPURenderPassEncoder.d.ts +33 -0
  143. package/WebGPU/GPURenderPassEncoder.js +106 -0
  144. package/WebGPU/GPURenderPassEncoder.js.map +1 -0
  145. package/WebGPU/GPURenderPipeline.d.ts +8 -0
  146. package/WebGPU/GPURenderPipeline.js +19 -0
  147. package/WebGPU/GPURenderPipeline.js.map +1 -0
  148. package/WebGPU/GPUSampler.d.ts +6 -0
  149. package/WebGPU/GPUSampler.js +15 -0
  150. package/WebGPU/GPUSampler.js.map +1 -0
  151. package/WebGPU/GPUShaderModule.d.ts +6 -0
  152. package/WebGPU/GPUShaderModule.js +15 -0
  153. package/WebGPU/GPUShaderModule.js.map +1 -0
  154. package/WebGPU/GPUTexture.d.ts +18 -0
  155. package/WebGPU/GPUTexture.js +47 -0
  156. package/WebGPU/GPUTexture.js.map +1 -0
  157. package/WebGPU/GPUTextureView.d.ts +6 -0
  158. package/WebGPU/GPUTextureView.js +15 -0
  159. package/WebGPU/GPUTextureView.js.map +1 -0
  160. package/WebGPU/Interfaces.d.ts +246 -0
  161. package/WebGPU/Interfaces.js +2 -0
  162. package/WebGPU/Interfaces.js.map +1 -0
  163. package/WebGPU/Types.d.ts +47 -0
  164. package/WebGPU/Types.js +2 -0
  165. package/WebGPU/Types.js.map +1 -0
  166. package/WebGPU/Utils.d.ts +7 -0
  167. package/WebGPU/Utils.js +301 -0
  168. package/WebGPU/Utils.js.map +1 -0
  169. package/WebGPU/index.d.ts +28 -0
  170. package/WebGPU/index.js +29 -0
  171. package/WebGPU/index.js.map +1 -0
  172. package/angular/{esm2020 → esm2022}/index.mjs +5 -5
  173. package/angular/{fesm2015 → fesm2022}/nativescript-canvas-angular.mjs +4 -4
  174. package/angular/{fesm2015 → fesm2022}/nativescript-canvas-angular.mjs.map +1 -1
  175. package/angular/package.json +4 -10
  176. package/common.d.ts +0 -3
  177. package/common.js +1 -5
  178. package/common.js.map +1 -1
  179. package/helpers.js.map +1 -1
  180. package/index.d.ts +4 -2
  181. package/index.js +37 -3
  182. package/index.js.map +1 -1
  183. package/package.json +2 -5
  184. package/platforms/android/canvas-release.aar +0 -0
  185. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  186. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +194 -56
  187. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative.h +1 -0
  188. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/NSCMTLView.h +32 -0
  189. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +152 -151
  190. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +2901 -411
  191. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  192. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  193. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +10901 -8099
  194. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +259 -52
  195. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  196. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +259 -52
  197. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Black.ttf +0 -0
  198. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Bold.ttf +0 -0
  199. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-ExtraBold.ttf +0 -0
  200. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-ExtraLight.ttf +0 -0
  201. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Light.ttf +0 -0
  202. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Medium.ttf +0 -0
  203. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Regular.ttf +0 -0
  204. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-SemiBold.ttf +0 -0
  205. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoMath-Regular.ttf +0 -0
  206. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Bold.ttf +0 -0
  207. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-BoldItalic.ttf +0 -0
  208. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Italic.ttf +0 -0
  209. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Medium.ttf +0 -0
  210. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-MediumItalic.ttf +0 -0
  211. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Regular.ttf +0 -0
  212. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-SemiBold.ttf +0 -0
  213. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-SemiBoldItalic.ttf +0 -0
  214. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  215. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +994 -663
  216. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  217. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +388 -112
  218. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative.h +1 -0
  219. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/NSCMTLView.h +32 -0
  220. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +152 -151
  221. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +2901 -411
  222. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  223. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  224. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  225. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +10901 -8099
  226. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +259 -52
  227. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  228. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +259 -52
  229. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +10901 -8099
  230. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +259 -52
  231. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  232. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +259 -52
  233. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +143 -33
  234. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Black.ttf +0 -0
  235. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Bold.ttf +0 -0
  236. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-ExtraBold.ttf +0 -0
  237. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-ExtraLight.ttf +0 -0
  238. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Light.ttf +0 -0
  239. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Medium.ttf +0 -0
  240. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Regular.ttf +0 -0
  241. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-SemiBold.ttf +0 -0
  242. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoMath-Regular.ttf +0 -0
  243. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Bold.ttf +0 -0
  244. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-BoldItalic.ttf +0 -0
  245. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Italic.ttf +0 -0
  246. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Medium.ttf +0 -0
  247. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-MediumItalic.ttf +0 -0
  248. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Regular.ttf +0 -0
  249. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-SemiBold.ttf +0 -0
  250. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-SemiBoldItalic.ttf +0 -0
  251. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  252. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +993 -662
  253. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +1037 -641
  254. package/platforms/ios/build.xcconfig +3 -1
  255. package/platforms/ios/src/NSOperationQueueWrapper.h +3 -1
  256. package/platforms/ios/src/NSOperationQueueWrapper.mm +41 -9
  257. package/platforms/ios/src/cpp/AsyncCallback.h +214 -0
  258. package/platforms/ios/src/cpp/Caches.h +69 -1
  259. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +647 -1166
  260. package/platforms/ios/src/cpp/CanvasJSIModule.h +11 -1
  261. package/platforms/ios/src/cpp/Helpers.h +2 -129
  262. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +600 -437
  263. package/platforms/ios/src/cpp/ImageAssetImpl.h +18 -10
  264. package/platforms/ios/src/cpp/ImageBitmapImpl.cpp +63 -6
  265. package/platforms/ios/src/cpp/ImageBitmapImpl.h +12 -4
  266. package/platforms/ios/src/cpp/JSIReadFileCallback.h +4 -4
  267. package/platforms/ios/src/cpp/NativeType.h +87 -0
  268. package/platforms/ios/src/cpp/ObjectWrapperImpl.h +50 -0
  269. package/platforms/ios/src/cpp/OneByteStringResource.cpp +2 -2
  270. package/platforms/ios/src/cpp/PromiseCallback.h +197 -0
  271. package/platforms/ios/src/cpp/RafImpl.h +2 -2
  272. package/platforms/ios/src/cpp/TextDecoderImpl.cpp +0 -6
  273. package/platforms/ios/src/cpp/TextDecoderImpl.h +3 -3
  274. package/platforms/ios/src/cpp/TextEncoderImpl.cpp +1 -1
  275. package/platforms/ios/src/cpp/TextEncoderImpl.h +3 -3
  276. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +8 -7
  277. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.cpp +1 -11
  278. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +3 -3
  279. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +193 -90
  280. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +77 -23
  281. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +5 -6
  282. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +4 -4
  283. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +409 -3
  284. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +29 -2
  285. package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +6 -3
  286. package/platforms/ios/src/cpp/canvas2d/Path2D.h +7 -7
  287. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +3 -3
  288. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +1 -1
  289. package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +1 -1
  290. package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +1 -1
  291. package/platforms/ios/src/cpp/webgl/WebGLProgram.h +3 -3
  292. package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +3 -3
  293. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +247 -160
  294. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +1 -1
  295. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +6 -6
  296. package/platforms/ios/src/cpp/webgl/WebGLShader.h +1 -1
  297. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +5 -5
  298. package/platforms/ios/src/cpp/webgl/WebGLTexture.h +3 -2
  299. package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +2 -2
  300. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +1 -1
  301. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +1 -1
  302. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +1 -1
  303. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +1 -1
  304. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +1 -1
  305. package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +1 -1
  306. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +1 -1
  307. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +2 -2
  308. package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +5 -5
  309. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +1 -1
  310. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +1 -1
  311. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +1 -1
  312. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +1 -1
  313. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +1 -1
  314. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +1 -1
  315. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +1 -1
  316. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +1 -1
  317. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +1 -1
  318. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +2 -2
  319. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +1 -1
  320. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +1 -1
  321. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +1 -1
  322. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +1 -1
  323. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +1 -1
  324. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +1 -1
  325. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +1067 -960
  326. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +1 -1
  327. package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +1 -1
  328. package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +1 -1
  329. package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +1 -1
  330. package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +1 -1
  331. package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +2 -2
  332. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +371 -0
  333. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.h +63 -0
  334. package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.cpp +174 -0
  335. package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.h +58 -0
  336. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.cpp +79 -0
  337. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.h +48 -0
  338. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.cpp +79 -0
  339. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.h +48 -0
  340. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp +277 -0
  341. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.h +63 -0
  342. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +379 -0
  343. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.h +57 -0
  344. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.cpp +81 -0
  345. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.h +48 -0
  346. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +1217 -0
  347. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h +73 -0
  348. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.cpp +293 -0
  349. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.h +65 -0
  350. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.cpp +109 -0
  351. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.h +51 -0
  352. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +3701 -0
  353. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h +97 -0
  354. package/platforms/ios/src/cpp/webgpu/GPUImpl.cpp +200 -0
  355. package/platforms/ios/src/cpp/webgpu/GPUImpl.h +55 -0
  356. package/platforms/ios/src/cpp/webgpu/GPULabel.h +33 -0
  357. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.cpp +80 -0
  358. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.h +49 -0
  359. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.cpp +136 -0
  360. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.h +55 -0
  361. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +605 -0
  362. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h +59 -0
  363. package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.cpp +501 -0
  364. package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.h +74 -0
  365. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.cpp +78 -0
  366. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.h +48 -0
  367. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +723 -0
  368. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +92 -0
  369. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.cpp +109 -0
  370. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.h +52 -0
  371. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.cpp +79 -0
  372. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.h +48 -0
  373. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.cpp +80 -0
  374. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.h +48 -0
  375. package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.cpp +1304 -0
  376. package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.h +288 -0
  377. package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.cpp +386 -0
  378. package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h +77 -0
  379. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.cpp +79 -0
  380. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.h +48 -0
  381. package/platforms/ios/src/cpp/webgpu/GPUUtils.h +756 -0
  382. package/react/index.d.ts +1 -1
  383. package/utils.d.ts +1 -1
  384. package/utils.js.map +1 -1
  385. package/SVG/Circle.d.ts +0 -11
  386. package/SVG/Circle.js +0 -21
  387. package/SVG/Circle.js.map +0 -1
  388. package/SVG/ClipPath.d.ts +0 -4
  389. package/SVG/ClipPath.js +0 -9
  390. package/SVG/ClipPath.js.map +0 -1
  391. package/SVG/Defs.d.ts +0 -4
  392. package/SVG/Defs.js +0 -9
  393. package/SVG/Defs.js.map +0 -1
  394. package/SVG/Ellipse.d.ts +0 -13
  395. package/SVG/Ellipse.js +0 -26
  396. package/SVG/Ellipse.js.map +0 -1
  397. package/SVG/G.d.ts +0 -7
  398. package/SVG/G.js +0 -9
  399. package/SVG/G.js.map +0 -1
  400. package/SVG/Image.d.ts +0 -11
  401. package/SVG/Image.js +0 -40
  402. package/SVG/Image.js.map +0 -1
  403. package/SVG/Line.d.ts +0 -13
  404. package/SVG/Line.js +0 -26
  405. package/SVG/Line.js.map +0 -1
  406. package/SVG/LinearGradient.d.ts +0 -10
  407. package/SVG/LinearGradient.js +0 -13
  408. package/SVG/LinearGradient.js.map +0 -1
  409. package/SVG/Path.d.ts +0 -7
  410. package/SVG/Path.js +0 -14
  411. package/SVG/Path.js.map +0 -1
  412. package/SVG/Pattern.d.ts +0 -4
  413. package/SVG/Pattern.js +0 -9
  414. package/SVG/Pattern.js.map +0 -1
  415. package/SVG/Polygon.d.ts +0 -7
  416. package/SVG/Polygon.js +0 -14
  417. package/SVG/Polygon.js.map +0 -1
  418. package/SVG/Polyline.d.ts +0 -7
  419. package/SVG/Polyline.js +0 -14
  420. package/SVG/Polyline.js.map +0 -1
  421. package/SVG/Rect.d.ts +0 -8
  422. package/SVG/Rect.js +0 -13
  423. package/SVG/Rect.js.map +0 -1
  424. package/SVG/SVG.d.ts +0 -32
  425. package/SVG/SVG.js +0 -204
  426. package/SVG/SVG.js.map +0 -1
  427. package/SVG/SVGItem.d.ts +0 -5
  428. package/SVG/SVGItem.js +0 -8
  429. package/SVG/SVGItem.js.map +0 -1
  430. package/SVG/Stop.d.ts +0 -5
  431. package/SVG/Stop.js +0 -9
  432. package/SVG/Stop.js.map +0 -1
  433. package/SVG/Symbol.d.ts +0 -4
  434. package/SVG/Symbol.js +0 -9
  435. package/SVG/Symbol.js.map +0 -1
  436. package/SVG/Text.d.ts +0 -14
  437. package/SVG/Text.js +0 -26
  438. package/SVG/Text.js.map +0 -1
  439. package/SVG/Use.d.ts +0 -4
  440. package/SVG/Use.js +0 -9
  441. package/SVG/Use.js.map +0 -1
  442. package/SVG/index.d.ts +0 -18
  443. package/SVG/index.js +0 -19
  444. package/SVG/index.js.map +0 -1
  445. package/angular/fesm2020/nativescript-canvas-angular.mjs +0 -24
  446. package/angular/fesm2020/nativescript-canvas-angular.mjs.map +0 -1
  447. package/platforms/ios/src/cpp/PerIsolateData.cpp +0 -49
  448. package/platforms/ios/src/cpp/PerIsolateData.h +0 -54
  449. package/platforms/ios/src/cpp/URLImpl.cpp +0 -464
  450. package/platforms/ios/src/cpp/URLImpl.h +0 -121
  451. package/typings/objc!CanvasNative.d.ts +0 -2038
  452. package/typings/objc!CanvasNative.js +0 -1
  453. package/typings/objc!CanvasNative.js.map +0 -1
  454. /package/angular/{esm2020 → esm2022}/nativescript-canvas-angular.mjs +0 -0
@@ -171,7 +171,7 @@ public:
171
171
  v8::EscapableHandleScope scope(isolate);
172
172
  auto object = CanvasRenderingContext2DImpl::GetCtor(isolate)->GetFunction(
173
173
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
174
- SetNativeType(object, NativeType::CanvasRenderingContext2D);
174
+ SetNativeType(renderingContext, NativeType::CanvasRenderingContext2D);
175
175
  object->SetAlignedPointerInInternalField(0, renderingContext);
176
176
  renderingContext->BindFinalizer(isolate, object);
177
177
  return scope.Escape(object);
@@ -503,9 +503,12 @@ public:
503
503
 
504
504
  switch (rule) {
505
505
  case 0:
506
+ canvas_native_context_clip_rule(
507
+ ptr->GetContext(), CanvasFillRuleNonZero);
508
+ break;
506
509
  case 1:
507
510
  canvas_native_context_clip_rule(
508
- ptr->GetContext(), rule);
511
+ ptr->GetContext(), CanvasFillRuleEvenOdd);
509
512
  break;
510
513
  default:
511
514
  break;
@@ -521,7 +524,7 @@ public:
521
524
  if (GetNativeType(path_obj) == NativeType::Path2D) {
522
525
  auto path = Path2D::GetPointer(path_obj);
523
526
  canvas_native_context_clip(
524
- ptr->GetContext(), path->GetPath(), 0);
527
+ ptr->GetContext(), path->GetPath(), CanvasFillRuleNonZero);
525
528
  }
526
529
 
527
530
 
@@ -536,8 +539,18 @@ public:
536
539
 
537
540
  if (GetNativeType(path_obj) == NativeType::Path2D) {
538
541
  auto path = Path2D::GetPointer(path_obj);
539
- canvas_native_context_clip(
540
- ptr->GetContext(), path->GetPath(), rule);
542
+ switch (rule) {
543
+ case 0:
544
+ canvas_native_context_clip(
545
+ ptr->GetContext(), path->GetPath(), CanvasFillRuleNonZero);
546
+ break;
547
+ case 1:
548
+ canvas_native_context_clip(
549
+ ptr->GetContext(), path->GetPath(), CanvasFillRuleEvenOdd);
550
+ break;
551
+ default:
552
+ break;
553
+ }
541
554
  }
542
555
 
543
556
  }
@@ -623,7 +636,7 @@ public:
623
636
  static void DrawImage(const v8::FunctionCallbackInfo<v8::Value> &args);
624
637
 
625
638
  static void
626
- DrawImageDxDyAssetImpl(CanvasRenderingContext2DImpl *ptr, ImageAsset *asset, double dx,
639
+ DrawImageDxDyAssetImpl(CanvasRenderingContext2DImpl *ptr, const ImageAsset *asset, double dx,
627
640
  double dy) {
628
641
  if (asset != nullptr) {
629
642
  canvas_native_context_draw_image_dx_dy_asset(
@@ -677,7 +690,7 @@ public:
677
690
  }
678
691
  }
679
692
 
680
- static void DrawImageDxDyDwDhAssetImpl(CanvasRenderingContext2DImpl *ptr, ImageAsset *asset,
693
+ static void DrawImageDxDyDwDhAssetImpl(CanvasRenderingContext2DImpl *ptr, const ImageAsset *asset,
681
694
  double dx, double dy, double dw, double dh) {
682
695
 
683
696
 
@@ -770,7 +783,7 @@ public:
770
783
 
771
784
  static void
772
785
  DrawImageAssetImpl(CanvasRenderingContext2DImpl *ptr,
773
- ImageAsset *asset, double sx,
786
+ const ImageAsset *asset, double sx,
774
787
  double sy, double sw, double sh, double dx, double dy, double dw,
775
788
  double dh) {
776
789
 
@@ -884,10 +897,23 @@ public:
884
897
  auto object = Path2D::GetPointer(path);
885
898
 
886
899
  if (object != nullptr) {
887
- canvas_native_context_fill_with_path(
888
- ptr->GetContext(),
889
- object->GetPath(),
890
- rule);
900
+ switch (rule) {
901
+ case 0:
902
+ canvas_native_context_fill_with_path(
903
+ ptr->GetContext(),
904
+ object->GetPath(),
905
+ CanvasFillRuleNonZero);
906
+ break;
907
+ case 1:
908
+ canvas_native_context_fill_with_path(
909
+ ptr->GetContext(),
910
+ object->GetPath(),
911
+ CanvasFillRuleEvenOdd);
912
+ break;
913
+ default:
914
+ break;
915
+ }
916
+
891
917
  ptr->UpdateInvalidateState();
892
918
  }
893
919
  }
@@ -901,9 +927,10 @@ public:
901
927
 
902
928
  auto object = Path2D::GetPointer(path);
903
929
 
930
+
904
931
  canvas_native_context_fill_with_path(
905
932
  ptr->GetContext(),
906
- object->GetPath(), 0);
933
+ object->GetPath(), CanvasFillRuleNonZero);
907
934
  ptr->UpdateInvalidateState();
908
935
  }
909
936
 
@@ -913,8 +940,21 @@ public:
913
940
  return;
914
941
  }
915
942
 
916
- canvas_native_context_fill(
917
- ptr->GetContext(), rule);
943
+
944
+ switch (rule) {
945
+ case 0:
946
+ canvas_native_context_fill(
947
+ ptr->GetContext(), CanvasFillRuleNonZero);
948
+ break;
949
+ case 1:
950
+ canvas_native_context_fill(
951
+ ptr->GetContext(), CanvasFillRuleEvenOdd);
952
+ break;
953
+ default:
954
+ break;
955
+ }
956
+
957
+
918
958
  ptr->UpdateInvalidateState();
919
959
  }
920
960
 
@@ -925,7 +965,7 @@ public:
925
965
  }
926
966
 
927
967
  canvas_native_context_fill(
928
- ptr->GetContext(), 0);
968
+ ptr->GetContext(), CanvasFillRuleNonZero);
929
969
  ptr->UpdateInvalidateState();
930
970
  }
931
971
 
@@ -986,7 +1026,8 @@ public:
986
1026
  }
987
1027
 
988
1028
  return canvas_native_context_is_point_in_path(
989
- ptr->GetContext(), static_cast<float>(x), static_cast<float>(y), 0);
1029
+ ptr->GetContext(), static_cast<float>(x), static_cast<float>(y),
1030
+ CanvasFillRuleNonZero);
990
1031
  }
991
1032
 
992
1033
  static bool
@@ -997,8 +1038,10 @@ public:
997
1038
  return false;
998
1039
  }
999
1040
 
1041
+
1000
1042
  return canvas_native_context_is_point_in_path(
1001
- ptr->GetContext(), static_cast<float>(x), static_cast<float>(y), rule);
1043
+ ptr->GetContext(), static_cast<float>(x), static_cast<float>(y),
1044
+ rule == 0 ? CanvasFillRuleNonZero : CanvasFillRuleEvenOdd);
1002
1045
  }
1003
1046
 
1004
1047
  static bool
@@ -1018,10 +1061,22 @@ public:
1018
1061
  if (type == NativeType::Path2D) {
1019
1062
  auto path = Path2D::GetPointer(path_obj);
1020
1063
 
1021
-
1022
- ret = canvas_native_context_is_point_in_path_with_path(
1023
- ptr->GetContext(),
1024
- path->GetPath(), x, y, rule);
1064
+ switch (rule) {
1065
+ case 0:
1066
+
1067
+ ret = canvas_native_context_is_point_in_path_with_path(
1068
+ ptr->GetContext(),
1069
+ path->GetPath(), (float) x, (float) y, CanvasFillRuleNonZero);
1070
+ break;
1071
+ case 1:
1072
+
1073
+ ret = canvas_native_context_is_point_in_path_with_path(
1074
+ ptr->GetContext(),
1075
+ path->GetPath(), (float) x, (float) y, CanvasFillRuleEvenOdd);
1076
+ break;
1077
+ default:
1078
+ break;
1079
+ }
1025
1080
 
1026
1081
  }
1027
1082
  return ret;
@@ -1398,7 +1453,6 @@ public:
1398
1453
  static void StrokeText(const v8::FunctionCallbackInfo<v8::Value> &args);
1399
1454
 
1400
1455
 
1401
-
1402
1456
  static void StrokeOval(const v8::FunctionCallbackInfo<v8::Value> &args);
1403
1457
 
1404
1458
 
@@ -23,9 +23,9 @@ public:
23
23
  }
24
24
 
25
25
  ~ImageDataBuffer() {
26
- canvas_native_u8_buffer_destroy(slice_);
26
+ canvas_native_u8_buffer_release(slice_);
27
27
  slice_ = nullptr;
28
- canvas_native_image_data_destroy(imageData_);
28
+ canvas_native_image_data_release(imageData_);
29
29
  imageData_ = nullptr;
30
30
  }
31
31
 
@@ -115,7 +115,7 @@ void ImageDataImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
115
115
 
116
116
  object->BindFinalizer(isolate, ret);
117
117
 
118
- SetNativeType(ret, NativeType::ImageData);
118
+ SetNativeType(object, NativeType::ImageData);
119
119
 
120
120
  args.GetReturnValue().Set(ret);
121
121
  return;
@@ -136,7 +136,7 @@ void ImageDataImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
136
136
 
137
137
  ret->SetAlignedPointerInInternalField(0, object);
138
138
 
139
- SetNativeType(ret, NativeType::ImageData);
139
+ SetNativeType(object, NativeType::ImageData);
140
140
 
141
141
  object->BindFinalizer(isolate, ret);
142
142
 
@@ -181,8 +181,7 @@ ImageDataImpl::GetData(v8::Local<v8::Name> name,
181
181
  if (ptr != nullptr) {
182
182
  auto isolate = info.GetIsolate();
183
183
 
184
- auto data = new ImageDataBuffer(
185
- canvas_native_image_data_get_shared_instance(ptr->GetImageData()));
184
+ auto data = new ImageDataBuffer(ptr->GetImageData());
186
185
 
187
186
  auto length = data->size();
188
187
  auto store = v8::ArrayBuffer::NewBackingStore(data->data(), length,
@@ -8,12 +8,12 @@
8
8
  #include "Common.h"
9
9
  #include "ObjectWrapperImpl.h"
10
10
 
11
- class ImageDataImpl: ObjectWrapperImpl {
11
+ class ImageDataImpl : public ObjectWrapperImpl {
12
12
  public:
13
- ImageDataImpl(ImageData* imageData);
14
-
13
+ explicit ImageDataImpl(ImageData* imageData);
14
+
15
15
  ~ImageDataImpl(){
16
- canvas_native_image_data_destroy(this->GetImageData());
16
+ canvas_native_image_data_release(this->GetImageData());
17
17
  this->imageData_ = nullptr;
18
18
  }
19
19
 
@@ -183,6 +183,71 @@ v8::Local<v8::FunctionTemplate> MatrixImpl::GetCtor(v8::Isolate *isolate) {
183
183
  );
184
184
 
185
185
 
186
+ tmpl->Set(
187
+ ConvertToV8String(isolate, "translate"),
188
+ v8::FunctionTemplate::New(isolate, Translate)
189
+ );
190
+
191
+ tmpl->Set(
192
+ ConvertToV8String(isolate, "translateSelf"),
193
+ v8::FunctionTemplate::New(isolate, TranslateSelf)
194
+ );
195
+
196
+
197
+ tmpl->Set(
198
+ ConvertToV8String(isolate, "multiplySelf"),
199
+ v8::FunctionTemplate::New(isolate, MultiplySelf)
200
+ );
201
+
202
+ tmpl->Set(
203
+ ConvertToV8String(isolate, "premultiplySelf"),
204
+ v8::FunctionTemplate::New(isolate, PremultiplySelf)
205
+ );
206
+
207
+
208
+ tmpl->Set(
209
+ ConvertToV8String(isolate, "scaleNonUniform"),
210
+ v8::FunctionTemplate::New(isolate, ScaleNonUniform)
211
+ );
212
+
213
+ tmpl->Set(
214
+ ConvertToV8String(isolate, "scaleNonUniformSelf"),
215
+ v8::FunctionTemplate::New(isolate, ScaleNonUniformSelf)
216
+ );
217
+
218
+ tmpl->Set(
219
+ ConvertToV8String(isolate, "rotate"),
220
+ v8::FunctionTemplate::New(isolate, Rotate)
221
+ );
222
+
223
+ tmpl->Set(
224
+ ConvertToV8String(isolate, "rotateSelf"),
225
+ v8::FunctionTemplate::New(isolate, RotateSelf)
226
+ );
227
+
228
+
229
+ tmpl->Set(
230
+ ConvertToV8String(isolate, "skewX"),
231
+ v8::FunctionTemplate::New(isolate, SkewX)
232
+ );
233
+
234
+ tmpl->Set(
235
+ ConvertToV8String(isolate, "skewXSelf"),
236
+ v8::FunctionTemplate::New(isolate, SkewXSelf)
237
+ );
238
+
239
+
240
+ tmpl->Set(
241
+ ConvertToV8String(isolate, "skewY"),
242
+ v8::FunctionTemplate::New(isolate, SkewY)
243
+ );
244
+
245
+ tmpl->Set(
246
+ ConvertToV8String(isolate, "skewYSelf"),
247
+ v8::FunctionTemplate::New(isolate, SkewYSelf)
248
+ );
249
+
250
+
186
251
  cache->MatrixTmpl =
187
252
  std::make_unique<v8::Persistent<v8::FunctionTemplate>>(isolate, ctorTmpl);
188
253
  return ctorTmpl;
@@ -216,7 +281,7 @@ void MatrixImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
216
281
 
217
282
  ret->SetAlignedPointerInInternalField(0, object);
218
283
 
219
- SetNativeType( ret, NativeType::Matrix);
284
+ SetNativeType(object, NativeType::Matrix);
220
285
 
221
286
  object->BindFinalizer(isolate, ret);
222
287
 
@@ -242,7 +307,7 @@ void MatrixImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
242
307
 
243
308
  ret->SetAlignedPointerInInternalField(0, object);
244
309
 
245
- SetNativeType( ret, NativeType::Matrix);
310
+ SetNativeType(object, NativeType::Matrix);
246
311
 
247
312
  object->BindFinalizer(isolate, ret);
248
313
 
@@ -257,7 +322,7 @@ void MatrixImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
257
322
 
258
323
  ret->SetAlignedPointerInInternalField(0, object);
259
324
 
260
- SetNativeType( ret, NativeType::Matrix);
325
+ SetNativeType(object, NativeType::Matrix);
261
326
 
262
327
  object->BindFinalizer(isolate, ret);
263
328
 
@@ -802,6 +867,347 @@ void MatrixImpl::SetM44(v8::Local<v8::String> property,
802
867
  canvas_native_matrix_set_m44(ptr->GetMatrix(), (float) value->NumberValue(context).ToChecked());
803
868
  }
804
869
 
870
+
871
+ void MatrixImpl::Translate(const v8::FunctionCallbackInfo<v8::Value> &args) {
872
+ auto count = args.Length();
873
+ auto isolate = args.GetIsolate();
874
+
875
+
876
+ if (count >= 3) {
877
+ auto context = isolate->GetCurrentContext();
878
+ auto x = args[0];
879
+ auto y = args[1];
880
+ auto value = args[2];
881
+ auto type = GetNativeType(value);
882
+ if (type == NativeType::Matrix) {
883
+ auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
884
+ auto matrix = canvas_native_matrix_translate(
885
+ (float) x->NumberValue(context).ToChecked(),
886
+ (float) y->NumberValue(context).ToChecked(),
887
+ ptr->GetMatrix());
888
+ if (matrix == nullptr) {
889
+ args.GetReturnValue().SetUndefined();
890
+ return;
891
+ }
892
+
893
+
894
+ auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
895
+ context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
896
+ auto object = new MatrixImpl(matrix);
897
+
898
+ ret->SetAlignedPointerInInternalField(0, object);
899
+
900
+ SetNativeType(object, NativeType::Matrix);
901
+
902
+ object->BindFinalizer(isolate, ret);
903
+
904
+ args.GetReturnValue().Set(ret);
905
+ return;
906
+ }
907
+ }
908
+
909
+ args.GetReturnValue().SetUndefined();
910
+ }
911
+
912
+ void MatrixImpl::TranslateSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
913
+ auto count = args.Length();
914
+ auto isolate = args.GetIsolate();
915
+
916
+ MatrixImpl *ptr = GetPointer(args.This());
917
+
918
+ if (count >= 2) {
919
+ auto context = isolate->GetCurrentContext();
920
+ auto x = args[0];
921
+ auto y = args[1];
922
+
923
+ canvas_native_matrix_translate_self(ptr->GetMatrix(),
924
+ (float) x->NumberValue(context).ToChecked(),
925
+ (float) y->NumberValue(context).ToChecked());
926
+ }
927
+ }
928
+
929
+ void MatrixImpl::MultiplySelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
930
+ auto count = args.Length();
931
+ auto isolate = args.GetIsolate();
932
+
933
+ MatrixImpl *ptr = GetPointer(args.This());
934
+
935
+ if (count >= 1) {
936
+ auto context = isolate->GetCurrentContext();
937
+ auto value = args[0];
938
+ auto type = GetNativeType(value);
939
+ if (type == NativeType::Matrix) {
940
+ auto matrix = GetPointer(value.As<v8::Object>());
941
+ canvas_native_matrix_multiply_self(ptr->GetMatrix(), matrix->GetMatrix());
942
+ }
943
+ }
944
+ }
945
+
946
+ void MatrixImpl::PremultiplySelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
947
+ auto count = args.Length();
948
+ auto isolate = args.GetIsolate();
949
+
950
+ MatrixImpl *ptr = GetPointer(args.This());
951
+
952
+ if (count >= 1) {
953
+ auto context = isolate->GetCurrentContext();
954
+ auto value = args[0];
955
+ auto type = GetNativeType(value);
956
+ if (type == NativeType::Matrix) {
957
+ auto matrix = GetPointer(value.As<v8::Object>());
958
+ canvas_native_matrix_premultiply_self(ptr->GetMatrix(), matrix->GetMatrix());
959
+ }
960
+ }
961
+ }
962
+
963
+ void MatrixImpl::ScaleNonUniform(const v8::FunctionCallbackInfo<v8::Value> &args) {
964
+ auto count = args.Length();
965
+ auto isolate = args.GetIsolate();
966
+
967
+
968
+ if (count >= 3) {
969
+ auto context = isolate->GetCurrentContext();
970
+ auto sx = args[0];
971
+ auto sy = args[1];
972
+ auto value = args[2];
973
+ auto type = GetNativeType(value);
974
+ if (type == NativeType::Matrix) {
975
+ auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
976
+ auto matrix = canvas_native_matrix_scale_non_uniform(
977
+ (float) sx->NumberValue(context).ToChecked(),
978
+ (float) sy->NumberValue(context).ToChecked(),
979
+ ptr->GetMatrix());
980
+ if (matrix == nullptr) {
981
+ args.GetReturnValue().SetUndefined();
982
+ return;
983
+ }
984
+
985
+
986
+ auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
987
+ context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
988
+ auto object = new MatrixImpl(matrix);
989
+
990
+ ret->SetAlignedPointerInInternalField(0, object);
991
+
992
+ SetNativeType(object, NativeType::Matrix);
993
+
994
+ object->BindFinalizer(isolate, ret);
995
+
996
+ args.GetReturnValue().Set(ret);
997
+ return;
998
+ }
999
+ }
1000
+
1001
+ args.GetReturnValue().SetUndefined();
1002
+ }
1003
+
1004
+ void MatrixImpl::ScaleNonUniformSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
1005
+ auto count = args.Length();
1006
+ auto isolate = args.GetIsolate();
1007
+
1008
+ MatrixImpl *ptr = GetPointer(args.This());
1009
+
1010
+ if (count >= 2) {
1011
+ auto context = isolate->GetCurrentContext();
1012
+ auto x = args[0];
1013
+ auto y = args[1];
1014
+ canvas_native_matrix_scale_non_uniform_self(ptr->GetMatrix(),
1015
+ (float) x->NumberValue(context).ToChecked(),
1016
+ (float) y->NumberValue(context).ToChecked());
1017
+ }
1018
+ }
1019
+
1020
+ void MatrixImpl::Rotate(const v8::FunctionCallbackInfo<v8::Value> &args) {
1021
+ auto count = args.Length();
1022
+ auto isolate = args.GetIsolate();
1023
+
1024
+
1025
+ if (count >= 4) {
1026
+ auto context = isolate->GetCurrentContext();
1027
+ auto angle = args[0];
1028
+ auto cx = args[1];
1029
+ auto cy = args[2];
1030
+ auto value = args[3];
1031
+ auto type = GetNativeType(value);
1032
+ if (type == NativeType::Matrix) {
1033
+ auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
1034
+ auto matrix = canvas_native_matrix_rotate(
1035
+ (float) angle->NumberValue(context).ToChecked(),
1036
+ (float) cx->NumberValue(context).ToChecked(),
1037
+ (float) cy->NumberValue(context).ToChecked(),
1038
+ ptr->GetMatrix());
1039
+ if (matrix == nullptr) {
1040
+ args.GetReturnValue().SetUndefined();
1041
+ return;
1042
+ }
1043
+
1044
+
1045
+ auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
1046
+ context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
1047
+ auto object = new MatrixImpl(matrix);
1048
+
1049
+ ret->SetAlignedPointerInInternalField(0, object);
1050
+
1051
+ SetNativeType(object, NativeType::Matrix);
1052
+
1053
+ object->BindFinalizer(isolate, ret);
1054
+
1055
+ args.GetReturnValue().Set(ret);
1056
+ return;
1057
+ }
1058
+ }
1059
+
1060
+ args.GetReturnValue().SetUndefined();
1061
+ }
1062
+
1063
+ void MatrixImpl::RotateSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
1064
+ auto count = args.Length();
1065
+ auto isolate = args.GetIsolate();
1066
+
1067
+ MatrixImpl *ptr = GetPointer(args.This());
1068
+
1069
+ if (count >= 2) {
1070
+ auto context = isolate->GetCurrentContext();
1071
+ auto angle = args[0];
1072
+ auto cx = args[1];
1073
+ auto cy = args[2];
1074
+ canvas_native_matrix_rotate_self(ptr->GetMatrix(),
1075
+ (float) angle->NumberValue(context).ToChecked(),
1076
+ (float) cx->NumberValue(context).ToChecked(),
1077
+ (float) cy->NumberValue(context).ToChecked());
1078
+ }
1079
+ }
1080
+
1081
+ void MatrixImpl::SkewX(const v8::FunctionCallbackInfo<v8::Value> &args) {
1082
+ auto count = args.Length();
1083
+ auto isolate = args.GetIsolate();
1084
+
1085
+
1086
+ if (count >= 2) {
1087
+ auto context = isolate->GetCurrentContext();
1088
+ auto angle = args[0];
1089
+ auto value = args[1];
1090
+ auto type = GetNativeType(value);
1091
+ if (type == NativeType::Matrix) {
1092
+ auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
1093
+ auto matrix = canvas_native_matrix_skew_x(
1094
+ (float) angle->NumberValue(context).ToChecked(),
1095
+ ptr->GetMatrix());
1096
+ if (matrix == nullptr) {
1097
+ args.GetReturnValue().SetUndefined();
1098
+ return;
1099
+ }
1100
+
1101
+
1102
+ auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
1103
+ context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
1104
+ auto object = new MatrixImpl(matrix);
1105
+
1106
+ ret->SetAlignedPointerInInternalField(0, object);
1107
+
1108
+ SetNativeType(object, NativeType::Matrix);
1109
+
1110
+ object->BindFinalizer(isolate, ret);
1111
+
1112
+ args.GetReturnValue().Set(ret);
1113
+ return;
1114
+ }
1115
+ }
1116
+
1117
+ args.GetReturnValue().SetUndefined();
1118
+ }
1119
+
1120
+ void MatrixImpl::SkewXSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
1121
+ auto count = args.Length();
1122
+ auto isolate = args.GetIsolate();
1123
+
1124
+ MatrixImpl *ptr = GetPointer(args.This());
1125
+
1126
+ if (count >= 1) {
1127
+ auto context = isolate->GetCurrentContext();
1128
+ auto angle = args[0];
1129
+ canvas_native_matrix_skew_x_self(ptr->GetMatrix(),
1130
+ (float) angle->NumberValue(context).ToChecked());
1131
+ }
1132
+ }
1133
+
1134
+ void MatrixImpl::SkewY(const v8::FunctionCallbackInfo<v8::Value> &args) {
1135
+ auto count = args.Length();
1136
+ auto isolate = args.GetIsolate();
1137
+
1138
+
1139
+ if (count >= 2) {
1140
+ auto context = isolate->GetCurrentContext();
1141
+ auto angle = args[0];
1142
+ auto value = args[1];
1143
+ auto type = GetNativeType(value);
1144
+ if (type == NativeType::Matrix) {
1145
+ auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
1146
+ auto matrix = canvas_native_matrix_skew_y(
1147
+ (float) angle->NumberValue(context).ToChecked(),
1148
+ ptr->GetMatrix());
1149
+ if (matrix == nullptr) {
1150
+ args.GetReturnValue().SetUndefined();
1151
+ return;
1152
+ }
1153
+
1154
+
1155
+ auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
1156
+ context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
1157
+ auto object = new MatrixImpl(matrix);
1158
+
1159
+ ret->SetAlignedPointerInInternalField(0, object);
1160
+
1161
+ SetNativeType(object, NativeType::Matrix);
1162
+
1163
+ object->BindFinalizer(isolate, ret);
1164
+
1165
+ args.GetReturnValue().Set(ret);
1166
+ return;
1167
+ }
1168
+ }
1169
+
1170
+ args.GetReturnValue().SetUndefined();
1171
+ }
1172
+
1173
+ void MatrixImpl::SkewYSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
1174
+ auto count = args.Length();
1175
+ auto isolate = args.GetIsolate();
1176
+
1177
+ MatrixImpl *ptr = GetPointer(args.This());
1178
+
1179
+ if (count >= 1) {
1180
+ auto context = isolate->GetCurrentContext();
1181
+ auto angle = args[0];
1182
+ canvas_native_matrix_skew_y_self(ptr->GetMatrix(),
1183
+ (float) angle->NumberValue(context).ToChecked());
1184
+ }
1185
+ }
1186
+
1187
+ void MatrixImpl::Clone(const v8::FunctionCallbackInfo<v8::Value> &args) {
1188
+ auto isolate = args.GetIsolate();
1189
+ auto context = isolate->GetCurrentContext();
1190
+ MatrixImpl *ptr = GetPointer(args.This());
1191
+
1192
+ auto matrix = canvas_native_matrix_clone(ptr->GetMatrix());
1193
+
1194
+
1195
+ auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
1196
+ context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
1197
+ auto object = new MatrixImpl(matrix);
1198
+
1199
+ ret->SetAlignedPointerInInternalField(0, object);
1200
+
1201
+ SetNativeType(object, NativeType::Matrix);
1202
+
1203
+ object->BindFinalizer(isolate, ret);
1204
+
1205
+ args.GetReturnValue().Set(ret);
1206
+ }
1207
+
1208
+
805
1209
  Matrix *MatrixImpl::GetMatrix() {
806
1210
  return this->matrix_;
807
1211
  }
1212
+
1213
+