@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
@@ -11,14 +11,14 @@
11
11
  class TextEncoderImpl: ObjectWrapperImpl {
12
12
 
13
13
  public:
14
- TextEncoderImpl(TextEncoder* encoder);
14
+ explicit TextEncoderImpl(TextEncoder* encoder);
15
15
  ~TextEncoderImpl() {
16
- canvas_native_text_encoder_destroy(this->GetTextEncoder());
16
+ canvas_native_text_encoder_release(this->GetTextEncoder());
17
17
  this->encoder_ = nullptr;
18
18
  }
19
19
 
20
20
  TextEncoder* GetTextEncoder();
21
-
21
+
22
22
  static void Init(const v8::Local<v8::Object>& canvasModule, v8::Isolate *isolate);
23
23
 
24
24
  static TextEncoderImpl *GetPointer(v8::Local<v8::Object> object);
@@ -3,21 +3,22 @@
3
3
  //
4
4
 
5
5
  #pragma once
6
+
6
7
  #include <vector>
7
8
  #include "Common.h"
8
9
  #include "Helpers.h"
9
10
  #include "ObjectWrapperImpl.h"
10
11
 
11
- class CanvasGradient: ObjectWrapperImpl {
12
+ class CanvasGradient : ObjectWrapperImpl {
12
13
  public:
13
- CanvasGradient(PaintStyle*style);
14
+ explicit CanvasGradient(PaintStyle *style);
14
15
 
15
- ~CanvasGradient(){
16
- canvas_native_paint_style_destroy(this->GetPaintStyle());
16
+ ~CanvasGradient() {
17
+ canvas_native_paint_style_release(this->GetPaintStyle());
17
18
  this->style_ = nullptr;
18
19
  }
19
20
 
20
- PaintStyle * GetPaintStyle();
21
+ PaintStyle *GetPaintStyle();
21
22
 
22
23
  static void Init(v8::Local<v8::Object> canvasModule, v8::Isolate *isolate);
23
24
 
@@ -30,7 +31,7 @@ public:
30
31
  v8::EscapableHandleScope scope(isolate);
31
32
  auto object = CanvasGradient::GetCtor(isolate)->GetFunction(
32
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
33
- SetNativeType( object, NativeType::CanvasGradient);
34
+ SetNativeType(gradient, NativeType::CanvasGradient);
34
35
  object->SetAlignedPointerInInternalField(0, gradient);
35
36
  gradient->BindFinalizer(isolate, object);
36
37
  return scope.Escape(object);
@@ -39,6 +40,6 @@ public:
39
40
  static void AddColorStop(const v8::FunctionCallbackInfo<v8::Value> &args);
40
41
 
41
42
  private:
42
- PaintStyle* style_;
43
+ PaintStyle *style_;
43
44
  };
44
45
 
@@ -17,7 +17,7 @@ void CanvasPattern::Init(const v8::Local<v8::Object> &canvasModule, v8::Isolate
17
17
  auto context = isolate->GetCurrentContext();
18
18
  auto func = ctor->GetFunction(context).ToLocalChecked();
19
19
 
20
- canvasModule->Set(context, ConvertToV8String(isolate, "CanvasPattern"), func);
20
+ canvasModule->Set(context, ConvertToV8String(isolate, "CanvasPattern"), func).FromJust();
21
21
  }
22
22
 
23
23
  v8::CFunction CanvasPattern::fast_set_transform_(
@@ -31,16 +31,6 @@ CanvasPattern *CanvasPattern::GetPointer(const v8::Local<v8::Object> &object) {
31
31
  return static_cast<CanvasPattern *>(ptr);
32
32
  }
33
33
 
34
- static v8::Local<v8::Object> NewInstance(v8::Isolate *isolate, CanvasPattern *pattern) {
35
- auto context = isolate->GetCurrentContext();
36
- v8::EscapableHandleScope scope(isolate);
37
- auto object = CanvasPattern::GetCtor(isolate)->GetFunction(
38
- context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
39
- SetNativeType(object, NativeType::CanvasPattern);
40
- object->SetAlignedPointerInInternalField(0, pattern);
41
- return scope.Escape(object);
42
- }
43
-
44
34
  v8::Local<v8::FunctionTemplate> CanvasPattern::GetCtor(v8::Isolate *isolate) {
45
35
  auto cache = Caches::Get(isolate);
46
36
  auto ctor = cache->CanvasPatternTmpl.get();
@@ -10,10 +10,10 @@
10
10
 
11
11
  class CanvasPattern : ObjectWrapperImpl {
12
12
  public:
13
- CanvasPattern(PaintStyle *style);
13
+ explicit CanvasPattern(PaintStyle *style);
14
14
 
15
15
  ~CanvasPattern() {
16
- canvas_native_paint_style_destroy(this->GetPaintStyle());
16
+ canvas_native_paint_style_release(this->GetPaintStyle());
17
17
  this->style_ = nullptr;
18
18
  }
19
19
 
@@ -30,7 +30,7 @@ public:
30
30
  v8::EscapableHandleScope scope(isolate);
31
31
  auto object = CanvasPattern::GetCtor(isolate)->GetFunction(
32
32
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
33
- SetNativeType(object, NativeType::CanvasPattern);
33
+ SetNativeType(pattern, NativeType::CanvasPattern);
34
34
  object->SetAlignedPointerInInternalField(0, pattern);
35
35
  pattern->BindFinalizer(isolate, object);
36
36
  return scope.Escape(object);
@@ -5,6 +5,7 @@
5
5
  #include "CanvasRenderingContext2DImpl.h"
6
6
  #include "Caches.h"
7
7
  #include "OneByteStringResource.h"
8
+ #include "WebGLRenderingContextBase.h"
8
9
 
9
10
  v8::CFunction CanvasRenderingContext2DImpl::fast_start_raf_(
10
11
  v8::CFunction::Make(CanvasRenderingContext2DImpl::__FastStartRaf));
@@ -254,7 +255,8 @@ void CanvasRenderingContext2DImpl::Init(v8::Local<v8::Object> canvasModule, v8::
254
255
  auto context = isolate->GetCurrentContext();
255
256
  auto func = ctor->GetFunction(context).ToLocalChecked();
256
257
 
257
- canvasModule->Set(context, ConvertToV8String(isolate, "CanvasRenderingContext2D"), func);
258
+ canvasModule->Set(context, ConvertToV8String(isolate, "CanvasRenderingContext2D"),
259
+ func).FromJust();
258
260
  }
259
261
 
260
262
  CanvasRenderingContext2DImpl *
@@ -628,7 +630,7 @@ void CanvasRenderingContext2DImpl::DrawPoints(const v8::FunctionCallbackInfo<v8:
628
630
  }
629
631
 
630
632
  canvas_native_context_draw_points(
631
- ptr->GetContext(), pointMode,
633
+ ptr->GetContext(), (int32_t)pointMode,
632
634
  store.data(), store.size());
633
635
 
634
636
 
@@ -1108,7 +1110,6 @@ void CanvasRenderingContext2DImpl::SetTextAlign(v8::Local<v8::String> property,
1108
1110
  void CanvasRenderingContext2DImpl::GetTextBaseline(v8::Local<v8::String> property,
1109
1111
  const v8::PropertyCallbackInfo<v8::Value> &info) {
1110
1112
  CanvasRenderingContext2DImpl *ptr = GetPointer(info.This());
1111
- auto isolate = info.GetIsolate();
1112
1113
  if (ptr == nullptr) {
1113
1114
  info.GetReturnValue().Set(0);
1114
1115
  return;
@@ -1205,10 +1206,6 @@ void CanvasRenderingContext2DImpl::GetFillStyle(v8::Local<v8::String> property,
1205
1206
  info.GetReturnValue().Set(style);
1206
1207
  break;
1207
1208
  }
1208
- case PaintStyleType::PaintStyleTypeNone: {
1209
- info.GetReturnValue().SetUndefined();
1210
- break;
1211
- }
1212
1209
  }
1213
1210
 
1214
1211
  }
@@ -1288,10 +1285,6 @@ void CanvasRenderingContext2DImpl::GetStrokeStyle(v8::Local<v8::String> property
1288
1285
  info.GetReturnValue().Set(style);
1289
1286
  break;
1290
1287
  }
1291
- case PaintStyleType::PaintStyleTypeNone: {
1292
- info.GetReturnValue().SetUndefined();
1293
- break;
1294
- }
1295
1288
  }
1296
1289
 
1297
1290
  }
@@ -1380,7 +1373,7 @@ void CanvasRenderingContext2DImpl::GetLineDash(v8::Local<v8::String> property,
1380
1373
  auto ret = v8::Array::New(isolate, (int) size);
1381
1374
  for (int i = 0; i < size; i++) {
1382
1375
  auto item = buf[i];
1383
- ret->Set(context, i, v8::Number::New(isolate, (double) item));
1376
+ ret->Set(context, i, v8::Number::New(isolate, (double) item)).FromJust();
1384
1377
  }
1385
1378
 
1386
1379
  }
@@ -1539,13 +1532,13 @@ void CanvasRenderingContext2DImpl::Clip(const v8::FunctionCallbackInfo<v8::Value
1539
1532
  auto count = args.Length();
1540
1533
  if (count == 0) {
1541
1534
  canvas_native_context_clip_rule(
1542
- ptr->GetContext(), 0);
1535
+ ptr->GetContext(), CanvasFillRuleNonZero);
1543
1536
  } else if (count == 1 && args[0]->IsUint32()) {
1544
1537
  uint32_t val = 0;
1545
1538
 
1546
1539
  if (args[0]->Uint32Value(context).To(&val)) {
1547
1540
  canvas_native_context_clip_rule(
1548
- ptr->GetContext(), val);
1541
+ ptr->GetContext(), val == 0 ? CanvasFillRuleNonZero : CanvasFillRuleEvenOdd);
1549
1542
  }
1550
1543
  } else if (count == 1 && args[0]->IsObject()) {
1551
1544
  auto type = GetNativeType(args[0].As<v8::Object>());
@@ -1554,7 +1547,7 @@ void CanvasRenderingContext2DImpl::Clip(const v8::FunctionCallbackInfo<v8::Value
1554
1547
 
1555
1548
  if (object != nullptr) {
1556
1549
  canvas_native_context_clip(
1557
- ptr->GetContext(), object->GetPath(), 0);
1550
+ ptr->GetContext(), object->GetPath(), CanvasFillRuleNonZero);
1558
1551
  }
1559
1552
  }
1560
1553
  } else if (count >= 2 && args[0]->IsObject() && args[1]->IsUint32()) {
@@ -1565,7 +1558,8 @@ void CanvasRenderingContext2DImpl::Clip(const v8::FunctionCallbackInfo<v8::Value
1565
1558
 
1566
1559
  if (args[1]->Uint32Value(context).To(&rule)) {
1567
1560
  canvas_native_context_clip(
1568
- ptr->GetContext(), object->GetPath(), rule);
1561
+ ptr->GetContext(), object->GetPath(),
1562
+ rule == 0 ? CanvasFillRuleNonZero : CanvasFillRuleEvenOdd);
1569
1563
  }
1570
1564
  }
1571
1565
  }
@@ -1614,7 +1608,7 @@ CanvasRenderingContext2DImpl::CreateImageData(const v8::FunctionCallbackInfo<v8:
1614
1608
 
1615
1609
  ret->SetAlignedPointerInInternalField(0, data);
1616
1610
 
1617
- SetNativeType(ret, NativeType::ImageData);
1611
+ SetNativeType(data, NativeType::ImageData);
1618
1612
 
1619
1613
  args.GetReturnValue().Set(ret);
1620
1614
 
@@ -1634,7 +1628,7 @@ CanvasRenderingContext2DImpl::CreateImageData(const v8::FunctionCallbackInfo<v8:
1634
1628
 
1635
1629
  ret->SetAlignedPointerInInternalField(0, data);
1636
1630
 
1637
- SetNativeType(ret, NativeType::ImageData);
1631
+ SetNativeType(data, NativeType::ImageData);
1638
1632
 
1639
1633
  args.GetReturnValue().Set(ret);
1640
1634
  }
@@ -1660,18 +1654,36 @@ CanvasRenderingContext2DImpl::CreatePattern(const v8::FunctionCallbackInfo<v8::V
1660
1654
  auto image_asset = ImageAssetImpl::GetPointer(value.As<v8::Object>());
1661
1655
  if (image_asset != nullptr) {
1662
1656
  auto rep = ConvertFromV8String(isolate, args[1]);
1663
- auto pattern = canvas_native_context_create_pattern_asset(
1664
- ptr->GetContext(),
1665
- image_asset->GetImageAsset(), rep.c_str());
1666
- auto style_type = canvas_native_context_get_style_type(pattern);
1667
- if (style_type ==
1668
- PaintStyleType::PaintStyleTypeNone) {
1669
- args.GetReturnValue().SetUndefined();
1670
- canvas_native_paint_style_destroy(pattern);
1657
+
1658
+ PaintStyle *style = nullptr;
1659
+ if (rep == "no-repeat") {
1660
+ style = canvas_native_context_create_pattern_asset(
1661
+ ptr->GetContext(),
1662
+ image_asset->GetImageAsset(), CanvasRepetitionNoRepeat);
1663
+ } else if (rep == "repeat") {
1664
+ style = canvas_native_context_create_pattern_asset(
1665
+ ptr->GetContext(),
1666
+ image_asset->GetImageAsset(), CanvasRepetitionRepeat);
1667
+ } else if (rep == "repeat-x") {
1668
+ style = canvas_native_context_create_pattern_asset(
1669
+ ptr->GetContext(),
1670
+ image_asset->GetImageAsset(), CanvasRepetitionRepeatX);
1671
+ } else if (rep == "repeat-y") {
1672
+ style = canvas_native_context_create_pattern_asset(
1673
+ ptr->GetContext(),
1674
+ image_asset->GetImageAsset(), CanvasRepetitionRepeatY);
1671
1675
  } else {
1672
- auto data = CanvasPattern::NewInstance(isolate, new CanvasPattern(pattern));
1673
- args.GetReturnValue().Set(data);
1676
+ // todo
1677
+ args.GetReturnValue().SetUndefined();
1678
+ return;
1674
1679
  }
1680
+ if (style == nullptr) {
1681
+ args.GetReturnValue().SetNull();
1682
+ return;
1683
+ }
1684
+
1685
+ auto data = CanvasPattern::NewInstance(isolate, new CanvasPattern(style));
1686
+ args.GetReturnValue().Set(data);
1675
1687
  }
1676
1688
  return;
1677
1689
  }
@@ -1679,18 +1691,37 @@ CanvasRenderingContext2DImpl::CreatePattern(const v8::FunctionCallbackInfo<v8::V
1679
1691
  auto image_bitmap = ImageBitmapImpl::GetPointer(value.As<v8::Object>());
1680
1692
  if (image_bitmap != nullptr) {
1681
1693
  auto rep = ConvertFromV8String(isolate, args[1]);
1682
- auto pattern = canvas_native_context_create_pattern_asset(
1683
- ptr->GetContext(),
1684
- image_bitmap->GetImageAsset(), rep.c_str());
1685
- auto style_type = canvas_native_context_get_style_type(pattern);
1686
- if (style_type ==
1687
- PaintStyleType::PaintStyleTypeNone) {
1688
- args.GetReturnValue().SetUndefined();
1689
- canvas_native_paint_style_destroy(pattern);
1694
+ PaintStyle *style = nullptr;
1695
+
1696
+ if (rep == "no-repeat") {
1697
+ style = canvas_native_context_create_pattern_asset(
1698
+ ptr->GetContext(),
1699
+ image_bitmap->GetImageAsset(), CanvasRepetitionNoRepeat);
1700
+ } else if (rep == "repeat") {
1701
+ style = canvas_native_context_create_pattern_asset(
1702
+ ptr->GetContext(),
1703
+ image_bitmap->GetImageAsset(), CanvasRepetitionRepeat);
1704
+ } else if (rep == "repeat-x") {
1705
+ style = canvas_native_context_create_pattern_asset(
1706
+ ptr->GetContext(),
1707
+ image_bitmap->GetImageAsset(), CanvasRepetitionRepeatX);
1708
+ } else if (rep == "repeat-y") {
1709
+ style = canvas_native_context_create_pattern_asset(
1710
+ ptr->GetContext(),
1711
+ image_bitmap->GetImageAsset(), CanvasRepetitionRepeatY);
1690
1712
  } else {
1691
- auto data = CanvasPattern::NewInstance(isolate, new CanvasPattern(pattern));
1692
- args.GetReturnValue().Set(data);
1713
+ // todo
1714
+ args.GetReturnValue().SetUndefined();
1715
+ return;
1693
1716
  }
1717
+ if (style == nullptr) {
1718
+ args.GetReturnValue().SetNull();
1719
+ return;
1720
+ }
1721
+
1722
+
1723
+ auto data = CanvasPattern::NewInstance(isolate, new CanvasPattern(style));
1724
+ args.GetReturnValue().Set(data);
1694
1725
  }
1695
1726
  return;
1696
1727
  }
@@ -1699,18 +1730,36 @@ CanvasRenderingContext2DImpl::CreatePattern(const v8::FunctionCallbackInfo<v8::V
1699
1730
  value.As<v8::Object>());
1700
1731
  if (canvas_2d != nullptr) {
1701
1732
  auto rep = ConvertFromV8String(isolate, args[1]);
1702
- auto pattern = canvas_native_context_create_pattern_canvas2d(
1703
- canvas_2d->GetContext(),
1704
- ptr->GetContext(), rep.c_str());
1705
- auto style_type = canvas_native_context_get_style_type(pattern);
1706
- if (style_type ==
1707
- PaintStyleType::PaintStyleTypeNone) {
1708
- args.GetReturnValue().SetUndefined();
1709
- canvas_native_paint_style_destroy(pattern);
1733
+ PaintStyle *style = nullptr;
1734
+
1735
+ if (rep == "no-repeat") {
1736
+ style = canvas_native_context_create_pattern_canvas2d(
1737
+ canvas_2d->GetContext(),
1738
+ ptr->GetContext(), CanvasRepetitionNoRepeat);
1739
+ } else if (rep == "repeat") {
1740
+ style = canvas_native_context_create_pattern_canvas2d(
1741
+ canvas_2d->GetContext(),
1742
+ ptr->GetContext(), CanvasRepetitionRepeat);
1743
+ } else if (rep == "repeat-x") {
1744
+ style = canvas_native_context_create_pattern_canvas2d(
1745
+ canvas_2d->GetContext(),
1746
+ ptr->GetContext(), CanvasRepetitionRepeatX);
1747
+ } else if (rep == "repeat-y") {
1748
+ style = canvas_native_context_create_pattern_canvas2d(
1749
+ canvas_2d->GetContext(),
1750
+ ptr->GetContext(), CanvasRepetitionRepeatY);
1710
1751
  } else {
1711
- auto data = CanvasPattern::NewInstance(isolate, new CanvasPattern(pattern));
1712
- args.GetReturnValue().Set(data);
1752
+ // todo
1753
+ args.GetReturnValue().SetUndefined();
1754
+ return;
1755
+ }
1756
+ if (style == nullptr) {
1757
+ args.GetReturnValue().SetNull();
1758
+ return;
1713
1759
  }
1760
+
1761
+ auto data = CanvasPattern::NewInstance(isolate, new CanvasPattern(style));
1762
+ args.GetReturnValue().Set(data);
1714
1763
  }
1715
1764
  return;
1716
1765
  }
@@ -1718,21 +1767,40 @@ CanvasRenderingContext2DImpl::CreatePattern(const v8::FunctionCallbackInfo<v8::V
1718
1767
  auto webgl = WebGLRenderingContextBase::GetPointer(value.As<v8::Object>());
1719
1768
  if (webgl != nullptr) {
1720
1769
  auto rep = ConvertFromV8String(isolate, args[1]);
1721
- auto pattern = canvas_native_context_create_pattern_webgl(
1722
- webgl->GetState(),
1723
- ptr->GetContext(), rep.c_str());
1724
- auto type = canvas_native_context_get_style_type(pattern);
1725
- if (type ==
1726
- PaintStyleType::PaintStyleTypeNone) {
1727
- args.GetReturnValue().SetNull();
1728
- canvas_native_paint_style_destroy(pattern);
1729
- return;
1770
+
1771
+ PaintStyle *style = nullptr;
1772
+
1773
+ if (rep == "no-repeat") {
1774
+ style = canvas_native_context_create_pattern_webgl(
1775
+ webgl->GetState(),
1776
+ ptr->GetContext(), CanvasRepetitionNoRepeat);
1777
+ } else if (rep == "repeat") {
1778
+ style = canvas_native_context_create_pattern_webgl(
1779
+ webgl->GetState(),
1780
+ ptr->GetContext(), CanvasRepetitionRepeat);
1781
+ } else if (rep == "repeat-x") {
1782
+ style = canvas_native_context_create_pattern_webgl(
1783
+ webgl->GetState(),
1784
+ ptr->GetContext(), CanvasRepetitionRepeatX);
1785
+ } else if (rep == "repeat-y") {
1786
+ style = canvas_native_context_create_pattern_webgl(
1787
+ webgl->GetState(),
1788
+ ptr->GetContext(), CanvasRepetitionRepeatY);
1730
1789
  } else {
1731
- auto ret = CanvasPattern::NewInstance(isolate, new CanvasPattern(
1732
- pattern));
1733
- args.GetReturnValue().Set(ret);
1790
+ // todo
1791
+ args.GetReturnValue().SetUndefined();
1734
1792
  return;
1735
1793
  }
1794
+
1795
+ if (style == nullptr) {
1796
+ args.GetReturnValue().SetNull();
1797
+ return;
1798
+ }
1799
+
1800
+ auto ret = CanvasPattern::NewInstance(isolate, new CanvasPattern(
1801
+ style));
1802
+ args.GetReturnValue().Set(ret);
1803
+ return;
1736
1804
  }
1737
1805
  return;
1738
1806
  }
@@ -1830,16 +1898,16 @@ CanvasRenderingContext2DImpl::__CreatePatternWithNative(
1830
1898
  auto pointer = args[0]->ToBigInt(context).ToLocalChecked();
1831
1899
 
1832
1900
  auto pattern = canvas_native_pattern_from_ptr(pointer->Int64Value());
1833
- auto type = canvas_native_context_get_style_type(pattern);
1834
- if (type == PaintStyleType::PaintStyleTypeNone) {
1835
- args.GetReturnValue().SetUndefined();
1836
- canvas_native_paint_style_destroy(pattern);
1837
- } else {
1838
- auto data = CanvasPattern::NewInstance(isolate, new CanvasPattern(pattern));
1839
1901
 
1840
- args.GetReturnValue().Set(data);
1902
+ if (pattern == nullptr) {
1903
+ args.GetReturnValue().SetNull();
1904
+ return;
1841
1905
  }
1842
1906
 
1907
+ auto data = CanvasPattern::NewInstance(isolate, new CanvasPattern(pattern));
1908
+
1909
+ args.GetReturnValue().Set(data);
1910
+
1843
1911
  }
1844
1912
 
1845
1913
  void
@@ -1894,7 +1962,6 @@ CanvasRenderingContext2DImpl::DrawAtlas(const v8::FunctionCallbackInfo<v8::Value
1894
1962
  return;
1895
1963
  }
1896
1964
 
1897
- auto count = args.Length();
1898
1965
  auto value = args[0];
1899
1966
 
1900
1967
  if (value->IsNullOrUndefined() || !value->IsObject()) {
@@ -1943,7 +2010,7 @@ CanvasRenderingContext2DImpl::DrawAtlas(const v8::FunctionCallbackInfo<v8::Value
1943
2010
  int32_t mode = 4;
1944
2011
 
1945
2012
  if (blendValue->IsInt32()) {
1946
- blendValue->Int32Value(context).To(&mode);
2013
+ auto val = blendValue->Int32Value(context).To(&mode);
1947
2014
  }
1948
2015
 
1949
2016
  if (colorsValue->IsArray()) {
@@ -2081,6 +2148,17 @@ CanvasRenderingContext2DImpl::DrawImage(const v8::FunctionCallbackInfo<v8::Value
2081
2148
  }
2082
2149
  }
2083
2150
  break;
2151
+ case NativeType::WebGLRenderingContextBase: {
2152
+ auto gl = WebGLRenderingContextBase::GetPointer(image);
2153
+ if (gl != nullptr) {
2154
+ canvas_native_context_draw_image_dx_dy_webgl(
2155
+ ptr->GetContext(),
2156
+ gl->GetState(),
2157
+ dx, dy
2158
+ );
2159
+ }
2160
+ }
2161
+ break;
2084
2162
  default:
2085
2163
  break;
2086
2164
  }
@@ -2131,6 +2209,17 @@ CanvasRenderingContext2DImpl::DrawImage(const v8::FunctionCallbackInfo<v8::Value
2131
2209
  }
2132
2210
  }
2133
2211
  break;
2212
+ case NativeType::WebGLRenderingContextBase: {
2213
+ auto gl = WebGLRenderingContextBase::GetPointer(image);
2214
+ if (gl != nullptr) {
2215
+ canvas_native_context_draw_image_dx_dy_dw_dh_webgl(
2216
+ ptr->GetContext(),
2217
+ gl->GetState(),
2218
+ dx, dy, dWidth, dHeight
2219
+ );
2220
+ }
2221
+ }
2222
+ break;
2134
2223
  default:
2135
2224
  break;
2136
2225
  }
@@ -2189,6 +2278,20 @@ CanvasRenderingContext2DImpl::DrawImage(const v8::FunctionCallbackInfo<v8::Value
2189
2278
  }
2190
2279
  }
2191
2280
  break;
2281
+ case NativeType::WebGLRenderingContextBase: {
2282
+ auto gl = WebGLRenderingContextBase::GetPointer(image);
2283
+ if (gl != nullptr) {
2284
+ canvas_native_context_draw_image_webgl(
2285
+ ptr->GetContext(),
2286
+ gl->GetState(),
2287
+ sx,
2288
+ sy, sWidth, sHeight,
2289
+ dx,
2290
+ dy, dWidth, dHeight
2291
+ );
2292
+ }
2293
+ }
2294
+ break;
2192
2295
  default:
2193
2296
  break;
2194
2297
  }
@@ -2245,7 +2348,8 @@ CanvasRenderingContext2DImpl::Fill(const v8::FunctionCallbackInfo<v8::Value> &ar
2245
2348
  auto rule = args[1]->Uint32Value(context).ToChecked();
2246
2349
  canvas_native_context_fill_with_path(
2247
2350
  ptr->GetContext(),
2248
- object->GetPath(), rule);
2351
+ object->GetPath(),
2352
+ rule == 0 ? CanvasFillRuleNonZero : CanvasFillRuleEvenOdd);
2249
2353
  ptr->UpdateInvalidateState();
2250
2354
  }
2251
2355
  }
@@ -2254,7 +2358,7 @@ CanvasRenderingContext2DImpl::Fill(const v8::FunctionCallbackInfo<v8::Value> &ar
2254
2358
  auto rule = value->Uint32Value(context).ToChecked();
2255
2359
  canvas_native_context_fill(
2256
2360
  ptr->GetContext(),
2257
- rule);
2361
+ rule == 0 ? CanvasFillRuleNonZero : CanvasFillRuleEvenOdd);
2258
2362
  ptr->UpdateInvalidateState();
2259
2363
  } else if (value->IsObject()) {
2260
2364
  auto type = GetNativeType(value.As<v8::Object>());
@@ -2263,13 +2367,13 @@ CanvasRenderingContext2DImpl::Fill(const v8::FunctionCallbackInfo<v8::Value> &ar
2263
2367
 
2264
2368
  canvas_native_context_fill_with_path(
2265
2369
  ptr->GetContext(),
2266
- object->GetPath(), 0);
2370
+ object->GetPath(), CanvasFillRuleNonZero);
2267
2371
  ptr->UpdateInvalidateState();
2268
2372
  }
2269
2373
  }
2270
2374
  } else {
2271
2375
  canvas_native_context_fill(
2272
- ptr->GetContext(), 0);
2376
+ ptr->GetContext(), CanvasFillRuleNonZero);
2273
2377
  ptr->UpdateInvalidateState();
2274
2378
  }
2275
2379
  }
@@ -2369,7 +2473,7 @@ CanvasRenderingContext2DImpl::GetImageData(const v8::FunctionCallbackInfo<v8::Va
2369
2473
 
2370
2474
  ret->SetAlignedPointerInInternalField(0, data);
2371
2475
 
2372
- SetNativeType(ret, NativeType::ImageData);
2476
+ SetNativeType(data, NativeType::ImageData);
2373
2477
 
2374
2478
  args.GetReturnValue().Set(ret);
2375
2479
  return;
@@ -2402,7 +2506,7 @@ CanvasRenderingContext2DImpl::GetLineDash(const v8::FunctionCallbackInfo<v8::Val
2402
2506
  for (int i = 0; i < size; ++i) {
2403
2507
  array->Set(context, i,
2404
2508
  v8::Number::New(isolate,
2405
- (double) buf[i]));
2509
+ (double) buf[i])).FromJust();
2406
2510
  }
2407
2511
 
2408
2512
  args.GetReturnValue().Set(array);
@@ -2420,7 +2524,7 @@ CanvasRenderingContext2DImpl::IsPointInPath(const v8::FunctionCallbackInfo<v8::V
2420
2524
  auto x = static_cast<float>(args[0]->NumberValue(context).ToChecked());
2421
2525
  auto y = static_cast<float>(args[1]->NumberValue(context).ToChecked());
2422
2526
  auto ret = canvas_native_context_is_point_in_path(
2423
- ptr->GetContext(), x, y, 0);
2527
+ ptr->GetContext(), x, y, CanvasFillRuleNonZero);
2424
2528
  args.GetReturnValue().Set(ret);
2425
2529
  return;
2426
2530
  } else if (count == 3 &&
@@ -2429,7 +2533,7 @@ CanvasRenderingContext2DImpl::IsPointInPath(const v8::FunctionCallbackInfo<v8::V
2429
2533
  auto y = static_cast<float>(args[1]->NumberValue(context).ToChecked());
2430
2534
  auto rule = args[2]->Uint32Value(context).ToChecked();
2431
2535
  bool ret = canvas_native_context_is_point_in_path(
2432
- ptr->GetContext(), x, y, rule);
2536
+ ptr->GetContext(), x, y, rule == 0 ? CanvasFillRuleNonZero : CanvasFillRuleEvenOdd);
2433
2537
  args.GetReturnValue().Set(ret);
2434
2538
  return;
2435
2539
  } else if (count == 4 &&
@@ -2449,7 +2553,8 @@ CanvasRenderingContext2DImpl::IsPointInPath(const v8::FunctionCallbackInfo<v8::V
2449
2553
 
2450
2554
  bool ret = canvas_native_context_is_point_in_path_with_path(
2451
2555
  ptr->GetContext(),
2452
- path->GetPath(), x, y, rule);
2556
+ path->GetPath(), x, y,
2557
+ rule == 0 ? CanvasFillRuleNonZero : CanvasFillRuleEvenOdd);
2453
2558
 
2454
2559
  args.GetReturnValue().Set(ret);
2455
2560
  return;
@@ -2541,7 +2646,7 @@ CanvasRenderingContext2DImpl::MeasureText(const v8::FunctionCallbackInfo<v8::Val
2541
2646
 
2542
2647
  data->BindFinalizer(isolate, ret);
2543
2648
 
2544
- SetNativeType(ret, NativeType::TextMetrics);
2649
+ SetNativeType(data, NativeType::TextMetrics);
2545
2650
 
2546
2651
  args.GetReturnValue().Set(ret);
2547
2652
 
@@ -2850,7 +2955,7 @@ CanvasRenderingContext2DImpl::GetTransform(const v8::FunctionCallbackInfo<v8::Va
2850
2955
 
2851
2956
  ret->SetAlignedPointerInInternalField(0, object);
2852
2957
 
2853
- SetNativeType(ret, NativeType::Matrix);
2958
+ SetNativeType(object, NativeType::Matrix);
2854
2959
 
2855
2960
  object->BindFinalizer(isolate, ret);
2856
2961
 
@@ -2861,8 +2966,6 @@ void
2861
2966
  CanvasRenderingContext2DImpl::Stroke(const v8::FunctionCallbackInfo<v8::Value> &args) {
2862
2967
  CanvasRenderingContext2DImpl *ptr = GetPointer(args.This());
2863
2968
 
2864
- auto isolate = args.GetIsolate();
2865
-
2866
2969
  auto value = args[0];
2867
2970
  auto type = GetNativeType(value);
2868
2971
  if (type == NativeType::Path2D) {
@@ -3003,7 +3106,7 @@ CanvasRenderingContext2DImpl::__ToDataURL(const v8::FunctionCallbackInfo<v8::Val
3003
3106
 
3004
3107
 
3005
3108
  if (args[1]->IsNumber()) {
3006
- quality = (int) args[1]->NumberValue(context).ToChecked();
3109
+ quality = (int) (args[1]->NumberValue(context).ToChecked() * 100);
3007
3110
  }
3008
3111
 
3009
3112
 
@@ -3024,17 +3127,17 @@ CanvasRenderingContext2DImpl::~CanvasRenderingContext2DImpl() {
3024
3127
  canvas_native_raf_stop(raf->GetRaf());
3025
3128
  }
3026
3129
 
3027
- canvas_native_context_destroy(this->GetContext());
3130
+ canvas_native_context_release(this->GetContext());
3028
3131
  this->context_ = nullptr;
3029
3132
  }
3030
3133
 
3031
3134
  void CanvasRenderingContext2DImpl::UpdateInvalidateState() {
3032
- auto raf = this->GetRaf();
3033
- if (raf != nullptr) {
3034
- if (!canvas_native_raf_get_started(raf->GetRaf())) {
3035
- canvas_native_raf_start(raf->GetRaf());
3036
- }
3037
- }
3135
+ // auto raf = this->GetRaf();
3136
+ // if (raf != nullptr) {
3137
+ // if (!canvas_native_raf_get_started(raf->GetRaf())) {
3138
+ // canvas_native_raf_start(raf->GetRaf());
3139
+ // }
3140
+ // }
3038
3141
 
3039
3142
  auto state = this->GetInvalidateState();
3040
3143
  this->SetInvalidateState((int) state | (int) InvalidateState::InvalidateStatePending);