@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.
- package/Canvas/common.d.ts +3 -18
- package/Canvas/common.js +9 -72
- package/Canvas/common.js.map +1 -1
- package/Canvas/index.android.d.ts +6 -7
- package/Canvas/index.android.js +88 -42
- package/Canvas/index.android.js.map +1 -1
- package/Canvas/index.d.ts +7 -8
- package/Canvas/index.ios.d.ts +3 -2
- package/Canvas/index.ios.js +88 -46
- package/Canvas/index.ios.js.map +1 -1
- package/Canvas2D/CanvasRenderingContext2D/index.js +71 -72
- package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
- package/Canvas2D/DOMMatrix/index.js +1 -1
- package/Canvas2D/DOMMatrix/index.js.map +1 -1
- package/Canvas2D/ImageData/index.js.map +1 -1
- package/Canvas2D/Path2D/index.js.map +1 -1
- package/Dom/Dom.js +8 -1
- package/Dom/Dom.js.map +1 -1
- package/Dom/Group.js.map +1 -1
- package/Dom/Image.d.ts +4 -1
- package/Dom/Image.js +16 -2
- package/Dom/Image.js.map +1 -1
- package/Dom/Paint.js.map +1 -1
- package/Dom/Text.js.map +1 -1
- package/Dom/shaders/LinearGradient.js.map +1 -1
- package/Dom/shaders/TwoPointConicalGradient.js.map +1 -1
- package/Dom/shapes/Atlas.js.map +1 -1
- package/Dom/shapes/Circle.js.map +1 -1
- package/Dom/shapes/Line.js.map +1 -1
- package/Dom/shapes/Oval.js.map +1 -1
- package/Dom/shapes/Path.js.map +1 -1
- package/Dom/shapes/Rect.js.map +1 -1
- package/Dom/shapes/RoundedRect.js.map +1 -1
- package/Dom/shapes/index.js.map +1 -1
- package/ImageAsset/index.d.ts +3 -1
- package/ImageAsset/index.js +38 -6
- package/ImageAsset/index.js.map +1 -1
- package/ImageBitmap/index.js +3 -3
- package/ImageBitmap/index.js.map +1 -1
- package/README.md +64 -3
- package/TextDecoder/index.js +3 -3
- package/TextDecoder/index.js.map +1 -1
- package/TextEncoder/index.js +3 -3
- package/TextEncoder/index.js.map +1 -1
- package/WebGL/WebGLExtensions/index.js +5 -5
- package/WebGL/WebGLExtensions/index.js.map +1 -1
- package/WebGL/WebGLRenderingContext/common.js.map +1 -1
- package/WebGL/WebGLRenderingContext/index.js.map +1 -1
- package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
- package/WebGPU/Constants.js.map +1 -1
- package/WebGPU/GPU.js.map +1 -1
- package/WebGPU/GPUAdapter.js.map +1 -1
- package/WebGPU/GPUAdapterInfo.js.map +1 -1
- package/WebGPU/GPUBindGroup.js.map +1 -1
- package/WebGPU/GPUBindGroupLayout.js.map +1 -1
- package/WebGPU/GPUBuffer.js +5 -1
- package/WebGPU/GPUBuffer.js.map +1 -1
- package/WebGPU/GPUCanvasContext.d.ts +3 -1
- package/WebGPU/GPUCanvasContext.js +13 -4
- package/WebGPU/GPUCanvasContext.js.map +1 -1
- package/WebGPU/GPUCommandBuffer.js.map +1 -1
- package/WebGPU/GPUCommandEncoder.js +6 -1
- package/WebGPU/GPUCommandEncoder.js.map +1 -1
- package/WebGPU/GPUComputePassEncoder.js.map +1 -1
- package/WebGPU/GPUComputePipeline.js.map +1 -1
- package/WebGPU/GPUDevice.d.ts +2 -2
- package/WebGPU/GPUDevice.js +41 -65
- package/WebGPU/GPUDevice.js.map +1 -1
- package/WebGPU/GPUExternalTexture.js.map +1 -1
- package/WebGPU/GPUPipelineLayout.js.map +1 -1
- package/WebGPU/GPUQuerySet.js.map +1 -1
- package/WebGPU/GPUQueue.js.map +1 -1
- package/WebGPU/GPURenderBundle.js.map +1 -1
- package/WebGPU/GPURenderBundleEncoder.js.map +1 -1
- package/WebGPU/GPURenderPassEncoder.js +2 -2
- package/WebGPU/GPURenderPassEncoder.js.map +1 -1
- package/WebGPU/GPURenderPipeline.js.map +1 -1
- package/WebGPU/GPUSampler.js.map +1 -1
- package/WebGPU/GPUShaderModule.js.map +1 -1
- package/WebGPU/GPUTexture.d.ts +1 -0
- package/WebGPU/GPUTexture.js +3 -0
- package/WebGPU/GPUTexture.js.map +1 -1
- package/WebGPU/GPUTextureView.js.map +1 -1
- package/WebGPU/Types.d.ts +27 -27
- package/WebGPU/Utils.d.ts +1 -1
- package/WebGPU/Utils.js.map +1 -1
- package/angular/{esm2020 → esm2022}/index.mjs +5 -5
- package/angular/{fesm2015 → fesm2022}/nativescript-canvas-angular.mjs +4 -4
- package/angular/{fesm2020 → fesm2022}/nativescript-canvas-angular.mjs.map +1 -1
- package/common.d.ts +0 -3
- package/common.js +1 -5
- package/common.js.map +1 -1
- package/helpers.js.map +1 -1
- package/package.json +4 -2
- package/platforms/android/canvas-release.aar +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +21 -9
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +2112 -2086
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +5995 -5933
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +35 -9
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +35 -9
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +644 -602
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +42 -18
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +2112 -2086
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +5995 -5933
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +35 -9
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +35 -9
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +5995 -5933
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +35 -9
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +35 -9
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +24 -24
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +646 -604
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +684 -638
- package/platforms/ios/src/cpp/CanvasJSIModule.cpp +12 -12
- package/platforms/ios/src/cpp/ImageAssetImpl.cpp +11 -11
- package/platforms/ios/src/cpp/ImageBitmapImpl.cpp +1 -1
- package/platforms/ios/src/cpp/JSIReadFileCallback.h +4 -4
- package/platforms/ios/src/cpp/OneByteStringResource.cpp +2 -2
- package/platforms/ios/src/cpp/RafImpl.h +2 -2
- package/platforms/ios/src/cpp/TextDecoderImpl.cpp +0 -6
- package/platforms/ios/src/cpp/TextDecoderImpl.h +3 -3
- package/platforms/ios/src/cpp/TextEncoderImpl.cpp +1 -1
- package/platforms/ios/src/cpp/TextEncoderImpl.h +3 -3
- package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +2 -2
- package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +2 -2
- package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +140 -70
- package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +66 -17
- package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +3 -4
- package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +3 -3
- package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +2 -2
- package/platforms/ios/src/cpp/canvas2d/Path2D.h +2 -2
- package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +3 -3
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +8 -8
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +722 -722
- package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +11 -11
- package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +207 -72
- package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +28 -20
- package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUImpl.cpp +2 -2
- package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +24 -53
- package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +2 -2
- package/platforms/ios/src/cpp/webgpu/GPUUtils.h +69 -2
- package/react/index.d.ts +1 -1
- package/utils.js.map +1 -1
- package/angular/fesm2015/nativescript-canvas-angular.mjs.map +0 -1
- package/angular/fesm2020/nativescript-canvas-angular.mjs +0 -24
- package/angular/package.json +0 -26
- package/typings/objc!CanvasNative.d.ts +0 -2038
- package/typings/objc!CanvasNative.js +0 -1
- package/typings/objc!CanvasNative.js.map +0 -1
- /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"),
|
|
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
|
|
213
|
-
auto
|
|
214
|
-
auto
|
|
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
|
-
|
|
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)
|
|
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
|
-
|
|
421
|
-
|
|
422
|
-
|
|
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 =
|
|
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
|
|
505
|
+
if(GetNativeType(pipelineVal) == NativeType::GPURenderPipeline){
|
|
534
506
|
auto pipeline = GPURenderPipelineImpl::GetPointer(pipelineVal.As<v8::Object>());
|
|
535
|
-
|
|
536
|
-
|
|
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
|
-
|
|
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
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;
|
|
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
|
package/angular/package.json
DELETED
|
@@ -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
|
-
}
|