@nativescript/canvas 2.0.0-webgpu.4 → 2.0.0-webgpu.41

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 (211) hide show
  1. package/Canvas/common.d.ts +5 -10
  2. package/Canvas/common.js +61 -144
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.d.ts +6 -5
  5. package/Canvas/index.android.js +63 -42
  6. package/Canvas/index.android.js.map +1 -1
  7. package/Canvas/index.d.ts +13 -3
  8. package/Canvas/index.ios.d.ts +9 -1
  9. package/Canvas/index.ios.js +117 -66
  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 +3 -1
  15. package/Canvas2D/CanvasRenderingContext2D/index.js +2 -4
  16. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  17. package/Dom/Group.d.ts +1 -2
  18. package/Dom/Group.js.map +1 -1
  19. package/Dom/Image.js +0 -1
  20. package/Dom/Image.js.map +1 -1
  21. package/Dom/Paint.d.ts +1 -1
  22. package/Dom/shapes/Path.d.ts +1 -1
  23. package/ImageAsset/index.d.ts +4 -2
  24. package/ImageAsset/index.js +151 -37
  25. package/ImageAsset/index.js.map +1 -1
  26. package/ImageBitmap/index.js +107 -20
  27. package/ImageBitmap/index.js.map +1 -1
  28. package/README.md +2 -4
  29. package/WebGL/WebGLRenderingContext/common.d.ts +1 -1
  30. package/WebGL/WebGLRenderingContext/index.js +76 -32
  31. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  32. package/WebGL2/WebGL2RenderingContext/index.js +5 -5
  33. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
  34. package/WebGPU/GPU.js +4 -3
  35. package/WebGPU/GPU.js.map +1 -1
  36. package/WebGPU/GPUAdapter.d.ts +6 -3
  37. package/WebGPU/GPUAdapter.js +31 -0
  38. package/WebGPU/GPUAdapter.js.map +1 -1
  39. package/WebGPU/GPUBindGroup.d.ts +1 -0
  40. package/WebGPU/GPUBindGroup.js +3 -0
  41. package/WebGPU/GPUBindGroup.js.map +1 -1
  42. package/WebGPU/GPUBindGroupLayout.d.ts +1 -0
  43. package/WebGPU/GPUBindGroupLayout.js +3 -0
  44. package/WebGPU/GPUBindGroupLayout.js.map +1 -1
  45. package/WebGPU/GPUBuffer.js +10 -2
  46. package/WebGPU/GPUBuffer.js.map +1 -1
  47. package/WebGPU/GPUCanvasContext.d.ts +5 -3
  48. package/WebGPU/GPUCanvasContext.js +52 -10
  49. package/WebGPU/GPUCanvasContext.js.map +1 -1
  50. package/WebGPU/GPUCommandBuffer.d.ts +1 -0
  51. package/WebGPU/GPUCommandBuffer.js +3 -0
  52. package/WebGPU/GPUCommandBuffer.js.map +1 -1
  53. package/WebGPU/GPUCommandEncoder.d.ts +3 -9
  54. package/WebGPU/GPUCommandEncoder.js +94 -41
  55. package/WebGPU/GPUCommandEncoder.js.map +1 -1
  56. package/WebGPU/GPUComputePassEncoder.d.ts +1 -0
  57. package/WebGPU/GPUComputePassEncoder.js +3 -0
  58. package/WebGPU/GPUComputePassEncoder.js.map +1 -1
  59. package/WebGPU/GPUComputePipeline.d.ts +1 -0
  60. package/WebGPU/GPUComputePipeline.js +3 -0
  61. package/WebGPU/GPUComputePipeline.js.map +1 -1
  62. package/WebGPU/GPUDevice.d.ts +17 -79
  63. package/WebGPU/GPUDevice.js +75 -91
  64. package/WebGPU/GPUDevice.js.map +1 -1
  65. package/WebGPU/GPUExternalTexture.d.ts +1 -0
  66. package/WebGPU/GPUExternalTexture.js +3 -0
  67. package/WebGPU/GPUExternalTexture.js.map +1 -1
  68. package/WebGPU/GPUPipelineLayout.d.ts +1 -0
  69. package/WebGPU/GPUPipelineLayout.js +3 -0
  70. package/WebGPU/GPUPipelineLayout.js.map +1 -1
  71. package/WebGPU/GPUQuerySet.d.ts +1 -0
  72. package/WebGPU/GPUQuerySet.js +3 -0
  73. package/WebGPU/GPUQuerySet.js.map +1 -1
  74. package/WebGPU/GPUQueue.d.ts +1 -0
  75. package/WebGPU/GPUQueue.js +65 -14
  76. package/WebGPU/GPUQueue.js.map +1 -1
  77. package/WebGPU/GPURenderBundle.d.ts +1 -0
  78. package/WebGPU/GPURenderBundle.js +3 -0
  79. package/WebGPU/GPURenderBundle.js.map +1 -1
  80. package/WebGPU/GPURenderBundleEncoder.d.ts +4 -2
  81. package/WebGPU/GPURenderBundleEncoder.js +7 -3
  82. package/WebGPU/GPURenderBundleEncoder.js.map +1 -1
  83. package/WebGPU/GPURenderPassEncoder.d.ts +5 -1
  84. package/WebGPU/GPURenderPassEncoder.js +14 -2
  85. package/WebGPU/GPURenderPassEncoder.js.map +1 -1
  86. package/WebGPU/GPURenderPipeline.d.ts +1 -0
  87. package/WebGPU/GPURenderPipeline.js +3 -0
  88. package/WebGPU/GPURenderPipeline.js.map +1 -1
  89. package/WebGPU/GPUSampler.d.ts +1 -0
  90. package/WebGPU/GPUSampler.js +3 -0
  91. package/WebGPU/GPUSampler.js.map +1 -1
  92. package/WebGPU/GPUShaderModule.d.ts +1 -1
  93. package/WebGPU/GPUShaderModule.js +2 -2
  94. package/WebGPU/GPUShaderModule.js.map +1 -1
  95. package/WebGPU/GPUTexture.d.ts +1 -0
  96. package/WebGPU/GPUTexture.js +3 -0
  97. package/WebGPU/GPUTexture.js.map +1 -1
  98. package/WebGPU/GPUTextureView.d.ts +1 -0
  99. package/WebGPU/GPUTextureView.js +3 -0
  100. package/WebGPU/GPUTextureView.js.map +1 -1
  101. package/WebGPU/Interfaces.d.ts +95 -4
  102. package/WebGPU/Types.d.ts +9 -1
  103. package/WebGPU/Utils.d.ts +6 -0
  104. package/WebGPU/Utils.js +226 -0
  105. package/WebGPU/Utils.js.map +1 -1
  106. package/angular/esm2022/index.mjs +4 -4
  107. package/angular/fesm2022/nativescript-canvas-angular.mjs +4 -4
  108. package/angular/fesm2022/nativescript-canvas-angular.mjs.map +1 -1
  109. package/common.js.map +1 -1
  110. package/index.d.ts +2 -1
  111. package/index.js +3 -2
  112. package/index.js.map +1 -1
  113. package/package.json +1 -1
  114. package/platforms/android/canvas-release.aar +0 -0
  115. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  116. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +61 -30
  117. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative.h +1 -0
  118. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/NSCMTLView.h +32 -0
  119. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +144 -176
  120. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +342 -72
  121. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  122. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  123. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +1928 -630
  124. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +85 -23
  125. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  126. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +85 -23
  127. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/NSCCanvas.nib +0 -0
  128. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  129. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +681 -644
  130. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  131. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +122 -60
  132. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative.h +1 -0
  133. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/NSCMTLView.h +32 -0
  134. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +144 -176
  135. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +342 -72
  136. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  137. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  138. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  139. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +1928 -630
  140. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +85 -23
  141. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  142. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +85 -23
  143. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +1928 -630
  144. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +85 -23
  145. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  146. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +85 -23
  147. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/NSCCanvas.nib +0 -0
  148. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +40 -29
  149. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  150. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +683 -646
  151. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +736 -684
  152. package/platforms/ios/src/NSOperationQueueWrapper.h +1 -1
  153. package/platforms/ios/src/NSOperationQueueWrapper.mm +41 -9
  154. package/platforms/ios/src/cpp/AsyncCallback.h +16 -8
  155. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +310 -801
  156. package/platforms/ios/src/cpp/CanvasJSIModule.h +2 -0
  157. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +578 -413
  158. package/platforms/ios/src/cpp/ImageAssetImpl.h +7 -3
  159. package/platforms/ios/src/cpp/ImageBitmapImpl.cpp +60 -3
  160. package/platforms/ios/src/cpp/ImageBitmapImpl.h +10 -3
  161. package/platforms/ios/src/cpp/PromiseCallback.h +1 -2
  162. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +7 -11
  163. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +3 -3
  164. package/platforms/ios/src/cpp/canvas2d/Path2D.h +5 -5
  165. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +106 -1
  166. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +6 -6
  167. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +26 -23
  168. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.cpp +31 -5
  169. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.h +4 -1
  170. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.cpp +26 -0
  171. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.h +3 -0
  172. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp +41 -7
  173. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.h +4 -0
  174. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +11 -5
  175. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.cpp +28 -1
  176. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.h +3 -0
  177. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +75 -79
  178. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h +4 -0
  179. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.cpp +56 -23
  180. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.h +3 -0
  181. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.cpp +25 -0
  182. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.h +2 -0
  183. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +1606 -681
  184. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h +2 -0
  185. package/platforms/ios/src/cpp/webgpu/GPUImpl.cpp +2 -1
  186. package/platforms/ios/src/cpp/webgpu/GPUImpl.h +1 -1
  187. package/platforms/ios/src/cpp/webgpu/GPULabel.h +33 -0
  188. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.cpp +26 -0
  189. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.h +3 -1
  190. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.cpp +1 -2
  191. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.h +1 -1
  192. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +83 -14
  193. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h +3 -0
  194. package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.cpp +66 -34
  195. package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.h +3 -0
  196. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.cpp +25 -0
  197. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.h +3 -0
  198. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +151 -52
  199. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +7 -0
  200. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.cpp +25 -0
  201. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.h +3 -0
  202. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.cpp +26 -0
  203. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.h +4 -1
  204. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.cpp +24 -0
  205. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.h +3 -0
  206. package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.cpp +34 -8
  207. package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h +2 -0
  208. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.cpp +26 -0
  209. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.h +3 -0
  210. package/platforms/ios/src/cpp/webgpu/GPUUtils.h +511 -0
  211. package/utils.d.ts +1 -1
@@ -3,6 +3,47 @@ import { ImageData } from '../Canvas2D';
3
3
  import { Canvas } from '../Canvas';
4
4
  import { ImageSource } from '@nativescript/core';
5
5
  import { Helpers } from '../helpers';
6
+ function parseOptions(options) {
7
+ if (__ANDROID__) {
8
+ const opts = new org.nativescript.canvas.NSCImageBitmap.Options();
9
+ if (options?.imageOrientation === 'flipY') {
10
+ opts.setImageOrientation(org.nativescript.canvas.ImageBitmapImageOrientation.FlipY);
11
+ }
12
+ switch (options?.premultiplyAlpha) {
13
+ case 'premultiply':
14
+ opts.setPremultiplyAlpha(org.nativescript.canvas.ImageBitmapPremultiplyAlpha.PremultiplyAlpha);
15
+ break;
16
+ case 'none':
17
+ opts.setPremultiplyAlpha(org.nativescript.canvas.ImageBitmapPremultiplyAlpha.None);
18
+ break;
19
+ }
20
+ if (options?.colorSpaceConversion === 'none') {
21
+ opts.setColorSpaceConversion(org.nativescript.canvas.ImageBitmapColorSpaceConversion.None);
22
+ }
23
+ if (typeof options?.resizeWidth === 'number') {
24
+ opts.setResizeWidth(options.resizeWidth);
25
+ }
26
+ if (typeof options?.resizeHeight === 'number') {
27
+ opts.setResizeHeight(options.resizeWidth);
28
+ }
29
+ switch (options?.resizeQuality) {
30
+ case 'medium':
31
+ opts.setResizeQuality(org.nativescript.canvas.ImageBitmapResizeQuality.Medium);
32
+ break;
33
+ case 'high':
34
+ opts.setResizeQuality(org.nativescript.canvas.ImageBitmapResizeQuality.High);
35
+ break;
36
+ case 'pixelated':
37
+ opts.setResizeQuality(org.nativescript.canvas.ImageBitmapResizeQuality.Pixelated);
38
+ break;
39
+ }
40
+ if (options?.premultiplyAlpha === 'flipY') {
41
+ opts.setImageOrientation(org.nativescript.canvas.ImageBitmapImageOrientation.FlipY);
42
+ }
43
+ return opts;
44
+ }
45
+ return options;
46
+ }
6
47
  export class ImageBitmap {
7
48
  get native() {
8
49
  return this._native;
@@ -28,8 +69,6 @@ export class ImageBitmap {
28
69
  static createFrom(source, options) {
29
70
  return new Promise(function (resolve, reject) {
30
71
  let realSource;
31
- let isBuffer = false;
32
- const id = Date.now();
33
72
  if (source instanceof Canvas) {
34
73
  realSource = source.native;
35
74
  }
@@ -45,7 +84,9 @@ export class ImageBitmap {
45
84
  else if (source instanceof Blob) {
46
85
  const bytes = Blob.InternalAccessor.getBuffer(source);
47
86
  realSource = bytes;
48
- isBuffer = true;
87
+ if (ArrayBuffer.isView(bytes)) {
88
+ realSource = new Uint8Array(bytes.buffer);
89
+ }
49
90
  }
50
91
  else if (source && typeof source === 'object' && typeof source.tagName === 'string') {
51
92
  if (source.tagName === 'IMG' || source.tagName === 'IMAGE') {
@@ -56,7 +97,8 @@ export class ImageBitmap {
56
97
  }
57
98
  }
58
99
  else if (source instanceof ArrayBuffer) {
59
- realSource = source;
100
+ // wrapping to create a ref
101
+ realSource = new Uint8Array(source);
60
102
  }
61
103
  else if (source instanceof ImageSource) {
62
104
  if (global.isAndroid) {
@@ -66,15 +108,38 @@ export class ImageBitmap {
66
108
  realSource = source.ios; // todo
67
109
  }
68
110
  }
69
- setTimeout(() => {
70
- global.CanvasModule.createImageBitmap(realSource, options, (error, value) => {
71
- if (value) {
72
- resolve(ImageBitmap.fromNative(value));
111
+ if (__ANDROID__) {
112
+ if (ArrayBuffer.isView(realSource)) {
113
+ const asset = new global.CanvasModule.ImageAsset();
114
+ const ptr = long(asset.__getRef());
115
+ const cb = new org.nativescript.canvas.NSCImageBitmap.Callback({
116
+ onComplete(done) {
117
+ if (done) {
118
+ const value = global.CanvasModule.ImageBitmap.fromAsset(asset);
119
+ resolve(ImageBitmap.fromNative(value));
120
+ }
121
+ else {
122
+ reject(new Error('Failed to create ImageBitmap'));
123
+ }
124
+ },
125
+ });
126
+ if (options) {
127
+ const opts = parseOptions(options);
128
+ org.nativescript.canvas.NSCImageBitmap.createFromOptions(ptr, realSource, opts, cb);
73
129
  }
74
130
  else {
75
- reject(new Error(error));
131
+ org.nativescript.canvas.NSCImageBitmap.createFrom(ptr, realSource, cb);
76
132
  }
77
- });
133
+ }
134
+ return;
135
+ }
136
+ global.CanvasModule.createImageBitmap(realSource, options, (error, value) => {
137
+ if (value) {
138
+ resolve(ImageBitmap.fromNative(value));
139
+ }
140
+ else {
141
+ reject(new Error(error));
142
+ }
78
143
  });
79
144
  });
80
145
  }
@@ -96,6 +161,9 @@ export class ImageBitmap {
96
161
  else if (source instanceof Blob) {
97
162
  const bytes = Blob.InternalAccessor.getBuffer(source);
98
163
  realSource = bytes;
164
+ if (ArrayBuffer.isView(bytes)) {
165
+ realSource = new Uint8Array(bytes.buffer);
166
+ }
99
167
  }
100
168
  else if (source && typeof source === 'object' && typeof source.tagName === 'string') {
101
169
  if (source.tagName === 'IMG' || source.tagName === 'IMAGE') {
@@ -106,7 +174,8 @@ export class ImageBitmap {
106
174
  }
107
175
  }
108
176
  else if (source instanceof ArrayBuffer) {
109
- realSource = source;
177
+ // wrapping to create a ref
178
+ realSource = new Uint8Array(source);
110
179
  }
111
180
  else if (source instanceof ImageSource) {
112
181
  if (global.isAndroid) {
@@ -116,15 +185,33 @@ export class ImageBitmap {
116
185
  realSource = source.ios; // todo
117
186
  }
118
187
  }
119
- setTimeout(() => {
120
- global.CanvasModule.createImageBitmap(realSource, sx, sy, sWidth, sHeight, options, (error, value) => {
121
- if (value) {
122
- resolve(ImageBitmap.fromNative(value));
123
- }
124
- else {
125
- reject(new Error(error));
126
- }
127
- });
188
+ if (__ANDROID__) {
189
+ if (ArrayBuffer.isView(realSource)) {
190
+ const asset = new global.CanvasModule.ImageAsset();
191
+ const ptr = long(asset.__getRef());
192
+ const cb = new org.nativescript.canvas.NSCImageBitmap.Callback({
193
+ onComplete(done) {
194
+ if (done) {
195
+ const value = global.CanvasModule.ImageBitmap.fromAsset(asset);
196
+ resolve(ImageBitmap.fromNative(value));
197
+ }
198
+ else {
199
+ reject(new Error('Failed to create ImageBitmap'));
200
+ }
201
+ },
202
+ });
203
+ const opts = parseOptions(options ?? {});
204
+ org.nativescript.canvas.NSCImageBitmap.createFromRectOptions(ptr, realSource, sx, sy, sWidth, sHeight, opts, cb);
205
+ }
206
+ return;
207
+ }
208
+ global.CanvasModule.createImageBitmap(realSource, sx, sy, sWidth, sHeight, options, (error, value) => {
209
+ if (value) {
210
+ resolve(ImageBitmap.fromNative(value));
211
+ }
212
+ else {
213
+ reject(new Error(error));
214
+ }
128
215
  });
129
216
  });
130
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/canvas/ImageBitmap/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/canvas/ImageBitmap/index.ts"],"names":[],"mappings":"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"}
package/README.md CHANGED
@@ -103,12 +103,10 @@ export async function canvasReady(args) {
103
103
 
104
104
 
105
105
  /// rendering logic
106
- // to render to your screen you will need to get the current texture from the WebGPU context.
106
+ // to render to your screen you will need to call presentSurfacefrom the WebGPU context.
107
107
  // Add the followig to the end of your render loop to ensure it gets displayed.
108
108
 
109
- const texture = context.getCurrentTexture();
110
-
111
- context.presentSurface(texture);
109
+ context.presentSurface();
112
110
  }
113
111
  ```
114
112
 
@@ -1,4 +1,4 @@
1
- import { CanvasRenderingContext } from '../../common';
1
+ import type { CanvasRenderingContext } from '../../common';
2
2
  import { WebGLShader } from '../WebGLShader';
3
3
  import { WebGLFramebuffer } from '../WebGLFramebuffer';
4
4
  import { WebGLTexture } from '../WebGLTexture';
@@ -38,7 +38,7 @@ export class WebGLRenderingContextBase extends WebGLRenderingCommon {
38
38
  if (contextOptions) {
39
39
  let nativeContext = '0';
40
40
  if (global.isAndroid) {
41
- nativeContext = context.getNativeContext().toString();
41
+ nativeContext = context.getNativeContextString();
42
42
  }
43
43
  if (global.isIOS) {
44
44
  nativeContext = context.nativeContext.toString();
@@ -582,7 +582,80 @@ export class WebGLRenderingContextBase extends WebGLRenderingCommon {
582
582
  texImage2D(target, level, internalformat, width, height, border, format, type, pixels) {
583
583
  const length = arguments.length;
584
584
  if (length === 9) {
585
- this.native.texImage2D(target, level, internalformat, width, height, border, format, type ?? internalformat, pixels);
585
+ if (pixels && typeof pixels.tagName === 'string' && (pixels.tagName === 'VID' || pixels.tagName === 'VIDEO') && pixels._video && typeof pixels._video.getCurrentFrame === 'function') {
586
+ pixels._video.getCurrentFrame(this.native, this, target, level, internalformat, width, height);
587
+ }
588
+ else if (pixels && typeof pixels.getCurrentFrame === 'function') {
589
+ pixels.getCurrentFrame(this.native, this, target, level, internalformat, width, height);
590
+ }
591
+ else if (pixels instanceof ImageAsset) {
592
+ this.native.texImage2D(target, level, internalformat, width, height, border, format, type ?? internalformat, pixels.native);
593
+ }
594
+ else if (pixels instanceof ImageBitmap) {
595
+ this.native.texImage2D(target, level, internalformat, width, height, border, format, type ?? internalformat, pixels.native);
596
+ }
597
+ else if (pixels instanceof Canvas) {
598
+ this.native.texImage2D(target, level, internalformat, width, height, border, format, type ?? internalformat, pixels.native);
599
+ }
600
+ else if (global.isAndroid && pixels instanceof android.graphics.Bitmap) {
601
+ org.nativescript.canvas.NSCWebGLRenderingContext.texImage2D(java.lang.Long.valueOf(this._contextPtr), target, level, internalformat, width, height, pixels, this.native.__flipY);
602
+ //this.native.texImage2D(target, level, internalformat, width, height, pixels);
603
+ }
604
+ else if (global.isIOS && pixels instanceof UIImage) {
605
+ this.native.texImage2D(target, level, internalformat, width, height, pixels);
606
+ }
607
+ else if (pixels instanceof ImageSource) {
608
+ if (global.isAndroid) {
609
+ org.nativescript.canvas.NSCWebGLRenderingContext.texImage2D(java.lang.Long.valueOf(this._contextPtr), target, level, internalformat, width, height, pixels.android, this.native.__flipY);
610
+ }
611
+ }
612
+ else if (pixels && typeof pixels.tagName === 'string' && (pixels.tagName === 'IMG' || pixels.tagName === 'IMAGE')) {
613
+ const isSVG = !!pixels?._svg;
614
+ if (!isSVG && pixels._asset instanceof ImageAsset) {
615
+ this.native.texImage2D(target, level, internalformat, width, height, border, format, type, pixels._asset.native);
616
+ }
617
+ else if (pixels._imageSource instanceof ImageSource) {
618
+ if (global.isAndroid) {
619
+ org.nativescript.canvas.NSCWebGLRenderingContext.texImage2D(java.lang.Long.valueOf(this._contextPtr), target, level, internalformat, width, height, pixels._imageSource.android, this.native.__flipY);
620
+ }
621
+ }
622
+ else if (global.isAndroid && pixels._image instanceof android.graphics.Bitmap) {
623
+ org.nativescript.canvas.NSCWebGLRenderingContext.texImage2D(java.lang.Long.valueOf(this._contextPtr), target, level, internalformat, width, height, pixels._image, this.native.__flipY);
624
+ }
625
+ else if (global.isIOS && pixels._image instanceof UIImage) {
626
+ this.native.texImage2D(target, level, internalformat, width, height, pixels._image);
627
+ }
628
+ else if (pixels._svg) {
629
+ if (global.isAndroid) {
630
+ const svg = pixels._svg?._svg.getBitmap?.();
631
+ if (svg) {
632
+ org.nativescript.canvas.NSCWebGLRenderingContext.texImage2D(long(this.canvas._canvas.getNativeGL()), target, level, internalformat, width, height, svg, this.native.__flipY);
633
+ }
634
+ }
635
+ if (global.isIOS) {
636
+ const data = pixels._svg?._svg?.data;
637
+ const size = pixels._svg?._svg?.buf_size;
638
+ const dimensions = pixels._svg?._svg.data_size;
639
+ if (size) {
640
+ NSCWebGLRenderingContext.texImage2D(this.canvas._canvas.nativeGL, target, level, internalformat, width, height, data, size, dimensions, this.native.__flipY);
641
+ }
642
+ }
643
+ }
644
+ else if (typeof pixels.src === 'string') {
645
+ if (global.isAndroid) {
646
+ org.nativescript.canvas.NSCWebGLRenderingContext.texImage2D(java.lang.Long.valueOf(this._contextPtr), target, level, internalformat, width, height, ImageSource.fromFileSync(pixels.src).android, this.native.__flipY);
647
+ }
648
+ }
649
+ }
650
+ else if (pixels && typeof pixels.tagName === 'string' && pixels.tagName === 'CANVAS' && pixels._canvas instanceof Canvas) {
651
+ this.native.texImage2D(target, level, internalformat, width, height, border, format, type, pixels._canvas.native);
652
+ }
653
+ else if (pixels instanceof ImageData) {
654
+ this.native.texImage2D(target, level, internalformat, width, height, border, format, type, pixels.native);
655
+ }
656
+ else {
657
+ this.native.texImage2D(target, level, internalformat, width, height, border, format, type, pixels);
658
+ }
586
659
  }
587
660
  else if (length === 6) {
588
661
  if (border && typeof border.tagName === 'string' && (border.tagName === 'VID' || border.tagName === 'VIDEO') && border._video && typeof border._video.getCurrentFrame === 'function') {
@@ -599,19 +672,6 @@ export class WebGLRenderingContextBase extends WebGLRenderingCommon {
599
672
  }
600
673
  else if (border instanceof Canvas) {
601
674
  this.native.texImage2D(target, level, internalformat, width, height, border.native);
602
- /*if (global.isAndroid) {
603
- this.native.texImage2D(target, level, internalformat, width, height, border.native);
604
- } else {
605
- if ((border as any)._contextType === ContextType.Canvas) {
606
- if (!(border as any)._renderer) {
607
- (border as any)._renderer = Utils.setupRender();
608
- (border as any)._renderer.createSurface();
609
- }
610
- (border as any)._renderer.texImage2D(target, level, internalformat, width, height, (border as any)._canvas, this.canvas._canvas, this.native.__flipY);
611
- } else {
612
- this.native.texImage2D(target, level, internalformat, width, height, border.native);
613
- }
614
- }*/
615
675
  }
616
676
  else if (global.isAndroid && border instanceof android.graphics.Bitmap) {
617
677
  org.nativescript.canvas.NSCWebGLRenderingContext.texImage2D(java.lang.Long.valueOf(this._contextPtr), target, level, internalformat, width, height, border, this.native.__flipY);
@@ -664,24 +724,8 @@ export class WebGLRenderingContextBase extends WebGLRenderingCommon {
664
724
  }
665
725
  }
666
726
  else if (border && typeof border.tagName === 'string' && border.tagName === 'CANVAS' && border._canvas instanceof Canvas) {
727
+ console.log('border._canvas', border._canvas);
667
728
  this.native.texImage2D(target, level, internalformat, width, height, border._canvas.native);
668
- /*if (global.isAndroid) {
669
- this.native.texImage2D(target, level, internalformat, width, height, border._canvas.native);
670
- } else {
671
- if (border._canvas._contextType === ContextType.Canvas) {
672
- // const data = border._canvas._2dContext.getImageData(0, 0, width, height);
673
- // console.log(data);
674
- //this.native.texImage2D(target, level, internalformat, width, height, data);
675
- if (!border._canvas._renderer) {
676
- border._canvas._renderer = Utils.setupRender();
677
- border._canvas._renderer.createSurface();
678
- }
679
- border._canvas._renderer.texImage2D(target, level, internalformat, width, height, border._canvas._canvas, this.canvas._canvas, this.native.__flipY);
680
- } else {
681
- this.native.texImage2D(target, level, internalformat, width, height, border._canvas.native);
682
- }
683
- }[\'''
684
- */
685
729
  }
686
730
  else if (border instanceof ImageData) {
687
731
  this.native.texImage2D(target, level, internalformat, width, height, border.native);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/canvas/WebGL/WebGLRenderingContext/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/canvas/WebGL/WebGLRenderingContext/index.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export class WebGL2RenderingContext extends WebGL2RenderingContextBase {
17
17
  super(null);
18
18
  let nativeContext = '0';
19
19
  if (global.isAndroid) {
20
- nativeContext = context.getNativeContext().toString();
20
+ nativeContext = context.getNativeContextString();
21
21
  }
22
22
  if (global.isIOS) {
23
23
  nativeContext = context.nativeContext.toString();
@@ -298,7 +298,7 @@ export class WebGL2RenderingContext extends WebGL2RenderingContextBase {
298
298
  else if (source && source.buffer) {
299
299
  this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source);
300
300
  }
301
- else if (source instanceof android.graphics.Bitmap) {
301
+ else if (global.isAndroid && source instanceof android.graphics.Bitmap) {
302
302
  this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source);
303
303
  }
304
304
  else if (source instanceof ImageSource) {
@@ -317,7 +317,7 @@ export class WebGL2RenderingContext extends WebGL2RenderingContextBase {
317
317
  if (source._imageSource instanceof ImageSource) {
318
318
  this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source._imageSource.android);
319
319
  }
320
- else if (source._image instanceof android.graphics.Bitmap) {
320
+ else if (global.isAndroid && source._image instanceof android.graphics.Bitmap) {
321
321
  this.native.texImage3D(target, level, internalformat, width, height, depth, border, format, type, source._image);
322
322
  }
323
323
  else if (source._asset instanceof ImageAsset) {
@@ -345,7 +345,7 @@ export class WebGL2RenderingContext extends WebGL2RenderingContextBase {
345
345
  else if (srcData && srcData.buffer) {
346
346
  this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData, srcOffset);
347
347
  }
348
- else if (srcData instanceof android.graphics.Bitmap) {
348
+ else if (global.isAndroid && srcData instanceof android.graphics.Bitmap) {
349
349
  this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData);
350
350
  }
351
351
  else if (srcData instanceof ImageSource) {
@@ -364,7 +364,7 @@ export class WebGL2RenderingContext extends WebGL2RenderingContextBase {
364
364
  if (srcData._imageSource instanceof ImageSource) {
365
365
  this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData._imageSource.android);
366
366
  }
367
- else if (srcData._image instanceof android.graphics.Bitmap) {
367
+ else if (global.isAndroid && srcData._image instanceof android.graphics.Bitmap) {
368
368
  this.native.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData._image);
369
369
  }
370
370
  else if (srcData._asset instanceof ImageAsset) {