@nativescript/canvas 2.0.0-rc.2 → 2.0.0-rc.20

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.
Files changed (125) hide show
  1. package/Canvas/common.d.ts +13 -6
  2. package/Canvas/common.js +257 -206
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.d.ts +2 -0
  5. package/Canvas/index.android.js +23 -4
  6. package/Canvas/index.android.js.map +1 -1
  7. package/Canvas/index.d.ts +3 -0
  8. package/Canvas/index.ios.d.ts +2 -0
  9. package/Canvas/index.ios.js +16 -3
  10. package/Canvas/index.ios.js.map +1 -1
  11. package/Canvas/utils.js +2 -1
  12. package/Canvas/utils.js.map +1 -1
  13. package/Canvas2D/CanvasRenderingContext2D/index.d.ts +1 -0
  14. package/Canvas2D/CanvasRenderingContext2D/index.js +158 -6
  15. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  16. package/Canvas2D/DOMMatrix/index.js +280 -2
  17. package/Canvas2D/DOMMatrix/index.js.map +1 -1
  18. package/Canvas2D/Path2D/index.js.map +1 -1
  19. package/Fonts/FontFace.android.js +7 -3
  20. package/Fonts/FontFace.android.js.map +1 -1
  21. package/Fonts/FontFace.ios.d.ts +1 -0
  22. package/Fonts/FontFace.ios.js +10 -3
  23. package/Fonts/FontFace.ios.js.map +1 -1
  24. package/TextDecoder/index.d.ts +1 -0
  25. package/TextDecoder/index.js +17 -0
  26. package/TextDecoder/index.js.map +1 -1
  27. package/WebGL/WebGLRenderingContext/index.js +0 -1
  28. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  29. package/WebGPU/GPUCanvasContext.d.ts +0 -1
  30. package/WebGPU/GPUCanvasContext.js +6 -18
  31. package/WebGPU/GPUCanvasContext.js.map +1 -1
  32. package/WebGPU/GPUCommandEncoder.d.ts +1 -1
  33. package/WebGPU/GPUCommandEncoder.js +1 -1
  34. package/WebGPU/GPUCommandEncoder.js.map +1 -1
  35. package/WebGPU/GPUCompilationInfo.d.ts +10 -0
  36. package/WebGPU/GPUCompilationInfo.js +20 -0
  37. package/WebGPU/GPUCompilationInfo.js.map +1 -0
  38. package/WebGPU/GPUCompilationMessage.d.ts +11 -0
  39. package/WebGPU/GPUCompilationMessage.js +30 -0
  40. package/WebGPU/GPUCompilationMessage.js.map +1 -0
  41. package/WebGPU/GPUDevice.d.ts +2 -2
  42. package/WebGPU/GPUDevice.js.map +1 -1
  43. package/WebGPU/GPUQueue.js +1 -4
  44. package/WebGPU/GPUQueue.js.map +1 -1
  45. package/WebGPU/GPURenderPassEncoder.d.ts +1 -1
  46. package/WebGPU/GPURenderPassEncoder.js +2 -2
  47. package/WebGPU/GPURenderPassEncoder.js.map +1 -1
  48. package/WebGPU/GPUShaderModule.d.ts +2 -0
  49. package/WebGPU/GPUShaderModule.js +10 -0
  50. package/WebGPU/GPUShaderModule.js.map +1 -1
  51. package/WebGPU/Interfaces.d.ts +1 -0
  52. package/WebGPU/Types.d.ts +3 -3
  53. package/WebGPU/Utils.d.ts +1 -1
  54. package/WebGPU/Utils.js +67 -93
  55. package/WebGPU/Utils.js.map +1 -1
  56. package/WebGPU/index.d.ts +2 -0
  57. package/WebGPU/index.js +2 -0
  58. package/WebGPU/index.js.map +1 -1
  59. package/angular/fesm2022/nativescript-canvas-angular.mjs +5 -5
  60. package/angular/package.json +0 -2
  61. package/helpers.d.ts +3 -0
  62. package/helpers.js +9 -0
  63. package/helpers.js.map +1 -1
  64. package/index.js +6 -1
  65. package/index.js.map +1 -1
  66. package/package.json +1 -1
  67. package/platforms/android/canvas-release.aar +0 -0
  68. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  69. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +10 -5
  70. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +294 -47
  71. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  72. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  73. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +11317 -11881
  74. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +55 -49
  75. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  76. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +55 -49
  77. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  78. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +954 -994
  79. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  80. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +20 -10
  81. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +294 -47
  82. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  83. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  84. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  85. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +11317 -11881
  86. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +55 -49
  87. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  88. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +55 -49
  89. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +11317 -11881
  90. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +55 -49
  91. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  92. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +55 -49
  93. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +29 -29
  94. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  95. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +955 -993
  96. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +824 -1037
  97. package/platforms/ios/src/cpp/Caches.h +6 -0
  98. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +1172 -1011
  99. package/platforms/ios/src/cpp/CanvasJSIModule.h +6 -0
  100. package/platforms/ios/src/cpp/Helpers.h +23 -2
  101. package/platforms/ios/src/cpp/NativeType.h +3 -1
  102. package/platforms/ios/src/cpp/OnRafCallback.cpp +15 -10
  103. package/platforms/ios/src/cpp/OnRafCallback.h +1 -0
  104. package/platforms/ios/src/cpp/PromiseCallback.h +42 -20
  105. package/platforms/ios/src/cpp/TextDecoderImpl.cpp +142 -0
  106. package/platforms/ios/src/cpp/TextDecoderImpl.h +2 -0
  107. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +59 -15
  108. package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +1 -1
  109. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +4 -8
  110. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +431 -326
  111. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.h +98 -42
  112. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +1150 -1144
  113. package/platforms/ios/src/cpp/webgpu/GPUCompilationInfoImpl.cpp +88 -0
  114. package/platforms/ios/src/cpp/webgpu/GPUCompilationInfoImpl.h +49 -0
  115. package/platforms/ios/src/cpp/webgpu/GPUCompilationMessageImpl.cpp +193 -0
  116. package/platforms/ios/src/cpp/webgpu/GPUCompilationMessageImpl.h +64 -0
  117. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +69 -34
  118. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +45 -18
  119. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +22 -19
  120. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.cpp +23 -0
  121. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.h +2 -0
  122. package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.cpp +11 -0
  123. package/platforms/ios/src/cpp/webgpu/GPUUtils.h +25 -15
  124. package/angular/esm2022/index.mjs +0 -17
  125. 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
- #ifndef CANVAS_ANDROID_GPUCANVASCONTEXTIMPL_H
6
- #define CANVAS_ANDROID_GPUCANVASCONTEXTIMPL_H
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
- explicit GPUCanvasContextImpl(const CanvasGPUCanvasContext *context);
16
-
17
- ~GPUCanvasContextImpl() {
18
- canvas_native_webgpu_context_release(this->context_);
19
- }
20
-
21
- const CanvasGPUCanvasContext *GetContext();
22
-
23
- static void Init(v8::Local<v8::Object> canvasModule, v8::Isolate *isolate);
24
-
25
- static void __ToDataURL(const v8::FunctionCallbackInfo<v8::Value> &args);
26
-
27
- static GPUCanvasContextImpl *GetPointer(const v8::Local<v8::Object> &object);
28
-
29
- static v8::Local<v8::FunctionTemplate> GetCtor(v8::Isolate *isolate);
30
-
31
- static v8::Local<v8::Object> NewInstance(v8::Isolate *isolate, GPUCanvasContextImpl *ctx) {
32
- auto context = isolate->GetCurrentContext();
33
- v8::EscapableHandleScope scope(isolate);
34
- auto object = GPUCanvasContextImpl::GetCtor(isolate)->GetFunction(
35
- context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
36
- SetNativeType(ctx, NativeType::GPUCanvasContext);
37
- object->SetAlignedPointerInInternalField(0, ctx);
38
- ctx->BindFinalizer(isolate, object);
39
- return scope.Escape(object);
40
- }
41
-
42
- static void Configure(const v8::FunctionCallbackInfo<v8::Value> &args);
43
-
44
- static void UnConfigure(const v8::FunctionCallbackInfo<v8::Value> &args);
45
-
46
- static void GetCurrentTexture(const v8::FunctionCallbackInfo<v8::Value> &args);
47
-
48
- static void PresentSurface(const v8::FunctionCallbackInfo<v8::Value> &args);
49
-
50
- static void GetCapabilities(const v8::FunctionCallbackInfo<v8::Value> &args);
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
- const CanvasGPUCanvasContext *context_;
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