@nativescript/canvas 2.0.0-webgpu.34 → 2.0.0-webgpu.36
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 +1 -1
- package/Canvas/common.js +24 -18
- package/Canvas/common.js.map +1 -1
- package/Canvas/index.android.js.map +1 -1
- package/Canvas/index.ios.d.ts +7 -1
- package/Canvas/index.ios.js +57 -17
- package/Canvas/index.ios.js.map +1 -1
- package/Canvas2D/CanvasRenderingContext2D/index.d.ts +2 -1
- package/Canvas2D/CanvasRenderingContext2D/index.js +1 -4
- package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
- package/ImageAsset/index.d.ts +4 -2
- package/ImageAsset/index.js +76 -6
- package/ImageAsset/index.js.map +1 -1
- package/WebGL/WebGLRenderingContext/common.d.ts +1 -1
- package/WebGL/WebGLRenderingContext/index.js +5 -4
- package/WebGL/WebGLRenderingContext/index.js.map +1 -1
- package/WebGL2/WebGL2RenderingContext/index.js +1 -1
- package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
- package/WebGPU/GPUCanvasContext.d.ts +2 -1
- package/WebGPU/GPUCanvasContext.js.map +1 -1
- package/WebGPU/GPUQueue.js +9 -0
- package/WebGPU/GPUQueue.js.map +1 -1
- package/WebGPU/GPURenderPassEncoder.d.ts +3 -0
- package/WebGPU/GPURenderPassEncoder.js +9 -0
- package/WebGPU/GPURenderPassEncoder.js.map +1 -1
- package/angular/esm2022/index.mjs +4 -4
- package/angular/fesm2022/nativescript-canvas-angular.mjs +4 -4
- package/angular/fesm2022/nativescript-canvas-angular.mjs.map +1 -1
- package/common.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- 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 +1 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +85 -0
- 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 +109 -18
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +4 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +4 -0
- 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 +681 -675
- 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 +2 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +85 -0
- 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 +109 -18
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +4 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +4 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +109 -18
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +4 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +4 -0
- 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 +683 -677
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +736 -730
- package/platforms/ios/src/cpp/CanvasJSIModule.cpp +140 -12
- package/platforms/ios/src/cpp/CanvasJSIModule.h +2 -0
- package/platforms/ios/src/cpp/ImageAssetImpl.cpp +572 -397
- package/platforms/ios/src/cpp/ImageAssetImpl.h +4 -0
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.cpp +42 -37
- package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +40 -8
- package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.cpp +26 -23
- package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +93 -23
- package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +4 -0
- package/utils.d.ts +1 -1
|
@@ -178,6 +178,10 @@ void CanvasJSIModule::install(v8::Isolate *isolate) {
|
|
|
178
178
|
v8::FunctionTemplate::New(isolate, &ReadFile)->GetFunction(
|
|
179
179
|
context).ToLocalChecked()).FromJust();
|
|
180
180
|
|
|
181
|
+
canvasMod->Set(context, ConvertToV8String(isolate, "getMime"),
|
|
182
|
+
v8::FunctionTemplate::New(isolate, &GetMime)->GetFunction(
|
|
183
|
+
context).ToLocalChecked()).FromJust();
|
|
184
|
+
|
|
181
185
|
canvasMod->Set(context, ConvertToV8String(isolate, "createWebGLContext"),
|
|
182
186
|
v8::FunctionTemplate::New(isolate, &CreateWebGLContext)->GetFunction(
|
|
183
187
|
context).ToLocalChecked()).FromJust();
|
|
@@ -233,7 +237,7 @@ void CanvasJSIModule::Create2DContext(const v8::FunctionCallbackInfo<v8::Value>
|
|
|
233
237
|
auto context = isolate->GetCurrentContext();
|
|
234
238
|
auto ptr = args[0].As<v8::BigInt>()->Int64Value();
|
|
235
239
|
|
|
236
|
-
auto context_2d = static_cast<CanvasRenderingContext2D *>((void *)ptr);
|
|
240
|
+
auto context_2d = static_cast<CanvasRenderingContext2D *>((void *) ptr);
|
|
237
241
|
|
|
238
242
|
auto ret = CanvasRenderingContext2DImpl::NewInstance(isolate, new CanvasRenderingContext2DImpl(
|
|
239
243
|
context_2d));
|
|
@@ -358,7 +362,7 @@ void CanvasJSIModule::CreateImageBitmap(const v8::FunctionCallbackInfo<v8::Value
|
|
|
358
362
|
isolate, ta);
|
|
359
363
|
|
|
360
364
|
auto callback = new AsyncCallback(isolate, cbFunc, [](bool done, void *data) {
|
|
361
|
-
if(data == nullptr){return;}
|
|
365
|
+
if (data == nullptr) { return; }
|
|
362
366
|
auto async_data = static_cast<AsyncCallback *>(data);
|
|
363
367
|
auto func = async_data->inner_.get();
|
|
364
368
|
if (func != nullptr && func->isolate_ != nullptr) {
|
|
@@ -598,7 +602,7 @@ void CanvasJSIModule::Create2DContextWithPointer(const v8::FunctionCallbackInfo<
|
|
|
598
602
|
|
|
599
603
|
struct FileData {
|
|
600
604
|
char *error_;
|
|
601
|
-
U8Buffer*
|
|
605
|
+
U8Buffer *data;
|
|
602
606
|
|
|
603
607
|
~FileData() {
|
|
604
608
|
if (error_ != nullptr) {
|
|
@@ -613,9 +617,133 @@ void CanvasJSIModule::ReadFile(const v8::FunctionCallbackInfo<v8::Value> &args)
|
|
|
613
617
|
auto file = ConvertFromV8String(isolate, args[0]);
|
|
614
618
|
auto cbFunc = args[1].As<v8::Function>();
|
|
615
619
|
|
|
620
|
+
auto callback = new AsyncCallback(isolate, cbFunc, [](bool done, void *data) {
|
|
621
|
+
if (data == nullptr) { return; }
|
|
622
|
+
auto async_data = static_cast<AsyncCallback *>(data);
|
|
623
|
+
auto func = async_data->inner_.get();
|
|
624
|
+
if (func != nullptr && func->isolate_ != nullptr) {
|
|
625
|
+
v8::Isolate *isolate = func->isolate_;
|
|
626
|
+
v8::Locker locker(isolate);
|
|
627
|
+
v8::Isolate::Scope isolate_scope(isolate);
|
|
628
|
+
v8::HandleScope handle_scope(isolate);
|
|
629
|
+
v8::Local<v8::Function> callback = func->callback_.Get(
|
|
630
|
+
isolate);
|
|
631
|
+
v8::Local<v8::Context> context = callback->GetCreationContextChecked();
|
|
632
|
+
v8::Context::Scope context_scope(context);
|
|
633
|
+
|
|
634
|
+
if (func->data != nullptr) {
|
|
635
|
+
auto file_data = static_cast<FileData *>(func->data);
|
|
636
|
+
|
|
637
|
+
v8::Local<v8::Value> args[2];
|
|
638
|
+
|
|
639
|
+
if (done) {
|
|
640
|
+
args[0] = v8::Null(isolate);
|
|
641
|
+
|
|
642
|
+
auto buf = canvas_native_u8_buffer_get_bytes_mut(file_data->data);
|
|
643
|
+
auto size = (size_t) canvas_native_u8_buffer_get_length(file_data->data);
|
|
644
|
+
|
|
645
|
+
auto store = v8::ArrayBuffer::NewBackingStore((void *) buf, size,
|
|
646
|
+
[](void *data,
|
|
647
|
+
size_t length,
|
|
648
|
+
void *deleter_data) {
|
|
649
|
+
if (deleter_data !=
|
|
650
|
+
nullptr) {
|
|
651
|
+
delete static_cast<FileData *>(deleter_data);
|
|
652
|
+
|
|
653
|
+
}
|
|
654
|
+
},
|
|
655
|
+
func->data);
|
|
656
|
+
|
|
657
|
+
auto ret = v8::Object::New(isolate);
|
|
658
|
+
auto buffer = v8::ArrayBuffer::New(isolate, std::move(store));
|
|
659
|
+
ret->Set(context, ConvertToV8String(isolate, "buffer"), buffer);
|
|
660
|
+
auto mime = canvas_native_helper_get_mime(buf, size);
|
|
661
|
+
if (mime != nullptr) {
|
|
662
|
+
if (mime->mime_type != nullptr) {
|
|
663
|
+
ret->Set(context, ConvertToV8String(isolate, "mime"),
|
|
664
|
+
ConvertToV8String(isolate, mime->mime_type));
|
|
665
|
+
}
|
|
666
|
+
if (mime->extension != nullptr) {
|
|
667
|
+
ret->Set(context, ConvertToV8String(isolate, "extension"),
|
|
668
|
+
ConvertToV8String(isolate, mime->extension));
|
|
669
|
+
}
|
|
670
|
+
canvas_native_helper_release_mime(mime);
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
args[1] = ret;
|
|
674
|
+
} else {
|
|
675
|
+
auto error = file_data->error_;
|
|
676
|
+
args[0] = v8::Exception::Error(ConvertToV8String(isolate, error));
|
|
677
|
+
args[1] = v8::Null(isolate);
|
|
678
|
+
delete file_data;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
v8::TryCatch tc(isolate);
|
|
682
|
+
v8::Local<v8::Value> result;
|
|
683
|
+
if (!callback->Call(context, context->Global(), 2, args).ToLocal(
|
|
684
|
+
&result)) {
|
|
685
|
+
if (tc.HasCaught()) {
|
|
686
|
+
|
|
687
|
+
// v8::Local<v8::Value> stack;
|
|
688
|
+
// bool success = tc.StackTrace(context).ToLocal(&stack);
|
|
689
|
+
// if (!success || stack.IsEmpty()) {
|
|
690
|
+
// if (!done) {
|
|
691
|
+
// delete async_data;
|
|
692
|
+
// }
|
|
693
|
+
// return;
|
|
694
|
+
// }
|
|
695
|
+
//
|
|
696
|
+
// v8::Local<v8::String> stackV8Str;
|
|
697
|
+
// success = stack->ToDetailString(context).ToLocal(&stackV8Str);
|
|
698
|
+
// if (!success || stackV8Str.IsEmpty()) {
|
|
699
|
+
// if (!done) {
|
|
700
|
+
// delete async_data;
|
|
701
|
+
// }
|
|
702
|
+
// return;
|
|
703
|
+
// }
|
|
704
|
+
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
delete async_data;
|
|
709
|
+
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
});
|
|
713
|
+
|
|
714
|
+
callback->prepare();
|
|
715
|
+
|
|
716
|
+
std::thread thread(
|
|
717
|
+
[callback, file]() {
|
|
718
|
+
bool done = false;
|
|
719
|
+
auto ret = canvas_native_helper_read_file(file.c_str());
|
|
720
|
+
|
|
721
|
+
if (!canvas_native_helper_read_file_has_error(ret)) {
|
|
722
|
+
auto buf = canvas_native_helper_read_file_take_data(ret);
|
|
723
|
+
callback->inner_->data = new FileData{nullptr, buf};
|
|
724
|
+
done = true;
|
|
725
|
+
} else {
|
|
726
|
+
auto error = canvas_native_helper_read_file_get_error(ret);
|
|
727
|
+
callback->inner_->data = new FileData{const_cast<char *>(error), nullptr};
|
|
728
|
+
}
|
|
729
|
+
canvas_native_helper_release(ret);
|
|
730
|
+
callback->execute(done);
|
|
731
|
+
});
|
|
732
|
+
|
|
733
|
+
thread.detach();
|
|
734
|
+
|
|
735
|
+
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
void CanvasJSIModule::GetMime(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
740
|
+
auto isolate = args.GetIsolate();
|
|
741
|
+
auto file = ConvertFromV8String(isolate, args[0]);
|
|
742
|
+
auto cbFunc = args[1].As<v8::Function>();
|
|
743
|
+
|
|
616
744
|
|
|
617
745
|
auto callback = new AsyncCallback(isolate, cbFunc, [](bool done, void *data) {
|
|
618
|
-
if(data == nullptr){return;}
|
|
746
|
+
if (data == nullptr) { return; }
|
|
619
747
|
auto async_data = static_cast<AsyncCallback *>(data);
|
|
620
748
|
auto func = async_data->inner_.get();
|
|
621
749
|
if (func != nullptr && func->isolate_ != nullptr) {
|
|
@@ -624,12 +752,12 @@ void CanvasJSIModule::ReadFile(const v8::FunctionCallbackInfo<v8::Value> &args)
|
|
|
624
752
|
v8::Isolate::Scope isolate_scope(isolate);
|
|
625
753
|
v8::HandleScope handle_scope(isolate);
|
|
626
754
|
v8::Local<v8::Function> callback = func->callback_.Get(
|
|
627
|
-
|
|
755
|
+
isolate);
|
|
628
756
|
v8::Local<v8::Context> context = callback->GetCreationContextChecked();
|
|
629
757
|
v8::Context::Scope context_scope(context);
|
|
630
758
|
|
|
631
759
|
if (func->data != nullptr) {
|
|
632
|
-
auto file_data = static_cast<FileData*>(func->data);
|
|
760
|
+
auto file_data = static_cast<FileData *>(func->data);
|
|
633
761
|
|
|
634
762
|
v8::Local<v8::Value> args[2];
|
|
635
763
|
|
|
@@ -701,11 +829,11 @@ void CanvasJSIModule::ReadFile(const v8::FunctionCallbackInfo<v8::Value> &args)
|
|
|
701
829
|
|
|
702
830
|
if (!canvas_native_helper_read_file_has_error(ret)) {
|
|
703
831
|
auto buf = canvas_native_helper_read_file_take_data(ret);
|
|
704
|
-
callback->inner_->data = new FileData
|
|
832
|
+
callback->inner_->data = new FileData{nullptr, buf};
|
|
705
833
|
done = true;
|
|
706
834
|
} else {
|
|
707
835
|
auto error = canvas_native_helper_read_file_get_error(ret);
|
|
708
|
-
callback->inner_->data = new FileData
|
|
836
|
+
callback->inner_->data = new FileData{const_cast<char *>(error), nullptr};
|
|
709
837
|
}
|
|
710
838
|
canvas_native_helper_release(ret);
|
|
711
839
|
callback->execute(done);
|
|
@@ -714,9 +842,9 @@ void CanvasJSIModule::ReadFile(const v8::FunctionCallbackInfo<v8::Value> &args)
|
|
|
714
842
|
thread.detach();
|
|
715
843
|
|
|
716
844
|
|
|
717
|
-
|
|
718
845
|
}
|
|
719
846
|
|
|
847
|
+
|
|
720
848
|
void CanvasJSIModule::CreateWebGLContext(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
721
849
|
|
|
722
850
|
auto options = GLOptions();
|
|
@@ -734,7 +862,7 @@ void CanvasJSIModule::CreateWebGLContext(const v8::FunctionCallbackInfo<v8::Valu
|
|
|
734
862
|
auto count = args.Length();
|
|
735
863
|
if (count == 6) {
|
|
736
864
|
auto ctx = args[1].As<v8::BigInt>()->Int64Value();
|
|
737
|
-
auto webgl =
|
|
865
|
+
auto webgl = (WebGLState *) ctx;
|
|
738
866
|
|
|
739
867
|
auto renderingContext = WebGLRenderingContext::NewInstance(isolate,
|
|
740
868
|
new WebGLRenderingContext(
|
|
@@ -817,8 +945,8 @@ void CanvasJSIModule::CreateWebGL2Context(const v8::FunctionCallbackInfo<v8::Val
|
|
|
817
945
|
|
|
818
946
|
auto count = args.Length();
|
|
819
947
|
if (count == 6) {
|
|
820
|
-
auto ctx = args[
|
|
821
|
-
auto webgl =
|
|
948
|
+
auto ctx = args[1].As<v8::BigInt>()->Int64Value();
|
|
949
|
+
auto webgl = (WebGLState *) ctx;
|
|
822
950
|
auto renderingContext = WebGL2RenderingContext::NewInstance(isolate,
|
|
823
951
|
new WebGL2RenderingContext(
|
|
824
952
|
webgl,
|
|
@@ -37,6 +37,8 @@ public:
|
|
|
37
37
|
|
|
38
38
|
static void ReadFile(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
39
39
|
|
|
40
|
+
static void GetMime(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
41
|
+
|
|
40
42
|
static void CreateWebGLContext(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
41
43
|
|
|
42
44
|
static void CreateWebGL2Context(const v8::FunctionCallbackInfo<v8::Value> &args);
|