@nativescript/canvas 2.0.0-rc.10 → 2.0.0-rc.11
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 -4
- package/Canvas/index.android.js.map +1 -1
- package/Canvas/index.ios.js +4 -3
- package/Canvas/index.ios.js.map +1 -1
- package/Canvas/utils.js +2 -1
- package/Canvas/utils.js.map +1 -1
- package/Canvas2D/CanvasRenderingContext2D/index.d.ts +1 -0
- package/Canvas2D/CanvasRenderingContext2D/index.js +158 -6
- package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
- package/Canvas2D/DOMMatrix/index.js +280 -2
- package/Canvas2D/DOMMatrix/index.js.map +1 -1
- package/Canvas2D/Path2D/index.js.map +1 -1
- package/WebGL/WebGLRenderingContext/index.js +0 -1
- package/WebGL/WebGLRenderingContext/index.js.map +1 -1
- package/WebGPU/GPUCanvasContext.d.ts +0 -1
- package/WebGPU/GPUCanvasContext.js +6 -18
- package/WebGPU/GPUCanvasContext.js.map +1 -1
- package/WebGPU/GPUCommandEncoder.d.ts +1 -1
- package/WebGPU/GPUCommandEncoder.js +1 -1
- package/WebGPU/GPUCommandEncoder.js.map +1 -1
- package/WebGPU/GPUDevice.d.ts +2 -2
- package/WebGPU/GPUDevice.js.map +1 -1
- package/WebGPU/GPUQueue.js +1 -4
- package/WebGPU/GPUQueue.js.map +1 -1
- package/WebGPU/GPURenderPassEncoder.d.ts +1 -1
- package/WebGPU/GPURenderPassEncoder.js +2 -2
- package/WebGPU/GPURenderPassEncoder.js.map +1 -1
- package/WebGPU/Interfaces.d.ts +1 -0
- package/WebGPU/Types.d.ts +3 -3
- package/WebGPU/Utils.d.ts +1 -1
- package/WebGPU/Utils.js +67 -93
- package/WebGPU/Utils.js.map +1 -1
- package/angular/fesm2022/nativescript-canvas-angular.mjs +5 -5
- package/angular/package.json +0 -2
- 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 +10 -5
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +249 -47
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -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 +12361 -10901
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +55 -49
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +55 -49
- 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 +954 -994
- 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 +20 -10
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +249 -47
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -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 +12361 -10901
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +55 -49
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +55 -49
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +12361 -10901
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +55 -49
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +55 -49
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +29 -29
- 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 +955 -993
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +824 -1037
- package/platforms/ios/src/cpp/CanvasJSIModule.cpp +1166 -1175
- package/platforms/ios/src/cpp/OnRafCallback.cpp +15 -10
- package/platforms/ios/src/cpp/OnRafCallback.h +1 -0
- package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +59 -15
- package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +4 -8
- package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +431 -326
- package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.h +98 -42
- package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +1150 -1144
- package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +69 -34
- package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +45 -19
- package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +22 -19
- package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.cpp +11 -0
- package/platforms/ios/src/cpp/webgpu/GPUUtils.h +25 -15
- package/angular/esm2022/index.mjs +0 -17
- package/angular/esm2022/nativescript-canvas-angular.mjs +0 -5
|
@@ -2,56 +2,112 @@
|
|
|
2
2
|
// Created by Osei Fortune on 20/06/2024.
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
#
|
|
6
|
-
#
|
|
5
|
+
#pragma once
|
|
6
|
+
#pragma process_pending_includes
|
|
7
|
+
|
|
8
|
+
#include "RafImpl.h"
|
|
9
|
+
#include "OnRafCallback.h"
|
|
7
10
|
|
|
8
11
|
#include "Helpers.h"
|
|
9
12
|
#include "ObjectWrapperImpl.h"
|
|
10
13
|
#include "GPUDeviceImpl.h"
|
|
11
14
|
#include "GPUTextureImpl.h"
|
|
12
15
|
|
|
16
|
+
|
|
13
17
|
class GPUCanvasContextImpl : ObjectWrapperImpl {
|
|
14
18
|
public:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
19
|
+
static v8::CFunction fast_start_raf_;
|
|
20
|
+
|
|
21
|
+
static v8::CFunction fast_stop_raf_;
|
|
22
|
+
|
|
23
|
+
explicit GPUCanvasContextImpl(const CanvasGPUCanvasContext *context);
|
|
24
|
+
|
|
25
|
+
void StartRaf();
|
|
26
|
+
|
|
27
|
+
void StopRaf();
|
|
28
|
+
|
|
29
|
+
static void __StartRaf(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
30
|
+
|
|
31
|
+
static void __FastStartRaf(v8::Local<v8::Object> receiver_obj) {
|
|
32
|
+
GPUCanvasContextImpl *ptr = GetPointer(receiver_obj);
|
|
33
|
+
if (ptr == nullptr) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
ptr->StartRaf();
|
|
38
|
+
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
static void __StopRaf(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
42
|
+
|
|
43
|
+
static void __FastStopRaf(v8::Local<v8::Object> receiver_obj) {
|
|
44
|
+
GPUCanvasContextImpl *ptr = GetPointer(receiver_obj);
|
|
45
|
+
if (ptr == nullptr) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
ptr->StopRaf();
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
~GPUCanvasContextImpl() {
|
|
54
|
+
auto raf = this->raf_.get();
|
|
55
|
+
if (raf != nullptr) {
|
|
56
|
+
canvas_native_raf_stop(raf->GetRaf());
|
|
57
|
+
}
|
|
58
|
+
canvas_native_webgpu_context_release(this->context_);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const CanvasGPUCanvasContext *GetContext();
|
|
62
|
+
|
|
63
|
+
static void Init(v8::Local<v8::Object> canvasModule, v8::Isolate *isolate);
|
|
64
|
+
|
|
65
|
+
static void __ToDataURL(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
66
|
+
|
|
67
|
+
static GPUCanvasContextImpl *GetPointer(const v8::Local<v8::Object> &object);
|
|
68
|
+
|
|
69
|
+
static v8::Local<v8::FunctionTemplate> GetCtor(v8::Isolate *isolate);
|
|
70
|
+
|
|
71
|
+
static v8::Local<v8::Object> NewInstance(v8::Isolate *isolate, GPUCanvasContextImpl *ctx) {
|
|
72
|
+
auto context = isolate->GetCurrentContext();
|
|
73
|
+
v8::EscapableHandleScope scope(isolate);
|
|
74
|
+
auto object = GPUCanvasContextImpl::GetCtor(isolate)->GetFunction(
|
|
75
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
76
|
+
SetNativeType(ctx, NativeType::GPUCanvasContext);
|
|
77
|
+
object->SetAlignedPointerInInternalField(0, ctx);
|
|
78
|
+
ctx->BindFinalizer(isolate, object);
|
|
79
|
+
return scope.Escape(object);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
static void Configure(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
83
|
+
|
|
84
|
+
static void UnConfigure(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
85
|
+
|
|
86
|
+
static void GetCurrentTexture(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
87
|
+
|
|
88
|
+
static void PresentSurface(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
89
|
+
|
|
90
|
+
static void GetCapabilities(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
91
|
+
|
|
92
|
+
static void SetContinuousRenderMode(v8::Local<v8::String> property,
|
|
93
|
+
v8::Local<v8::Value> value,
|
|
94
|
+
const v8::PropertyCallbackInfo<void> &info);
|
|
95
|
+
|
|
96
|
+
static void GetContinuousRenderMode(v8::Local<v8::String> property,
|
|
97
|
+
const v8::PropertyCallbackInfo<v8::Value> &info);
|
|
98
|
+
|
|
99
|
+
void SetRaf(std::shared_ptr<RafImpl> raf);
|
|
100
|
+
|
|
101
|
+
RafImpl *GetRaf();
|
|
102
|
+
|
|
103
|
+
void Flush();
|
|
104
|
+
|
|
105
|
+
static void Flush(intptr_t context);
|
|
106
|
+
|
|
52
107
|
private:
|
|
53
|
-
|
|
108
|
+
const CanvasGPUCanvasContext *context_;
|
|
109
|
+
std::shared_ptr<RafImpl> raf_;
|
|
110
|
+
|
|
111
|
+
bool continuousRender_ = true;
|
|
54
112
|
};
|
|
55
113
|
|
|
56
|
-
|
|
57
|
-
#endif //CANVAS_ANDROID_GPUCANVASCONTEXTIMPL_H
|