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

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 (159) 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 -7
  5. package/Canvas/index.android.js +88 -42
  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 +88 -46
  10. package/Canvas/index.ios.js.map +1 -1
  11. package/Canvas2D/CanvasRenderingContext2D/index.js +71 -72
  12. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  13. package/Canvas2D/DOMMatrix/index.js +1 -1
  14. package/Canvas2D/DOMMatrix/index.js.map +1 -1
  15. package/Canvas2D/ImageData/index.js.map +1 -1
  16. package/Canvas2D/Path2D/index.js.map +1 -1
  17. package/Dom/Dom.js +8 -1
  18. package/Dom/Dom.js.map +1 -1
  19. package/Dom/Group.js.map +1 -1
  20. package/Dom/Image.d.ts +4 -1
  21. package/Dom/Image.js +16 -2
  22. package/Dom/Image.js.map +1 -1
  23. package/Dom/Paint.js.map +1 -1
  24. package/Dom/Text.js.map +1 -1
  25. package/Dom/shaders/LinearGradient.js.map +1 -1
  26. package/Dom/shaders/TwoPointConicalGradient.js.map +1 -1
  27. package/Dom/shapes/Atlas.js.map +1 -1
  28. package/Dom/shapes/Circle.js.map +1 -1
  29. package/Dom/shapes/Line.js.map +1 -1
  30. package/Dom/shapes/Oval.js.map +1 -1
  31. package/Dom/shapes/Path.js.map +1 -1
  32. package/Dom/shapes/Rect.js.map +1 -1
  33. package/Dom/shapes/RoundedRect.js.map +1 -1
  34. package/Dom/shapes/index.js.map +1 -1
  35. package/ImageAsset/index.d.ts +3 -1
  36. package/ImageAsset/index.js +38 -6
  37. package/ImageAsset/index.js.map +1 -1
  38. package/ImageBitmap/index.js +3 -3
  39. package/ImageBitmap/index.js.map +1 -1
  40. package/README.md +64 -3
  41. package/TextDecoder/index.js +3 -3
  42. package/TextDecoder/index.js.map +1 -1
  43. package/TextEncoder/index.js +3 -3
  44. package/TextEncoder/index.js.map +1 -1
  45. package/WebGL/WebGLExtensions/index.js +5 -5
  46. package/WebGL/WebGLExtensions/index.js.map +1 -1
  47. package/WebGL/WebGLRenderingContext/common.js.map +1 -1
  48. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  49. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
  50. package/WebGPU/Constants.js.map +1 -1
  51. package/WebGPU/GPU.js.map +1 -1
  52. package/WebGPU/GPUAdapter.js.map +1 -1
  53. package/WebGPU/GPUAdapterInfo.js.map +1 -1
  54. package/WebGPU/GPUBindGroup.js.map +1 -1
  55. package/WebGPU/GPUBindGroupLayout.js.map +1 -1
  56. package/WebGPU/GPUBuffer.js +5 -1
  57. package/WebGPU/GPUBuffer.js.map +1 -1
  58. package/WebGPU/GPUCanvasContext.d.ts +3 -1
  59. package/WebGPU/GPUCanvasContext.js +13 -4
  60. package/WebGPU/GPUCanvasContext.js.map +1 -1
  61. package/WebGPU/GPUCommandBuffer.js.map +1 -1
  62. package/WebGPU/GPUCommandEncoder.js +6 -1
  63. package/WebGPU/GPUCommandEncoder.js.map +1 -1
  64. package/WebGPU/GPUComputePassEncoder.js.map +1 -1
  65. package/WebGPU/GPUComputePipeline.js.map +1 -1
  66. package/WebGPU/GPUDevice.d.ts +2 -2
  67. package/WebGPU/GPUDevice.js +41 -65
  68. package/WebGPU/GPUDevice.js.map +1 -1
  69. package/WebGPU/GPUExternalTexture.js.map +1 -1
  70. package/WebGPU/GPUPipelineLayout.js.map +1 -1
  71. package/WebGPU/GPUQuerySet.js.map +1 -1
  72. package/WebGPU/GPUQueue.js.map +1 -1
  73. package/WebGPU/GPURenderBundle.js.map +1 -1
  74. package/WebGPU/GPURenderBundleEncoder.js.map +1 -1
  75. package/WebGPU/GPURenderPassEncoder.js +2 -2
  76. package/WebGPU/GPURenderPassEncoder.js.map +1 -1
  77. package/WebGPU/GPURenderPipeline.js.map +1 -1
  78. package/WebGPU/GPUSampler.js.map +1 -1
  79. package/WebGPU/GPUShaderModule.js.map +1 -1
  80. package/WebGPU/GPUTexture.d.ts +1 -0
  81. package/WebGPU/GPUTexture.js +3 -0
  82. package/WebGPU/GPUTexture.js.map +1 -1
  83. package/WebGPU/GPUTextureView.js.map +1 -1
  84. package/WebGPU/Types.d.ts +27 -27
  85. package/WebGPU/Utils.d.ts +1 -1
  86. package/WebGPU/Utils.js.map +1 -1
  87. package/angular/{esm2020 → esm2022}/index.mjs +5 -5
  88. package/angular/{fesm2015 → fesm2022}/nativescript-canvas-angular.mjs +4 -4
  89. package/angular/{fesm2020 → fesm2022}/nativescript-canvas-angular.mjs.map +1 -1
  90. package/common.d.ts +0 -3
  91. package/common.js +1 -5
  92. package/common.js.map +1 -1
  93. package/helpers.js.map +1 -1
  94. package/package.json +4 -2
  95. package/platforms/android/canvas-release.aar +0 -0
  96. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  97. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +21 -9
  98. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +2112 -2086
  99. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  100. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +5995 -5933
  101. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +35 -9
  102. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +35 -9
  103. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  104. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +644 -602
  105. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  106. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +42 -18
  107. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +2112 -2086
  108. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  109. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  110. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +5995 -5933
  111. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +35 -9
  112. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +35 -9
  113. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +5995 -5933
  114. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +35 -9
  115. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +35 -9
  116. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +24 -24
  117. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  118. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +646 -604
  119. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +684 -638
  120. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +12 -12
  121. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +11 -11
  122. package/platforms/ios/src/cpp/ImageBitmapImpl.cpp +1 -1
  123. package/platforms/ios/src/cpp/JSIReadFileCallback.h +4 -4
  124. package/platforms/ios/src/cpp/OneByteStringResource.cpp +2 -2
  125. package/platforms/ios/src/cpp/RafImpl.h +2 -2
  126. package/platforms/ios/src/cpp/TextDecoderImpl.cpp +0 -6
  127. package/platforms/ios/src/cpp/TextDecoderImpl.h +3 -3
  128. package/platforms/ios/src/cpp/TextEncoderImpl.cpp +1 -1
  129. package/platforms/ios/src/cpp/TextEncoderImpl.h +3 -3
  130. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +2 -2
  131. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +2 -2
  132. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +140 -70
  133. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +66 -17
  134. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +3 -4
  135. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +3 -3
  136. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +2 -2
  137. package/platforms/ios/src/cpp/canvas2d/Path2D.h +2 -2
  138. package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +3 -3
  139. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +8 -8
  140. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +1 -1
  141. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +722 -722
  142. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +1 -1
  143. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +11 -11
  144. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +207 -72
  145. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +28 -20
  146. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h +1 -1
  147. package/platforms/ios/src/cpp/webgpu/GPUImpl.cpp +2 -2
  148. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +24 -53
  149. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +2 -2
  150. package/platforms/ios/src/cpp/webgpu/GPUUtils.h +69 -2
  151. package/react/index.d.ts +1 -1
  152. package/utils.js.map +1 -1
  153. package/angular/fesm2015/nativescript-canvas-angular.mjs.map +0 -1
  154. package/angular/fesm2020/nativescript-canvas-angular.mjs +0 -24
  155. package/angular/package.json +0 -26
  156. package/typings/objc!CanvasNative.d.ts +0 -2038
  157. package/typings/objc!CanvasNative.js +0 -1
  158. package/typings/objc!CanvasNative.js.map +0 -1
  159. /package/angular/{esm2020 → esm2022}/nativescript-canvas-angular.mjs +0 -0
@@ -27,7 +27,8 @@ void GPURenderPassEncoderImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isol
27
27
  auto context = isolate->GetCurrentContext();
28
28
  auto func = ctor->GetFunction(context).ToLocalChecked();
29
29
 
30
- canvasModule->Set(context, ConvertToV8String(isolate, "GPURenderPassEncoder"), func).FromJust();;
30
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPURenderPassEncoder"),
31
+ func).FromJust();;
31
32
  }
32
33
 
33
34
  GPURenderPassEncoderImpl *
@@ -53,7 +54,6 @@ v8::Local<v8::FunctionTemplate> GPURenderPassEncoderImpl::GetCtor(v8::Isolate *i
53
54
  auto tmpl = ctorTmpl->InstanceTemplate();
54
55
  tmpl->SetInternalFieldCount(2);
55
56
 
56
-
57
57
  tmpl->Set(
58
58
  ConvertToV8String(isolate, "beginOcclusionQuery"),
59
59
  v8::FunctionTemplate::New(isolate, &BeginOcclusionQuery));
@@ -66,7 +66,6 @@ v8::Local<v8::FunctionTemplate> GPURenderPassEncoderImpl::GetCtor(v8::Isolate *i
66
66
  ConvertToV8String(isolate, "drawIndexed"),
67
67
  v8::FunctionTemplate::New(isolate, &DrawIndexed));
68
68
 
69
-
70
69
  tmpl->Set(
71
70
  ConvertToV8String(isolate, "drawIndexedIndirect"),
72
71
  v8::FunctionTemplate::New(isolate, &DrawIndexedIndirect));
@@ -75,12 +74,10 @@ v8::Local<v8::FunctionTemplate> GPURenderPassEncoderImpl::GetCtor(v8::Isolate *i
75
74
  ConvertToV8String(isolate, "drawIndirect"),
76
75
  v8::FunctionTemplate::New(isolate, &DrawIndirect));
77
76
 
78
-
79
77
  tmpl->Set(
80
78
  ConvertToV8String(isolate, "end"),
81
79
  v8::FunctionTemplate::New(isolate, &End));
82
80
 
83
-
84
81
  tmpl->Set(
85
82
  ConvertToV8String(isolate, "endOcclusionQuery"),
86
83
  v8::FunctionTemplate::New(isolate, &EndOcclusionQuery));
@@ -173,7 +170,6 @@ void GPURenderPassEncoderImpl::Draw(const v8::FunctionCallbackInfo<v8::Value> &a
173
170
  if (vertexCountVal->IsUint32()) {
174
171
  auto vertexCount = vertexCountVal.As<v8::Uint32>()->Value();
175
172
 
176
-
177
173
  if (instanceCountVal->IsUint32()) {
178
174
  instanceCount = instanceCountVal.As<v8::Uint32>()->Value();
179
175
  }
@@ -209,12 +205,16 @@ void GPURenderPassEncoderImpl::DrawIndexed(const v8::FunctionCallbackInfo<v8::Va
209
205
 
210
206
 
211
207
  auto indexCountVal = args[0];
212
- auto firstIndexVal = args[1];
213
- auto baseVertexVal = args[2];
214
- auto firstInstanceVal = args[3];
208
+ auto instanceCountVal = args[1];
209
+ auto firstIndexVal = args[2];
210
+ auto baseVertexVal = args[3];
211
+ auto firstInstanceVal = args[4];
215
212
 
216
213
  if (indexCountVal->IsUint32()) {
217
214
 
215
+ if (instanceCountVal->IsUint32()) {
216
+ instanceCount = instanceCountVal.As<v8::Uint32>()->Value();
217
+ }
218
218
 
219
219
  if (firstIndexVal->IsUint32()) {
220
220
  firstIndex = firstIndexVal.As<v8::Uint32>()->Value();
@@ -228,9 +228,10 @@ void GPURenderPassEncoderImpl::DrawIndexed(const v8::FunctionCallbackInfo<v8::Va
228
228
  firstInstance = firstInstanceVal.As<v8::Uint32>()->Value();
229
229
  }
230
230
 
231
+ auto indexCount = indexCountVal->Uint32Value(
232
+ context).FromJust();
231
233
  canvas_native_webgpu_render_pass_encoder_draw_indexed(ptr->GetPass(),
232
- indexCountVal->Uint32Value(
233
- context).FromJust(),
234
+ indexCount,
234
235
  instanceCount, firstIndex,
235
236
  baseVertex,
236
237
  firstInstance);
@@ -415,11 +416,11 @@ void GPURenderPassEncoderImpl::SetBindGroup(const v8::FunctionCallbackInfo<v8::V
415
416
  auto data = static_cast<uint8_t *>(buffer->GetBackingStore()->Data()) + offset;
416
417
  auto size = buf->Length();
417
418
  auto start = (size_t) dynamicOffsetsStart->NumberValue(context).FromJust();
418
- auto offset_length = (size_t) dynamicOffsetsStart->NumberValue(context).FromJust();
419
+ auto offset_length = (size_t) dynamicOffsetsLength->NumberValue(context).FromJust();
419
420
  canvas_native_webgpu_render_pass_encoder_set_bind_group(ptr->GetPass(), index,
420
- bindgroup->GetBindGroup(),
421
- static_cast<const uint32_t *>(static_cast<void *>(data)),
422
- size, start, offset_length);
421
+ bindgroup->GetBindGroup(),
422
+ static_cast<const uint32_t *>(static_cast<void *>(data)),
423
+ size, start, offset_length);
423
424
  } else {
424
425
  canvas_native_webgpu_render_pass_encoder_set_bind_group(ptr->GetPass(), index,
425
426
  bindgroup->GetBindGroup(),
@@ -435,7 +436,6 @@ void GPURenderPassEncoderImpl::SetIndexBuffer(const v8::FunctionCallbackInfo<v8:
435
436
  }
436
437
 
437
438
  auto isolate = args.GetIsolate();
438
- auto context = isolate->GetCurrentContext();
439
439
 
440
440
  auto bufferVal = args[0];
441
441
  auto indexFormatVal = args[1];
@@ -482,41 +482,13 @@ void GPURenderPassEncoderImpl::SetBlendConstant(const v8::FunctionCallbackInfo<v
482
482
  }
483
483
 
484
484
  auto isolate = args.GetIsolate();
485
- auto context = isolate->GetCurrentContext();
486
485
 
487
486
  auto colorVal = args[0];
488
487
 
489
- if (colorVal->IsObject()) {
488
+ if (colorVal->IsObject() || colorVal->IsArray()) {
490
489
 
491
- auto color = CanvasColor{0, 0, 0, 0};
492
- auto colorObj = colorVal.As<v8::Object>();
490
+ auto color = ParseColor(isolate, colorVal);
493
491
 
494
- v8::Local<v8::Value> r;
495
- v8::Local<v8::Value> g;
496
- v8::Local<v8::Value> b;
497
- v8::Local<v8::Value> a;
498
-
499
- colorObj->Get(context, ConvertToV8String(isolate, "r")).ToLocal(&r);
500
- colorObj->Get(context, ConvertToV8String(isolate, "g")).ToLocal(&g);
501
- colorObj->Get(context, ConvertToV8String(isolate, "b")).ToLocal(&b);
502
- colorObj->Get(context, ConvertToV8String(isolate, "a")).ToLocal(&a);
503
-
504
- if (!r.IsEmpty() && r->IsNumber()) {
505
- color.r = r.As<v8::Number>()->Value();
506
- }
507
-
508
- if (!g.IsEmpty() && g->IsNumber()) {
509
- color.g = g.As<v8::Number>()->Value();
510
- }
511
-
512
-
513
- if (!b.IsEmpty() && b->IsNumber()) {
514
- color.b = b.As<v8::Number>()->Value();
515
- }
516
-
517
- if (!a.IsEmpty() && a->IsNumber()) {
518
- color.a = a.As<v8::Number>()->Value();
519
- }
520
492
 
521
493
  canvas_native_webgpu_render_pass_encoder_set_blend_constant(ptr->GetPass(), &color);
522
494
  }
@@ -530,12 +502,10 @@ void GPURenderPassEncoderImpl::SetPipeline(const v8::FunctionCallbackInfo<v8::Va
530
502
  }
531
503
 
532
504
  auto pipelineVal = args[0];
533
- if (pipelineVal->IsObject()) {
505
+ if(GetNativeType(pipelineVal) == NativeType::GPURenderPipeline){
534
506
  auto pipeline = GPURenderPipelineImpl::GetPointer(pipelineVal.As<v8::Object>());
535
- if (pipeline != nullptr) {
536
- canvas_native_webgpu_render_pass_encoder_set_pipeline(ptr->GetPass(),
537
- pipeline->GetGPUPipeline());
538
- }
507
+ canvas_native_webgpu_render_pass_encoder_set_pipeline(ptr->GetPass(),
508
+ pipeline->GetGPUPipeline());
539
509
  }
540
510
  }
541
511
 
@@ -598,12 +568,13 @@ void GPURenderPassEncoderImpl::SetVertexBuffer(const v8::FunctionCallbackInfo<v8
598
568
 
599
569
  if (slotVal->IsUint32() && bufferVal->IsObject()) {
600
570
  auto slot = slotVal.As<v8::Uint32>()->Value();
601
- auto buffer = GPUBufferImpl::GetPointer(bufferVal.As<v8::Object>());
602
- if (buffer == nullptr) {
571
+ if (GetNativeType(bufferVal) != NativeType::GPUBuffer) {
603
572
  // todo throw ??
604
573
  return;
605
574
  }
606
575
 
576
+ auto buffer = GPUBufferImpl::GetPointer(bufferVal.As<v8::Object>());
577
+
607
578
  if (offsetVal->IsNumber()) {
608
579
  offset = (int64_t) offsetVal.As<v8::Number>()->Value();
609
580
  }
@@ -8,10 +8,11 @@
8
8
  #include "Common.h"
9
9
  #include "Helpers.h"
10
10
  #include "ObjectWrapperImpl.h"
11
+ #include "GPUUtils.h"
11
12
 
12
13
  class GPURenderPassEncoderImpl : ObjectWrapperImpl {
13
14
  public:
14
- GPURenderPassEncoderImpl(const CanvasGPURenderPassEncoder *pass);
15
+ explicit GPURenderPassEncoderImpl(const CanvasGPURenderPassEncoder *pass);
15
16
 
16
17
  ~GPURenderPassEncoderImpl() {
17
18
  canvas_native_webgpu_render_pass_encoder_release(this->GetPass());
@@ -78,7 +79,6 @@ public:
78
79
 
79
80
  private:
80
81
  const CanvasGPURenderPassEncoder *pass_;
81
- bool ended_ = false;
82
82
  };
83
83
 
84
84
 
@@ -129,8 +129,8 @@ ParseExtent3d(v8::Isolate *isolate, const v8::Local<v8::Value> &obj) {
129
129
  CanvasExtent3d ret{
130
130
  0, 1, 1
131
131
  };
132
-
133
- if(!obj.IsEmpty()){
132
+
133
+ if (!obj.IsEmpty()) {
134
134
  if (obj->IsArray()) {
135
135
  auto array = obj.As<v8::Array>();
136
136
  v8::Local<v8::Value> width;
@@ -175,4 +175,71 @@ ParseExtent3d(v8::Isolate *isolate, const v8::Local<v8::Value> &obj) {
175
175
  return ret;
176
176
  }
177
177
 
178
+
179
+ inline static CanvasColor
180
+ ParseColor(v8::Isolate *isolate, const v8::Local<v8::Value> &obj) {
181
+
182
+ auto context = isolate->GetCurrentContext();
183
+ CanvasColor ret{
184
+ 0, 0, 0, 0
185
+ };
186
+
187
+ if (!obj.IsEmpty()) {
188
+ if (obj->IsArray()) {
189
+ auto array = obj.As<v8::Array>();
190
+ v8::Local<v8::Value> r;
191
+ if (array->Get(context, 0).ToLocal(&r) &&
192
+ r->IsNumber()) {
193
+ ret.r = r->NumberValue(context).FromJust();
194
+ }
195
+
196
+ v8::Local<v8::Value> g;
197
+ if (array->Get(context, 1).ToLocal(&g) &&
198
+ g->IsNumber()) {
199
+ ret.g = g->NumberValue(context).FromJust();
200
+ }
201
+
202
+ v8::Local<v8::Value> b;
203
+ if (array->Get(context, 2).ToLocal(
204
+ &b) && b->IsNumber()) {
205
+ ret.b = b->NumberValue(context).FromJust();
206
+ }
207
+
208
+
209
+ v8::Local<v8::Value> a;
210
+ if (array->Get(context, 3).ToLocal(
211
+ &a) && a->IsNumber()) {
212
+ ret.a = a->NumberValue(context).FromJust();
213
+ }
214
+ } else if (obj->IsObject()) {
215
+ auto colorObj = obj.As<v8::Object>();
216
+ v8::Local<v8::Value> r;
217
+ if (colorObj->Get(context, ConvertToV8String(isolate, "r")).ToLocal(&r) &&
218
+ r->IsNumber()) {
219
+ ret.r = r->NumberValue(context).FromJust();
220
+ }
221
+
222
+ v8::Local<v8::Value> g;
223
+ if (colorObj->Get(context, ConvertToV8String(isolate, "g")).ToLocal(&g) &&
224
+ g->IsNumber()) {
225
+ ret.g = g->NumberValue(context).FromJust();
226
+ }
227
+
228
+ v8::Local<v8::Value> b;
229
+ if (colorObj->Get(context, ConvertToV8String(isolate, "b")).ToLocal(
230
+ &b) && b->IsNumber()) {
231
+ ret.b = b->NumberValue(context).FromJust();
232
+ }
233
+
234
+ v8::Local<v8::Value> a;
235
+ if (colorObj->Get(context, ConvertToV8String(isolate, "a")).ToLocal(
236
+ &a) && a->IsNumber()) {
237
+ ret.a = a->NumberValue(context).FromJust();
238
+ }
239
+ }
240
+ }
241
+
242
+ return ret;
243
+ }
244
+
178
245
  #endif //CANVAS_ANDROID_GPUUTILS_H
package/react/index.d.ts CHANGED
@@ -13,7 +13,7 @@ export declare type CanvasAttributes = ViewAttributes & {
13
13
  onReady?: (arg: EventData) => void;
14
14
  };
15
15
  declare global {
16
- module JSX {
16
+ namespace JSX {
17
17
  interface IntrinsicElements {
18
18
  tnsCanvas: NativeScriptProps<CanvasAttributes, Canvas>;
19
19
  }
package/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../packages/canvas/utils.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IAIV,MAAM,CAAC,SAAS,CAAC,KAAK;QAC5B,IAAI,MAAM,CAAC,KAAK,EAAE;YACjB,IAAI,KAAK,YAAY,OAAO,EAAE;gBAC7B,MAAM,OAAO,GAAG,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;iBACrC;gBACD,OAAO,OAAO,CAAC;aACf;SACD;QAED,IAAI,MAAM,CAAC,SAAS,EAAE;YACrB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,IAAI,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3B;gBACD,OAAO,OAAO,CAAC;aACf;YAED,IAAI,KAAK,YAAY,aAAa,CAAC,KAAK,EAAE;gBACzC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvB;aACD;SACD;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,EAAE,CAAC;SACV;aAAM;YACN,OAAO,KAAK,CAAC;SACb;IACF,CAAC;IAEM,MAAM,KAAK,iCAAiC;QAClD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC/B,MAAM,OAAO,GAAS,MAAO,CAAC,gBAAgB,CAAC;YAC/C,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,+BAA+B,CAAC;YAChH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SACjC;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,KAAK;QACxB,OAAO,KAAK,YAAY,iBAAiB,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,YAAY,SAAS,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,YAAY,YAAY,CAAA;IACtQ,CAAC;;AAnDM,qCAA+B,GAAG,OAAO,CAAC;AAC1C,2BAAqB,GAAG,KAAK,CAAC;AAC9B,0BAAoB,GAAG,KAAK,CAAC;AAqDrC,MAAM,CAAC,OAAO,UAAU,IAAI,CAAI,MAAe;IAC9C,IAAI,MAAS,CAAC;IAEd,OAAO,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../packages/canvas/utils.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IAIV,MAAM,CAAC,SAAS,CAAC,KAAK;QAC5B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,CAAC;gBACD,OAAO,OAAO,CAAC;YAChB,CAAC;QACF,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,IAAI,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5B,CAAC;gBACD,OAAO,OAAO,CAAC;YAChB,CAAC;YAED,IAAI,KAAK,YAAY,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAEM,MAAM,KAAK,iCAAiC;QAClD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAChC,MAAM,OAAO,GAAS,MAAO,CAAC,gBAAgB,CAAC;YAC/C,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,+BAA+B,CAAC;YAChH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,KAAK;QACxB,OAAO,KAAK,YAAY,iBAAiB,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,YAAY,SAAS,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,YAAY,YAAY,CAAA;IACtQ,CAAC;;AAnDM,qCAA+B,GAAG,OAAO,CAAC;AAC1C,2BAAqB,GAAG,KAAK,CAAC;AAC9B,0BAAoB,GAAG,KAAK,CAAC;AAqDrC,MAAM,CAAC,OAAO,UAAU,IAAI,CAAI,MAAe;IAC9C,IAAI,MAAS,CAAC;IAEd,OAAO,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nativescript-canvas-angular.mjs","sources":["../../../../../packages/canvas/angular/index.ts","../../../../../packages/canvas/angular/nativescript-canvas-angular.ts"],"sourcesContent":["import {NgModule, NO_ERRORS_SCHEMA} from '@angular/core';\nimport {registerElement} from '@nativescript/angular';\n\nregisterElement('Canvas', () => require('@nativescript/canvas').Canvas);\n\n\n@NgModule({\n schemas: [NO_ERRORS_SCHEMA]\n})\n// @ts-ignore\nexport class CanvasModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA,eAAe,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAMxE;MACa,YAAY,CAAA;;0GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2GAAZ,YAAY,EAAA,CAAA,CAAA;2GAAZ,YAAY,EAAA,CAAA,CAAA;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC5B,CAAA;;;ACRD;;AAEG;;;;"}
@@ -1,24 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
3
- import { registerElement } from '@nativescript/angular';
4
-
5
- registerElement('Canvas', () => require('@nativescript/canvas').Canvas);
6
- // @ts-ignore
7
- class CanvasModule {
8
- }
9
- CanvasModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CanvasModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- CanvasModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CanvasModule });
11
- CanvasModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CanvasModule });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CanvasModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- schemas: [NO_ERRORS_SCHEMA]
16
- }]
17
- }] });
18
-
19
- /**
20
- * Generated bundle index. Do not edit.
21
- */
22
-
23
- export { CanvasModule };
24
- //# sourceMappingURL=nativescript-canvas-angular.mjs.map
@@ -1,26 +0,0 @@
1
- {
2
- "name": "nativescript-canvas-angular",
3
- "module": "fesm2015/nativescript-canvas-angular.mjs",
4
- "es2020": "fesm2020/nativescript-canvas-angular.mjs",
5
- "esm2020": "esm2020/nativescript-canvas-angular.mjs",
6
- "fesm2020": "fesm2020/nativescript-canvas-angular.mjs",
7
- "fesm2015": "fesm2015/nativescript-canvas-angular.mjs",
8
- "typings": "index.d.ts",
9
- "exports": {
10
- "./package.json": {
11
- "default": "./package.json"
12
- },
13
- ".": {
14
- "types": "./index.d.ts",
15
- "esm2020": "./esm2020/nativescript-canvas-angular.mjs",
16
- "es2020": "./fesm2020/nativescript-canvas-angular.mjs",
17
- "es2015": "./fesm2015/nativescript-canvas-angular.mjs",
18
- "node": "./fesm2015/nativescript-canvas-angular.mjs",
19
- "default": "./fesm2020/nativescript-canvas-angular.mjs"
20
- }
21
- },
22
- "sideEffects": false,
23
- "dependencies": {
24
- "tslib": "^2.3.0"
25
- }
26
- }