@nativescript/canvas 2.0.0-webgpu.35 → 2.0.0-webgpu.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.js +1 -1
- 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 +4 -3
- package/WebGL/WebGLRenderingContext/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/Info.plist +5 -5
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -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 +7293 -7997
- 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 -681
- 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/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 +7293 -7997
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +7293 -7997
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +6 -6
- 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 -683
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +736 -736
- package/platforms/ios/src/cpp/CanvasJSIModule.cpp +129 -0
- 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/webgpu/GPUQueueImpl.cpp +40 -8
- package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +67 -0
- 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();
|
|
@@ -613,6 +617,130 @@ 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
746
|
if (data == nullptr) { return; }
|
|
@@ -716,6 +844,7 @@ void CanvasJSIModule::ReadFile(const v8::FunctionCallbackInfo<v8::Value> &args)
|
|
|
716
844
|
|
|
717
845
|
}
|
|
718
846
|
|
|
847
|
+
|
|
719
848
|
void CanvasJSIModule::CreateWebGLContext(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
720
849
|
|
|
721
850
|
auto options = GLOptions();
|
|
@@ -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);
|