@nativescript/canvas 2.0.0-webgpu.0 → 2.0.0-webgpu.10

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 (293) hide show
  1. package/Canvas/common.d.ts +3 -18
  2. package/Canvas/common.js +9 -72
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.d.ts +6 -8
  5. package/Canvas/index.android.js +117 -62
  6. package/Canvas/index.android.js.map +1 -1
  7. package/Canvas/index.d.ts +7 -8
  8. package/Canvas/index.ios.d.ts +3 -2
  9. package/Canvas/index.ios.js +116 -74
  10. package/Canvas/index.ios.js.map +1 -1
  11. package/Canvas2D/CanvasRenderingContext2D/index.d.ts +1 -0
  12. package/Canvas2D/CanvasRenderingContext2D/index.js +72 -72
  13. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  14. package/Canvas2D/DOMMatrix/index.js +1 -1
  15. package/Canvas2D/DOMMatrix/index.js.map +1 -1
  16. package/Canvas2D/ImageData/index.js.map +1 -1
  17. package/Canvas2D/Path2D/index.js.map +1 -1
  18. package/Dom/Dom.js +8 -1
  19. package/Dom/Dom.js.map +1 -1
  20. package/Dom/Group.d.ts +1 -2
  21. package/Dom/Group.js.map +1 -1
  22. package/Dom/Image.d.ts +4 -1
  23. package/Dom/Image.js +15 -2
  24. package/Dom/Image.js.map +1 -1
  25. package/Dom/Paint.d.ts +1 -1
  26. package/Dom/Paint.js.map +1 -1
  27. package/Dom/Text.js.map +1 -1
  28. package/Dom/shaders/LinearGradient.js.map +1 -1
  29. package/Dom/shaders/TwoPointConicalGradient.js.map +1 -1
  30. package/Dom/shapes/Atlas.js.map +1 -1
  31. package/Dom/shapes/Circle.js.map +1 -1
  32. package/Dom/shapes/Line.js.map +1 -1
  33. package/Dom/shapes/Oval.js.map +1 -1
  34. package/Dom/shapes/Path.d.ts +1 -1
  35. package/Dom/shapes/Path.js.map +1 -1
  36. package/Dom/shapes/Rect.js.map +1 -1
  37. package/Dom/shapes/RoundedRect.js.map +1 -1
  38. package/Dom/shapes/index.js.map +1 -1
  39. package/ImageAsset/index.d.ts +3 -1
  40. package/ImageAsset/index.js +38 -6
  41. package/ImageAsset/index.js.map +1 -1
  42. package/ImageBitmap/index.js +3 -3
  43. package/ImageBitmap/index.js.map +1 -1
  44. package/README.md +62 -3
  45. package/TextDecoder/index.js +3 -3
  46. package/TextDecoder/index.js.map +1 -1
  47. package/TextEncoder/index.js +3 -3
  48. package/TextEncoder/index.js.map +1 -1
  49. package/WebGL/WebGLExtensions/index.js +5 -5
  50. package/WebGL/WebGLExtensions/index.js.map +1 -1
  51. package/WebGL/WebGLRenderingContext/common.js.map +1 -1
  52. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  53. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
  54. package/WebGPU/Constants.js.map +1 -1
  55. package/WebGPU/GPU.js.map +1 -1
  56. package/WebGPU/GPUAdapter.d.ts +4 -2
  57. package/WebGPU/GPUAdapter.js +3 -0
  58. package/WebGPU/GPUAdapter.js.map +1 -1
  59. package/WebGPU/GPUAdapterInfo.js.map +1 -1
  60. package/WebGPU/GPUBindGroup.d.ts +1 -0
  61. package/WebGPU/GPUBindGroup.js +3 -0
  62. package/WebGPU/GPUBindGroup.js.map +1 -1
  63. package/WebGPU/GPUBindGroupLayout.d.ts +1 -0
  64. package/WebGPU/GPUBindGroupLayout.js +3 -0
  65. package/WebGPU/GPUBindGroupLayout.js.map +1 -1
  66. package/WebGPU/GPUBuffer.js +6 -2
  67. package/WebGPU/GPUBuffer.js.map +1 -1
  68. package/WebGPU/GPUCanvasContext.d.ts +4 -2
  69. package/WebGPU/GPUCanvasContext.js +16 -4
  70. package/WebGPU/GPUCanvasContext.js.map +1 -1
  71. package/WebGPU/GPUCommandBuffer.d.ts +1 -0
  72. package/WebGPU/GPUCommandBuffer.js +3 -0
  73. package/WebGPU/GPUCommandBuffer.js.map +1 -1
  74. package/WebGPU/GPUCommandEncoder.d.ts +1 -0
  75. package/WebGPU/GPUCommandEncoder.js +9 -1
  76. package/WebGPU/GPUCommandEncoder.js.map +1 -1
  77. package/WebGPU/GPUComputePassEncoder.d.ts +1 -0
  78. package/WebGPU/GPUComputePassEncoder.js +3 -0
  79. package/WebGPU/GPUComputePassEncoder.js.map +1 -1
  80. package/WebGPU/GPUComputePipeline.d.ts +1 -0
  81. package/WebGPU/GPUComputePipeline.js +3 -0
  82. package/WebGPU/GPUComputePipeline.js.map +1 -1
  83. package/WebGPU/GPUDevice.d.ts +4 -4
  84. package/WebGPU/GPUDevice.js +69 -71
  85. package/WebGPU/GPUDevice.js.map +1 -1
  86. package/WebGPU/GPUExternalTexture.d.ts +1 -0
  87. package/WebGPU/GPUExternalTexture.js +3 -0
  88. package/WebGPU/GPUExternalTexture.js.map +1 -1
  89. package/WebGPU/GPUPipelineLayout.d.ts +1 -0
  90. package/WebGPU/GPUPipelineLayout.js +3 -0
  91. package/WebGPU/GPUPipelineLayout.js.map +1 -1
  92. package/WebGPU/GPUQuerySet.d.ts +1 -0
  93. package/WebGPU/GPUQuerySet.js +3 -0
  94. package/WebGPU/GPUQuerySet.js.map +1 -1
  95. package/WebGPU/GPUQueue.d.ts +1 -0
  96. package/WebGPU/GPUQueue.js +3 -0
  97. package/WebGPU/GPUQueue.js.map +1 -1
  98. package/WebGPU/GPURenderBundle.d.ts +1 -0
  99. package/WebGPU/GPURenderBundle.js +3 -0
  100. package/WebGPU/GPURenderBundle.js.map +1 -1
  101. package/WebGPU/GPURenderBundleEncoder.d.ts +1 -0
  102. package/WebGPU/GPURenderBundleEncoder.js +3 -0
  103. package/WebGPU/GPURenderBundleEncoder.js.map +1 -1
  104. package/WebGPU/GPURenderPassEncoder.d.ts +2 -1
  105. package/WebGPU/GPURenderPassEncoder.js +5 -2
  106. package/WebGPU/GPURenderPassEncoder.js.map +1 -1
  107. package/WebGPU/GPURenderPipeline.d.ts +1 -0
  108. package/WebGPU/GPURenderPipeline.js +3 -0
  109. package/WebGPU/GPURenderPipeline.js.map +1 -1
  110. package/WebGPU/GPUSampler.d.ts +1 -0
  111. package/WebGPU/GPUSampler.js +3 -0
  112. package/WebGPU/GPUSampler.js.map +1 -1
  113. package/WebGPU/GPUShaderModule.d.ts +1 -1
  114. package/WebGPU/GPUShaderModule.js +2 -2
  115. package/WebGPU/GPUShaderModule.js.map +1 -1
  116. package/WebGPU/GPUTexture.d.ts +2 -0
  117. package/WebGPU/GPUTexture.js +6 -0
  118. package/WebGPU/GPUTexture.js.map +1 -1
  119. package/WebGPU/GPUTextureView.d.ts +1 -0
  120. package/WebGPU/GPUTextureView.js +3 -0
  121. package/WebGPU/GPUTextureView.js.map +1 -1
  122. package/WebGPU/Interfaces.d.ts +14 -4
  123. package/WebGPU/Types.d.ts +28 -27
  124. package/WebGPU/Utils.d.ts +1 -1
  125. package/WebGPU/Utils.js.map +1 -1
  126. package/angular/{esm2020 → esm2022}/index.mjs +5 -5
  127. package/angular/{fesm2015 → fesm2022}/nativescript-canvas-angular.mjs +4 -4
  128. package/angular/{fesm2020 → fesm2022}/nativescript-canvas-angular.mjs.map +1 -1
  129. package/angular/package.json +4 -10
  130. package/common.d.ts +0 -3
  131. package/common.js +1 -5
  132. package/common.js.map +1 -1
  133. package/helpers.js.map +1 -1
  134. package/package.json +2 -2
  135. package/platforms/android/canvas-release.aar +0 -0
  136. package/platforms/ios/CanvasNative.xcframework/Info.plist +5 -5
  137. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  138. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +26 -9
  139. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +2159 -2085
  140. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  141. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  142. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +971 -205
  143. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +38 -9
  144. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +38 -9
  145. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  146. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +645 -602
  147. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  148. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +52 -18
  149. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +2159 -2085
  150. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  151. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  152. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  153. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +971 -205
  154. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +38 -9
  155. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +38 -9
  156. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +971 -205
  157. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +38 -9
  158. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +38 -9
  159. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +25 -25
  160. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  161. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +647 -604
  162. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +685 -638
  163. package/platforms/ios/src/NSOperationQueueWrapper.h +2 -0
  164. package/platforms/ios/src/cpp/AsyncCallback.h +206 -0
  165. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +13 -13
  166. package/platforms/ios/src/cpp/Helpers.h +2 -164
  167. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +13 -13
  168. package/platforms/ios/src/cpp/ImageBitmapImpl.cpp +1 -1
  169. package/platforms/ios/src/cpp/ImageBitmapImpl.h +2 -1
  170. package/platforms/ios/src/cpp/JSIReadFileCallback.h +4 -4
  171. package/platforms/ios/src/cpp/NativeType.h +87 -0
  172. package/platforms/ios/src/cpp/ObjectWrapperImpl.h +50 -0
  173. package/platforms/ios/src/cpp/OneByteStringResource.cpp +2 -2
  174. package/platforms/ios/src/cpp/PromiseCallback.h +198 -0
  175. package/platforms/ios/src/cpp/RafImpl.h +2 -2
  176. package/platforms/ios/src/cpp/TextDecoderImpl.cpp +0 -6
  177. package/platforms/ios/src/cpp/TextDecoderImpl.h +3 -3
  178. package/platforms/ios/src/cpp/TextEncoderImpl.cpp +1 -1
  179. package/platforms/ios/src/cpp/TextEncoderImpl.h +3 -3
  180. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +8 -7
  181. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.cpp +1 -1
  182. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +3 -3
  183. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +146 -76
  184. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +74 -20
  185. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +5 -6
  186. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +4 -4
  187. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +10 -10
  188. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +2 -2
  189. package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +6 -3
  190. package/platforms/ios/src/cpp/canvas2d/Path2D.h +7 -7
  191. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +3 -3
  192. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +1 -1
  193. package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +1 -1
  194. package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +1 -1
  195. package/platforms/ios/src/cpp/webgl/WebGLProgram.h +3 -3
  196. package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +3 -3
  197. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +8 -8
  198. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +1 -1
  199. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +1 -1
  200. package/platforms/ios/src/cpp/webgl/WebGLShader.h +1 -1
  201. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +5 -5
  202. package/platforms/ios/src/cpp/webgl/WebGLTexture.h +3 -2
  203. package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +2 -2
  204. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +1 -1
  205. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +1 -1
  206. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +1 -1
  207. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +1 -1
  208. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +1 -1
  209. package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +1 -1
  210. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +1 -1
  211. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +2 -2
  212. package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +5 -5
  213. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +1 -1
  214. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +1 -1
  215. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +1 -1
  216. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +1 -1
  217. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +1 -1
  218. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +1 -1
  219. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +1 -1
  220. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +1 -1
  221. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +1 -1
  222. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +2 -2
  223. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +1 -1
  224. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +1 -1
  225. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +1 -1
  226. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +1 -1
  227. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +1 -1
  228. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +1 -1
  229. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +722 -722
  230. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +1 -1
  231. package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +1 -1
  232. package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +1 -1
  233. package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +1 -1
  234. package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +1 -1
  235. package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +2 -2
  236. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +137 -69
  237. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.h +1 -1
  238. package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.cpp +1 -1
  239. package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.h +1 -1
  240. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.cpp +32 -6
  241. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.h +5 -2
  242. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.cpp +27 -1
  243. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.h +4 -1
  244. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp +80 -32
  245. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.h +8 -4
  246. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +19 -14
  247. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.h +1 -1
  248. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.cpp +29 -2
  249. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.h +4 -1
  250. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +583 -450
  251. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h +5 -1
  252. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.cpp +42 -14
  253. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.h +4 -1
  254. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.cpp +26 -1
  255. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.h +3 -1
  256. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +1709 -728
  257. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h +4 -2
  258. package/platforms/ios/src/cpp/webgpu/GPUImpl.cpp +54 -41
  259. package/platforms/ios/src/cpp/webgpu/GPUImpl.h +2 -2
  260. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.cpp +27 -1
  261. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.h +8 -5
  262. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.cpp +2 -3
  263. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.h +2 -2
  264. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +65 -25
  265. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h +4 -1
  266. package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.cpp +30 -5
  267. package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.h +4 -1
  268. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.cpp +26 -1
  269. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.h +4 -1
  270. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +51 -54
  271. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +6 -3
  272. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.cpp +26 -1
  273. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.h +4 -1
  274. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.cpp +27 -1
  275. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.h +5 -2
  276. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.cpp +25 -1
  277. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.h +5 -2
  278. package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.cpp +2 -2
  279. package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.h +2 -2
  280. package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.cpp +33 -8
  281. package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h +6 -4
  282. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.cpp +27 -1
  283. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.h +5 -2
  284. package/platforms/ios/src/cpp/webgpu/GPUUtils.h +580 -2
  285. package/react/index.d.ts +1 -1
  286. package/utils.d.ts +1 -1
  287. package/utils.js.map +1 -1
  288. package/angular/fesm2015/nativescript-canvas-angular.mjs.map +0 -1
  289. package/angular/fesm2020/nativescript-canvas-angular.mjs +0 -24
  290. package/typings/objc!CanvasNative.d.ts +0 -2038
  291. package/typings/objc!CanvasNative.js +0 -1
  292. package/typings/objc!CanvasNative.js.map +0 -1
  293. /package/angular/{esm2020 → esm2022}/nativescript-canvas-angular.mjs +0 -0
@@ -1,4 +1,4 @@
1
- import { View, Property, CoreTypes } from '@nativescript/core';
1
+ import { View, Property } from '@nativescript/core';
2
2
  import { CanvasRenderingContext } from '../common';
3
3
  export interface ICanvasBase {
4
4
  on(eventName: 'ready', callback: (data: any) => void, thisArg?: any): void;
@@ -139,8 +139,7 @@ export declare class Touch {
139
139
  preventDefault(): void;
140
140
  stopPropagation(): void;
141
141
  }
142
- export declare class TouchList {
143
- private _list;
142
+ export declare class TouchList extends Array {
144
143
  static fromList(list: Touch[]): TouchList;
145
144
  static empty(): TouchList;
146
145
  item(index: number): Touch;
@@ -186,17 +185,6 @@ export declare const doc: {
186
185
  getComputedStyle: () => any;
187
186
  };
188
187
  };
189
- declare class Size {
190
- private view;
191
- private type;
192
- constructor(view: CanvasBase, type?: 'physical' | 'logical');
193
- get width(): number;
194
- get height(): number;
195
- toJSON(): {
196
- width: number;
197
- height: number;
198
- };
199
- }
200
188
  export declare abstract class CanvasBase extends View implements ICanvasBase {
201
189
  static readyEvent: string;
202
190
  ignoreTouchEvents: boolean;
@@ -240,9 +228,7 @@ export declare abstract class CanvasBase extends View implements ICanvasBase {
240
228
  private _pinchCallback;
241
229
  _handleEvents(event: any): void;
242
230
  get classList(): Set<any>;
243
- _physicalSize: Size;
244
- _logicalSize: Size;
245
- _handlePowerPreference(powerPreference: string): 1 | -1 | 0 | 2;
231
+ _handlePowerPreference(powerPreference: string): 1 | 2 | 0 | -1;
246
232
  _handleContextOptions(type: '2d' | 'webgl' | 'webgl2' | 'experimental-webgl' | 'webgpu', contextOpts?: any): any;
247
233
  _readyEvent(): void;
248
234
  getAttribute(attrib: any): any;
@@ -258,7 +244,6 @@ export declare abstract class CanvasBase extends View implements ICanvasBase {
258
244
  bottom: number;
259
245
  left: number;
260
246
  };
261
- _getSize(value: string | number | CoreTypes.LengthPercentUnit | CoreTypes.LengthDipUnit | CoreTypes.LengthPxUnit | 'auto', measuredSize: number, type?: 'logical' | 'physical'): number;
262
247
  setPointerCapture(id: any): void;
263
248
  releasePointerCapture(id: any): void;
264
249
  }
package/Canvas/common.js CHANGED
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { CSSType, PercentLength, View, Property, booleanConverter, Screen } from '@nativescript/core';
10
+ import { CSSType, View, Property, booleanConverter } from '@nativescript/core';
11
11
  const defaultGLOptions = {
12
12
  alpha: true,
13
13
  antialias: true,
@@ -128,22 +128,20 @@ export class Touch {
128
128
  preventDefault() { }
129
129
  stopPropagation() { }
130
130
  }
131
- export class TouchList {
131
+ export class TouchList extends Array {
132
132
  static fromList(list) {
133
133
  const ret = new TouchList();
134
- ret._list = list;
134
+ ret.splice(0, 0, ...list);
135
135
  return ret;
136
136
  }
137
137
  static empty() {
138
- const ret = new TouchList();
139
- ret._list = [];
140
- return ret;
138
+ return new TouchList();
141
139
  }
142
140
  item(index) {
143
- return this._list[index];
141
+ return this[index];
144
142
  }
145
143
  get length() {
146
- return this._list.length;
144
+ return this.length;
147
145
  }
148
146
  }
149
147
  export class TouchEvent extends UIEvent {
@@ -190,24 +188,6 @@ export const doc = {
190
188
  },
191
189
  },
192
190
  };
193
- class Size {
194
- constructor(view, type = 'logical') {
195
- this.view = view;
196
- this.type = type;
197
- }
198
- get width() {
199
- return this.view._getSize(this.view.style.width, this.view.getMeasuredWidth(), this.type);
200
- }
201
- get height() {
202
- return this.view._getSize(this.view.style.height, this.view.getMeasuredHeight(), this.type);
203
- }
204
- toJSON() {
205
- return {
206
- width: this.width,
207
- height: this.height,
208
- };
209
- }
210
- }
211
191
  let CanvasBase = class CanvasBase extends View {
212
192
  constructor() {
213
193
  super();
@@ -231,8 +211,6 @@ let CanvasBase = class CanvasBase extends View {
231
211
  this._touches = [];
232
212
  this._touchesById = [];
233
213
  this._lastPointerEventById = [];
234
- this._physicalSize = new Size(this, 'physical');
235
- this._logicalSize = new Size(this, 'logical');
236
214
  this._classList = new Set();
237
215
  }
238
216
  get ownerDocument() {
@@ -412,7 +390,7 @@ let CanvasBase = class CanvasBase extends View {
412
390
  }
413
391
  }
414
392
  if (this._touchMoveCallbacks.length > 0) {
415
- const changedTouches = [];
393
+ const changedTouches = TouchList.empty();
416
394
  for (const pointer of pointers) {
417
395
  changedTouches.push(new Touch({
418
396
  identifier: pointer.ptrId,
@@ -514,7 +492,7 @@ let CanvasBase = class CanvasBase extends View {
514
492
  }
515
493
  if (this._touchEndCallbacks.length > 0) {
516
494
  const touches = TouchList.fromList(this._touches);
517
- const changedTouches = [
495
+ const changedTouches = TouchList.fromList([
518
496
  new Touch({
519
497
  identifier: ptrId,
520
498
  target: null,
@@ -525,7 +503,7 @@ let CanvasBase = class CanvasBase extends View {
525
503
  pageX: x,
526
504
  pageY: y,
527
505
  }),
528
- ];
506
+ ]);
529
507
  const event = new TouchEvent('touchend', {
530
508
  touches,
531
509
  targetTouches: touches,
@@ -864,47 +842,6 @@ let CanvasBase = class CanvasBase extends View {
864
842
  this['tabindex'] = arguments[1];
865
843
  }
866
844
  }
867
- _getSize(value, measuredSize, type = 'logical') {
868
- const isPhysical = type === 'physical';
869
- if (value === undefined || value === null) {
870
- return 0;
871
- }
872
- if (value === 'auto') {
873
- const size = measuredSize;
874
- if (isPhysical) {
875
- return Math.floor(size);
876
- }
877
- return Math.floor(size / Screen.mainScreen.scale);
878
- }
879
- if (typeof value === 'string') {
880
- value = PercentLength.parse(value);
881
- }
882
- switch (typeof value) {
883
- case 'number': {
884
- if (isPhysical) {
885
- return Math.floor((value || 0) * Screen.mainScreen.scale);
886
- }
887
- return value || 0;
888
- }
889
- case 'object': {
890
- if (value.unit === 'dip' || value.unit === 'px') {
891
- if (isPhysical) {
892
- return Math.floor((value.value || 0) * Screen.mainScreen.scale);
893
- }
894
- return value.value || 0;
895
- }
896
- else if (value.unit === '%') {
897
- if (isPhysical) {
898
- return Math.floor(measuredSize * value.value ?? 0);
899
- }
900
- return Math.floor((measuredSize * value.value ?? 0) / Screen.mainScreen.scale);
901
- }
902
- return 0;
903
- }
904
- default:
905
- return 0;
906
- }
907
- }
908
845
  setPointerCapture(id) { }
909
846
  releasePointerCapture(id) { }
910
847
  };
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../packages/canvas/Canvas/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../packages/canvas/Canvas/common.ts"],"names":[],"mappings":"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"}
@@ -21,24 +21,22 @@ export declare class Canvas extends CanvasBase {
21
21
  static useSurface: boolean;
22
22
  constructor(nativeInstance?: any);
23
23
  get android(): any;
24
- get clientWidth(): any;
25
- get clientHeight(): any;
24
+ get clientWidth(): number;
25
+ get clientHeight(): number;
26
26
  get drawingBufferHeight(): any;
27
27
  get drawingBufferWidth(): any;
28
- get width(): any;
29
- set width(value: any);
30
- get height(): any;
31
- set height(value: any);
28
+ get width(): number;
29
+ set width(value: number);
30
+ get height(): number;
31
+ set height(value: number);
32
32
  static createCustomView(): Canvas;
33
33
  createNativeView(): any;
34
34
  initNativeView(): void;
35
35
  disposeNativeView(): void;
36
36
  toDataURL(type?: string, encoderOptions?: number): any;
37
37
  snapshot(flip?: boolean): ImageSource | null;
38
- _layoutNative(): void;
39
38
  get __native__context(): any;
40
39
  get native(): any;
41
- _didLayout: boolean;
42
40
  getContext(type: string, contextAttributes?: any): CanvasRenderingContext2D | WebGLRenderingContext | WebGL2RenderingContext | GPUCanvasContext | null;
43
41
  private _jsBuffer;
44
42
  private get _boundingClientRect();
@@ -3,7 +3,7 @@ import { DOMMatrix } from '../Canvas2D';
3
3
  import { CanvasRenderingContext2D } from '../Canvas2D/CanvasRenderingContext2D';
4
4
  import { WebGLRenderingContext } from '../WebGL/WebGLRenderingContext';
5
5
  import { WebGL2RenderingContext } from '../WebGL2/WebGL2RenderingContext';
6
- import { Application, View, Screen, ImageSource, Utils } from '@nativescript/core';
6
+ import { Application, View, Screen, ImageSource, Utils, widthProperty, heightProperty } from '@nativescript/core';
7
7
  import { GPUCanvasContext } from '../WebGPU';
8
8
  export function createSVGMatrix() {
9
9
  return new DOMMatrix();
@@ -29,6 +29,62 @@ var ContextType;
29
29
  ContextType[ContextType["WebGL2"] = 3] = "WebGL2";
30
30
  ContextType[ContextType["WebGPU"] = 4] = "WebGPU";
31
31
  })(ContextType || (ContextType = {}));
32
+ function updateFit(canvas) {
33
+ const styleWidth = canvas.style.width;
34
+ const styleHeight = canvas.style.height;
35
+ if (typeof styleWidth === 'object' && typeof styleHeight === 'object') {
36
+ if (styleWidth?.unit === '%' && styleWidth.value >= 1 && styleHeight?.unit === '%' && styleHeight.value >= 1) {
37
+ canvas._canvas.setFit(org.nativescript.canvas.CanvasFit.Fill);
38
+ }
39
+ else if ((styleWidth?.unit === 'px' || styleWidth?.unit === 'dip') && (styleHeight?.unit === 'px' || styleHeight?.unit === 'dip')) {
40
+ const width = canvas._canvas.getSurfaceWidth();
41
+ const height = canvas._canvas.getSurfaceHeight();
42
+ const viewWidth = canvas._canvas.getMeasuredWidth();
43
+ const viewHeight = canvas._canvas.getMeasuredHeight();
44
+ if (viewWidth > width || viewHeight > height) {
45
+ canvas._canvas.setFit(org.nativescript.canvas.CanvasFit.ScaleDown);
46
+ }
47
+ else {
48
+ canvas._canvas.setFit(org.nativescript.canvas.CanvasFit.Fill);
49
+ }
50
+ }
51
+ else {
52
+ canvas._canvas.setFit(org.nativescript.canvas.CanvasFit.Fill);
53
+ }
54
+ }
55
+ else if (typeof styleWidth === 'object' && styleHeight === 'auto') {
56
+ if (styleWidth?.unit === 'px' || styleWidth?.unit === 'dip' || styleWidth?.unit === '%') {
57
+ canvas._canvas.setFit(org.nativescript.canvas.CanvasFit.FitX);
58
+ }
59
+ }
60
+ else if (styleWidth === 'auto' && typeof styleHeight === 'object') {
61
+ if (styleHeight?.unit === 'px' || styleHeight?.unit === 'dip' || styleHeight?.unit === '%') {
62
+ canvas._canvas.setFit(org.nativescript.canvas.CanvasFit.FitY);
63
+ }
64
+ }
65
+ else if (styleWidth === 'auto' && styleHeight === 'auto') {
66
+ // // when auto/auto is set force the frame size to be the same as the canvas
67
+ // const width = Math.floor(canvas._canvas.surfaceWidth / Screen.mainScreen.scale);
68
+ // const height = Math.floor(canvas._canvas.surfaceHeight / Screen.mainScreen.scale);
69
+ // const newFrame = CGRectMake(frame.origin.x, frame.origin.y, width, height);
70
+ // canvas._canvas.setFit(org.nativescript.canvas.CanvasFit.None);
71
+ // canvas._canvas.getMeasuredHeight()
72
+ }
73
+ else {
74
+ canvas._canvas.setFit(org.nativescript.canvas.CanvasFit.Fill);
75
+ }
76
+ }
77
+ const viewRect_ = Symbol('[[viewRect]]');
78
+ function valueToNumber(value) {
79
+ switch (typeof value) {
80
+ case 'string':
81
+ return parseFloat(value);
82
+ case 'number':
83
+ return value;
84
+ default:
85
+ return NaN;
86
+ }
87
+ }
32
88
  export class Canvas extends CanvasBase {
33
89
  constructor(nativeInstance) {
34
90
  super();
@@ -37,7 +93,6 @@ export class Canvas extends CanvasBase {
37
93
  this._contextType = ContextType.None;
38
94
  this._is2D = false;
39
95
  this._isBatch = false;
40
- this._didLayout = false;
41
96
  if (nativeInstance) {
42
97
  // allows Worker usage
43
98
  this._canvas = nativeInstance;
@@ -51,10 +106,11 @@ export class Canvas extends CanvasBase {
51
106
  else {
52
107
  this._canvas = new org.nativescript.canvas.NSCCanvas(activity);
53
108
  }
54
- const textureView = this._canvas.getChildAt(0);
55
- const matrix = new android.graphics.Matrix();
56
- matrix.setScale(Screen.mainScreen.scale, Screen.mainScreen.scale);
57
- //textureView.setTransform(matrix);
109
+ // const view = this._canvas.getChildAt(0) as android.view.TextureView;
110
+ // view.setOpaque(true);
111
+ // default canvas size
112
+ this._canvas.setSurfaceWidth(300);
113
+ this._canvas.setSurfaceHeight(150);
58
114
  global.__canvasLoaded = true;
59
115
  const ref = new WeakRef(this);
60
116
  this._canvas.setTouchEventListener(new org.nativescript.canvas.NSCCanvas.TouchEvents({
@@ -76,41 +132,69 @@ export class Canvas extends CanvasBase {
76
132
  return this._canvas;
77
133
  }
78
134
  get clientWidth() {
79
- return this.width;
135
+ return this.getMeasuredWidth() / Screen.mainScreen.scale;
80
136
  }
81
137
  get clientHeight() {
82
- return this.height;
138
+ return this.getMeasuredHeight() / Screen.mainScreen.scale;
83
139
  }
84
140
  get drawingBufferHeight() {
141
+ if (this._canvas === undefined || this._canvas === null) {
142
+ return 0;
143
+ }
85
144
  return this._canvas.getDrawingBufferHeight();
86
145
  }
87
146
  get drawingBufferWidth() {
147
+ if (this._canvas === undefined || this._canvas === null) {
148
+ return 0;
149
+ }
88
150
  return this._canvas.getDrawingBufferWidth();
89
151
  }
90
152
  // @ts-ignore
91
153
  get width() {
92
- return this._logicalSize.width;
154
+ if (this._canvas === undefined || this._canvas === null) {
155
+ return 0;
156
+ }
157
+ return this._canvas.getSurfaceWidth();
93
158
  }
94
159
  set width(value) {
95
- this._didLayout = false;
96
- this._layoutNative();
160
+ if (this._canvas === undefined || this._canvas === null) {
161
+ return;
162
+ }
163
+ value = valueToNumber(value);
164
+ if (!Number.isNaN(value)) {
165
+ this._canvas.setSurfaceWidth(value);
166
+ }
97
167
  }
98
168
  // @ts-ignore
99
169
  get height() {
100
- return this._logicalSize.height;
170
+ if (this._canvas === undefined || this._canvas === null) {
171
+ return 0;
172
+ }
173
+ return this._canvas.getSurfaceHeight();
101
174
  }
102
175
  set height(value) {
103
- this._didLayout = false;
104
- this._layoutNative();
176
+ if (this._canvas === undefined || this._canvas === null) {
177
+ return;
178
+ }
179
+ value = valueToNumber(value);
180
+ if (!Number.isNaN(value)) {
181
+ this._canvas.setSurfaceHeight(value);
182
+ }
183
+ }
184
+ [widthProperty.setNative](value) {
185
+ updateFit(this);
186
+ }
187
+ [heightProperty.setNative](value) {
188
+ updateFit(this);
105
189
  }
106
190
  static createCustomView() {
107
191
  const canvas = new Canvas();
108
- canvas._isBatch = true;
109
192
  canvas._isCustom = true;
110
- canvas.style.width = 300;
111
- canvas.style.height = 150;
112
- canvas._isBatch = false;
113
- canvas._layoutNative();
193
+ canvas.style.width = {
194
+ unit: '%',
195
+ value: 1,
196
+ };
197
+ canvas.style.height = 'auto';
114
198
  return canvas;
115
199
  }
116
200
  createNativeView() {
@@ -137,20 +221,18 @@ export class Canvas extends CanvasBase {
137
221
  if (parent && typeof parent.getBoundingClientRect !== 'function') {
138
222
  parent.getBoundingClientRect = function () {
139
223
  const view = this;
140
- const nativeView = view.android;
141
- const width = this.width;
142
- const height = this.height;
143
- const scale = Screen.mainScreen.scale;
144
- return {
145
- bottom: nativeView.getBottom() / scale,
146
- height: height,
147
- left: nativeView.getLeft() / scale,
148
- right: nativeView.getRight() / scale,
149
- top: nativeView.getTop() / scale,
150
- width: width,
151
- x: nativeView.getX() / scale,
152
- y: nativeView.getY() / scale,
153
- };
224
+ if (!view) {
225
+ return new DOMRect(0, 0, 0, 0);
226
+ }
227
+ const nativeView = view.nativeView;
228
+ if (!view[viewRect_]) {
229
+ view[viewRect_] = new Float32Array(8);
230
+ }
231
+ if (!nativeView) {
232
+ return new DOMRect(0, 0, 0, 0);
233
+ }
234
+ nativeView.getBoundingClientRect(view[viewRect_]);
235
+ return new DOMRect(view[viewRect_][6], view[viewRect_][7], view[viewRect_][4], view[viewRect_][5], view[viewRect_][0], view[viewRect_][1], view[viewRect_][2], view[viewRect_][3]);
154
236
  };
155
237
  }
156
238
  if (parent && parent.ownerDocument === undefined) {
@@ -192,26 +274,6 @@ export class Canvas extends CanvasBase {
192
274
  }
193
275
  return null;
194
276
  }
195
- _layoutNative() {
196
- if (!this._isCustom) {
197
- return;
198
- }
199
- if (this._isBatch) {
200
- return;
201
- }
202
- if (this._didLayout) {
203
- return;
204
- }
205
- if (this._canvas === undefined || this._canvas === null) {
206
- return;
207
- }
208
- const size = this._physicalSize;
209
- org.nativescript.canvas.NSCCanvas.layoutView(size.width || 0, size.height || 0, this._canvas);
210
- if (this._is2D) {
211
- this._2dContext.native.__resize(size.width, size.height);
212
- }
213
- this._didLayout = true;
214
- }
215
277
  get __native__context() {
216
278
  switch (this._contextType) {
217
279
  case ContextType.Canvas:
@@ -236,12 +298,7 @@ export class Canvas extends CanvasBase {
236
298
  if (this._webglContext || this._webgl2Context) {
237
299
  return null;
238
300
  }
239
- this._isBatch = true;
240
- this.width = 500;
241
- this.height = 500;
242
- this._isBatch = false;
243
301
  if (!this._2dContext) {
244
- this._layoutNative();
245
302
  const opts = {
246
303
  ...defaultOpts,
247
304
  ...this._handleContextOptions(type, contextAttributes),
@@ -261,7 +318,6 @@ export class Canvas extends CanvasBase {
261
318
  return null;
262
319
  }
263
320
  if (!this._webglContext) {
264
- this._layoutNative();
265
321
  const opts = { version: 1, ...defaultOpts, ...this._handleContextOptions(type, contextAttributes) };
266
322
  this._canvas.initContext(type, opts.alpha, false, opts.depth, opts.failIfMajorPerformanceCaveat, opts.powerPreference, opts.premultipliedAlpha, opts.preserveDrawingBuffer, opts.stencil, opts.desynchronized, opts.xrCompatible);
267
323
  this._webglContext = new WebGLRenderingContext(this._canvas, opts);
@@ -276,7 +332,6 @@ export class Canvas extends CanvasBase {
276
332
  return null;
277
333
  }
278
334
  if (!this._webgl2Context) {
279
- this._layoutNative();
280
335
  const opts = { version: 2, ...defaultOpts, ...this._handleContextOptions(type, contextAttributes) };
281
336
  this._canvas.initContext(type, opts.alpha, false, opts.depth, opts.failIfMajorPerformanceCaveat, opts.powerPreference, opts.premultipliedAlpha, opts.preserveDrawingBuffer, opts.stencil, opts.desynchronized, opts.xrCompatible);
282
337
  this._webgl2Context = new WebGL2RenderingContext(this._canvas, opts);
@@ -291,10 +346,10 @@ export class Canvas extends CanvasBase {
291
346
  return null;
292
347
  }
293
348
  if (!this._gpuContext) {
294
- this._layoutNative();
295
349
  const ptr = navigator.gpu.native.__getPointer();
296
350
  this._canvas.initWebGPUContext(long(ptr));
297
351
  this._gpuContext = new GPUCanvasContext(this._canvas);
352
+ this._gpuContext._canvas = this;
298
353
  }
299
354
  return this._gpuContext;
300
355
  }
@@ -309,7 +364,7 @@ export class Canvas extends CanvasBase {
309
364
  return this._jsBuffer;
310
365
  }
311
366
  getBoundingClientRect() {
312
- if (!this._canvas) {
367
+ if (!this._canvas || !this.parent) {
313
368
  return new DOMRect(0, 0, 0, 0);
314
369
  }
315
370
  org.nativescript.canvas.NSCCanvas.getBoundingClientRect(this._canvas);