@nativescript/canvas 2.0.0-webgpu.40 → 2.0.0-webgpu.42
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/index.android.js +6 -0
- package/Canvas/index.android.js.map +1 -1
- package/Canvas/index.ios.js +6 -0
- package/Canvas/index.ios.js.map +1 -1
- package/WebGPU/GPUCanvasContext.d.ts +7 -2
- package/WebGPU/GPUCanvasContext.js +31 -0
- package/WebGPU/GPUCanvasContext.js.map +1 -1
- package/WebGPU/GPUQueue.js +1 -1
- package/WebGPU/GPUQueue.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/CanvasNative-Swift.h +1 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +11 -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 +49 -14
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +1 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +1 -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 +672 -662
- 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 +11 -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 +49 -14
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +49 -14
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +1 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1 -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 +693 -683
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +746 -736
- package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +2 -2
- package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +59 -3
- package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.h +2 -0
|
@@ -3106,7 +3106,7 @@ CanvasRenderingContext2DImpl::__ToDataURL(const v8::FunctionCallbackInfo<v8::Val
|
|
|
3106
3106
|
|
|
3107
3107
|
|
|
3108
3108
|
if (args[1]->IsNumber()) {
|
|
3109
|
-
quality = (int) args[1]->NumberValue(context).ToChecked();
|
|
3109
|
+
quality = (int) (args[1]->NumberValue(context).ToChecked() * 100);
|
|
3110
3110
|
}
|
|
3111
3111
|
|
|
3112
3112
|
|
|
@@ -5883,8 +5883,8 @@ WebGLRenderingContext::__ToDataURL(const v8::FunctionCallbackInfo<v8::Value> &ar
|
|
|
5883
5883
|
|
|
5884
5884
|
|
|
5885
5885
|
if (args[1]->IsNumber()) {
|
|
5886
|
-
quality = (int) args[1]->NumberValue(
|
|
5887
|
-
context).ToChecked();
|
|
5886
|
+
quality = (int) (args[1]->NumberValue(
|
|
5887
|
+
context).ToChecked() * 100);
|
|
5888
5888
|
}
|
|
5889
5889
|
|
|
5890
5890
|
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
#include "Caches.h"
|
|
7
7
|
#include "GPUAdapterImpl.h"
|
|
8
8
|
#include "GPUUtils.h"
|
|
9
|
+
#include "GPUQueueImpl.h"
|
|
9
10
|
|
|
10
11
|
GPUCanvasContextImpl::GPUCanvasContextImpl(const CanvasGPUCanvasContext *context) : context_(
|
|
11
12
|
context) {}
|
|
@@ -70,6 +71,9 @@ v8::Local<v8::FunctionTemplate> GPUCanvasContextImpl::GetCtor(v8::Isolate *isola
|
|
|
70
71
|
ConvertToV8String(isolate, "getCapabilities"),
|
|
71
72
|
v8::FunctionTemplate::New(isolate, &GetCapabilities));
|
|
72
73
|
|
|
74
|
+
tmpl->Set(
|
|
75
|
+
ConvertToV8String(isolate, "__toDataURL"),
|
|
76
|
+
v8::FunctionTemplate::New(isolate, &__ToDataURL));
|
|
73
77
|
|
|
74
78
|
cache->GPUCanvasContextTmpl =
|
|
75
79
|
std::make_unique<v8::Persistent<v8::FunctionTemplate>>(isolate, ctorTmpl);
|
|
@@ -211,6 +215,57 @@ void GPUCanvasContextImpl::UnConfigure(const v8::FunctionCallbackInfo<v8::Value>
|
|
|
211
215
|
|
|
212
216
|
}
|
|
213
217
|
|
|
218
|
+
void GPUCanvasContextImpl::__ToDataURL(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
219
|
+
GPUCanvasContextImpl *ptr = GetPointer(args.This());
|
|
220
|
+
|
|
221
|
+
auto isolate = args.GetIsolate();
|
|
222
|
+
auto context = isolate->GetCurrentContext();
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
std::string type("image/png");
|
|
226
|
+
int quality = 92;
|
|
227
|
+
if (args[0]->IsString()) {
|
|
228
|
+
type = ConvertFromV8String(isolate, args[0]);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
if (args[1]->IsNumber()) {
|
|
232
|
+
quality = (int) (args[1]->NumberValue(context).ToChecked() * 100);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
auto deviceType = GetNativeType(args[2]);
|
|
236
|
+
auto textureType = GetNativeType(args[3]);
|
|
237
|
+
|
|
238
|
+
if (deviceType == NativeType::GPUDevice) {
|
|
239
|
+
auto device = GPUDeviceImpl::GetPointer(args[2].As<v8::Object>());
|
|
240
|
+
char* data = nullptr;
|
|
241
|
+
if(textureType == NativeType::GPUTexture){
|
|
242
|
+
auto texture = GPUTextureImpl::GetPointer(args[3].As<v8::Object>());
|
|
243
|
+
data = canvas_native_webgpu_to_data_url_with_texture(
|
|
244
|
+
ptr->GetContext(), device->GetGPUDevice(), texture->GetTexture(),
|
|
245
|
+
type.c_str(),
|
|
246
|
+
quality);
|
|
247
|
+
}else {
|
|
248
|
+
data = canvas_native_webgpu_to_data_url(
|
|
249
|
+
ptr->GetContext(), device->GetGPUDevice(), type.c_str(),
|
|
250
|
+
quality);
|
|
251
|
+
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
if(data == nullptr){
|
|
255
|
+
args.GetReturnValue().Set(ConvertToV8String(isolate, "data:,"));
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
auto value = new OneByteStringResource((char *) data);
|
|
260
|
+
auto ret = v8::String::NewExternalOneByte(isolate, value);
|
|
261
|
+
args.GetReturnValue().Set(ret.ToLocalChecked());
|
|
262
|
+
} else {
|
|
263
|
+
args.GetReturnValue().Set(ConvertToV8String(isolate, "data:,"));
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
}
|
|
268
|
+
|
|
214
269
|
void GPUCanvasContextImpl::GetCurrentTexture(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
215
270
|
GPUCanvasContextImpl *ptr = GetPointer(args.This());
|
|
216
271
|
auto isolate = args.GetIsolate();
|
|
@@ -225,11 +280,11 @@ void GPUCanvasContextImpl::GetCurrentTexture(const v8::FunctionCallbackInfo<v8::
|
|
|
225
280
|
|
|
226
281
|
if (texture != nullptr) {
|
|
227
282
|
auto status = canvas_native_webgpu_texture_get_status(texture);
|
|
228
|
-
if(status == SurfaceGetCurrentTextureStatusSuccess){
|
|
283
|
+
if (status == SurfaceGetCurrentTextureStatusSuccess) {
|
|
229
284
|
auto textureImpl = new GPUTextureImpl(texture);
|
|
230
285
|
auto ret = GPUTextureImpl::NewInstance(isolate, textureImpl);
|
|
231
286
|
args.GetReturnValue().Set(ret);
|
|
232
|
-
}else {
|
|
287
|
+
} else {
|
|
233
288
|
canvas_native_webgpu_texture_release(texture);
|
|
234
289
|
args.GetReturnValue().SetNull();
|
|
235
290
|
}
|
|
@@ -316,7 +371,8 @@ void GPUCanvasContextImpl::GetCapabilities(const v8::FunctionCallbackInfo<v8::Va
|
|
|
316
371
|
}
|
|
317
372
|
|
|
318
373
|
ret->Set(context, ConvertToV8String(isolate, "format"), v8::Array::New(isolate)).FromJust();
|
|
319
|
-
ret->Set(context, ConvertToV8String(isolate, "presentModes"),
|
|
374
|
+
ret->Set(context, ConvertToV8String(isolate, "presentModes"),
|
|
375
|
+
v8::Array::New(isolate)).FromJust();
|
|
320
376
|
ret->Set(context, ConvertToV8String(isolate, "alphaModes"), v8::Array::New(isolate)).FromJust();
|
|
321
377
|
ret->Set(context, ConvertToV8String(isolate, "usages"), v8::Uint32::New(isolate, 0)).FromJust();
|
|
322
378
|
args.GetReturnValue().Set(ret);
|
|
@@ -22,6 +22,8 @@ public:
|
|
|
22
22
|
|
|
23
23
|
static void Init(v8::Local<v8::Object> canvasModule, v8::Isolate *isolate);
|
|
24
24
|
|
|
25
|
+
static void __ToDataURL(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
26
|
+
|
|
25
27
|
static GPUCanvasContextImpl *GetPointer(const v8::Local<v8::Object> &object);
|
|
26
28
|
|
|
27
29
|
static v8::Local<v8::FunctionTemplate> GetCtor(v8::Isolate *isolate);
|