@nativescript/canvas 2.0.0-webgpu.35 → 2.0.0-webgpu.37

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 (56) hide show
  1. package/Canvas/common.d.ts +1 -1
  2. package/Canvas/common.js +24 -18
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.js.map +1 -1
  5. package/Canvas/index.ios.js +1 -1
  6. package/Canvas/index.ios.js.map +1 -1
  7. package/Canvas2D/CanvasRenderingContext2D/index.d.ts +2 -1
  8. package/Canvas2D/CanvasRenderingContext2D/index.js +1 -4
  9. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  10. package/ImageAsset/index.d.ts +4 -2
  11. package/ImageAsset/index.js +76 -6
  12. package/ImageAsset/index.js.map +1 -1
  13. package/WebGL/WebGLRenderingContext/common.d.ts +1 -1
  14. package/WebGL/WebGLRenderingContext/index.js +4 -3
  15. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  16. package/WebGPU/GPUCanvasContext.d.ts +2 -1
  17. package/WebGPU/GPUCanvasContext.js.map +1 -1
  18. package/WebGPU/GPUQueue.js +9 -0
  19. package/WebGPU/GPUQueue.js.map +1 -1
  20. package/WebGPU/GPURenderPassEncoder.d.ts +3 -0
  21. package/WebGPU/GPURenderPassEncoder.js +9 -0
  22. package/WebGPU/GPURenderPassEncoder.js.map +1 -1
  23. package/angular/esm2022/index.mjs +4 -4
  24. package/angular/fesm2022/nativescript-canvas-angular.mjs +4 -4
  25. package/angular/fesm2022/nativescript-canvas-angular.mjs.map +1 -1
  26. package/common.js.map +1 -1
  27. package/index.d.ts +2 -1
  28. package/index.js +2 -1
  29. package/index.js.map +1 -1
  30. package/package.json +1 -1
  31. package/platforms/android/canvas-release.aar +0 -0
  32. package/platforms/ios/CanvasNative.xcframework/Info.plist +5 -5
  33. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  34. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +85 -0
  35. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  36. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +7293 -7997
  37. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  38. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +681 -681
  39. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  40. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +85 -0
  41. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  42. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  43. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +7293 -7997
  44. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +7293 -7997
  45. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +6 -6
  46. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  47. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +683 -683
  48. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +736 -736
  49. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +129 -0
  50. package/platforms/ios/src/cpp/CanvasJSIModule.h +2 -0
  51. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +572 -397
  52. package/platforms/ios/src/cpp/ImageAssetImpl.h +4 -0
  53. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +40 -8
  54. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +67 -0
  55. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +4 -0
  56. package/utils.d.ts +1 -1
@@ -1770,6 +1770,52 @@ typedef struct CanvasOrigin2d {
1770
1770
  uint32_t y;
1771
1771
  } CanvasOrigin2d;
1772
1772
 
1773
+ typedef struct CanvasImageCopyWebGL {
1774
+ /**
1775
+ * The texture to be copied from. The copy source data is captured at the moment
1776
+ * the copy is issued.
1777
+ */
1778
+ const struct WebGLState *source;
1779
+ /**
1780
+ * The base texel used for copying from the external image. Together
1781
+ * with the `copy_size` argument to copy functions, defines the
1782
+ * sub-region of the image to copy.
1783
+ *
1784
+ * Relative to the top left of the image.
1785
+ *
1786
+ * Must be [`Origin2d::ZERO`] if [`DownlevelFlags::UNRESTRICTED_EXTERNAL_TEXTURE_COPIES`] is not supported.
1787
+ */
1788
+ struct CanvasOrigin2d origin;
1789
+ /**
1790
+ * If the Y coordinate of the image should be flipped. Even if this is
1791
+ * true, `origin` is still relative to the top left.
1792
+ */
1793
+ bool flip_y;
1794
+ } CanvasImageCopyWebGL;
1795
+
1796
+ typedef struct CanvasImageCopyCanvasRenderingContext2D {
1797
+ /**
1798
+ * The texture to be copied from. The copy source data is captured at the moment
1799
+ * the copy is issued.
1800
+ */
1801
+ const struct CanvasRenderingContext2D *source;
1802
+ /**
1803
+ * The base texel used for copying from the external image. Together
1804
+ * with the `copy_size` argument to copy functions, defines the
1805
+ * sub-region of the image to copy.
1806
+ *
1807
+ * Relative to the top left of the image.
1808
+ *
1809
+ * Must be [`Origin2d::ZERO`] if [`DownlevelFlags::UNRESTRICTED_EXTERNAL_TEXTURE_COPIES`] is not supported.
1810
+ */
1811
+ struct CanvasOrigin2d origin;
1812
+ /**
1813
+ * If the Y coordinate of the image should be flipped. Even if this is
1814
+ * true, `origin` is still relative to the top left.
1815
+ */
1816
+ bool flip_y;
1817
+ } CanvasImageCopyCanvasRenderingContext2D;
1818
+
1773
1819
  typedef struct CanvasImageCopyImageAsset {
1774
1820
  /**
1775
1821
  * The texture to be copied from. The copy source data is captured at the moment
@@ -1840,6 +1886,11 @@ typedef struct CanvasCreateTextureViewDescriptor {
1840
1886
  const struct CanvasImageSubresourceRange *range;
1841
1887
  } CanvasCreateTextureViewDescriptor;
1842
1888
 
1889
+ typedef struct FileHelperMime {
1890
+ const char *mime_type;
1891
+ const char *extension;
1892
+ } FileHelperMime;
1893
+
1843
1894
  void canvas_native_font_add_family(const char *alias,
1844
1895
  const char *const *filenames,
1845
1896
  uintptr_t length);
@@ -3274,6 +3325,16 @@ void canvas_native_webgpu_queue_reference(const struct CanvasGPUQueue *queue);
3274
3325
 
3275
3326
  void canvas_native_webgpu_queue_release(const struct CanvasGPUQueue *queue);
3276
3327
 
3328
+ void canvas_native_webgpu_queue_copy_webgl_to_texture(const struct CanvasGPUQueue *queue,
3329
+ const struct CanvasImageCopyWebGL *source,
3330
+ const struct CanvasImageCopyTexture *destination,
3331
+ const struct CanvasExtent3d *size);
3332
+
3333
+ void canvas_native_webgpu_queue_copy_context_to_texture(const struct CanvasGPUQueue *queue,
3334
+ const struct CanvasImageCopyCanvasRenderingContext2D *source,
3335
+ const struct CanvasImageCopyTexture *destination,
3336
+ const struct CanvasExtent3d *size);
3337
+
3277
3338
  void canvas_native_webgpu_queue_copy_image_asset_to_texture(const struct CanvasGPUQueue *queue,
3278
3339
  const struct CanvasImageCopyImageAsset *source,
3279
3340
  const struct CanvasImageCopyTexture *destination,
@@ -3396,10 +3457,20 @@ void canvas_native_webgpu_render_pass_encoder_draw_indexed_indirect(const struct
3396
3457
  const struct CanvasGPUBuffer *indirect_buffer,
3397
3458
  uint64_t indirect_offset);
3398
3459
 
3460
+ void canvas_native_webgpu_render_pass_encoder_multi_draw_indexed_indirect(const struct CanvasGPURenderPassEncoder *render_pass,
3461
+ const struct CanvasGPUBuffer *indirect_buffer,
3462
+ uint64_t indirect_offset,
3463
+ uint32_t count);
3464
+
3399
3465
  void canvas_native_webgpu_render_pass_encoder_draw_indirect(const struct CanvasGPURenderPassEncoder *render_pass,
3400
3466
  const struct CanvasGPUBuffer *indirect_buffer,
3401
3467
  uint64_t indirect_offset);
3402
3468
 
3469
+ void canvas_native_webgpu_render_pass_encoder_multi_draw_indirect(const struct CanvasGPURenderPassEncoder *render_pass,
3470
+ const struct CanvasGPUBuffer *indirect_buffer,
3471
+ uint64_t indirect_offset,
3472
+ uint32_t count);
3473
+
3403
3474
  void canvas_native_webgpu_render_pass_encoder_end(const struct CanvasGPURenderPassEncoder *render_pass);
3404
3475
 
3405
3476
  void canvas_native_webgpu_render_pass_encoder_end_occlusion_query(const struct CanvasGPURenderPassEncoder *render_pass);
@@ -3573,10 +3644,18 @@ char *canvas_native_string_buffer_get_value_at(const struct StringBuffer *buffer
3573
3644
 
3574
3645
  void canvas_native_string_buffer_release(struct StringBuffer *buffer);
3575
3646
 
3647
+ struct FileHelperMime *canvas_native_helper_get_mime(const uint8_t *data, uintptr_t size);
3648
+
3649
+ void canvas_native_helper_release_mime(struct FileHelperMime *mime);
3650
+
3576
3651
  void canvas_native_helper_release(struct FileHelper *value);
3577
3652
 
3578
3653
  struct FileHelper *canvas_native_helper_read_file(const char *path);
3579
3654
 
3655
+ char *canvas_native_helper_read_file_get_mime(struct FileHelper *file);
3656
+
3657
+ char *canvas_native_helper_read_file_get_extension(struct FileHelper *file);
3658
+
3580
3659
  bool canvas_native_helper_read_file_has_error(const struct FileHelper *file);
3581
3660
 
3582
3661
  struct U8Buffer *canvas_native_helper_read_file_get_data(struct FileHelper *file);
@@ -3600,9 +3679,15 @@ bool canvas_native_image_asset_load_from_fd(const struct ImageAsset *asset, int
3600
3679
  bool canvas_native_image_asset_load_from_path(const struct ImageAsset *asset, const char *path);
3601
3680
 
3602
3681
  bool canvas_native_image_asset_load_from_raw(const struct ImageAsset *asset,
3682
+ uint32_t width,
3683
+ uint32_t height,
3603
3684
  const uint8_t *array,
3604
3685
  uintptr_t size);
3605
3686
 
3687
+ bool canvas_native_image_asset_load_from_raw_encoded(const struct ImageAsset *asset,
3688
+ const uint8_t *array,
3689
+ uintptr_t size);
3690
+
3606
3691
  bool canvas_native_image_asset_load_from_url(const struct ImageAsset *asset, const char *url);
3607
3692
 
3608
3693
  int64_t canvas_native_image_asset_addr(const struct ImageAsset *asset);