@nativescript/canvas 2.0.0-beta.9 → 2.0.0-rc.0
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 +15 -24
- package/Canvas/common.js +147 -203
- package/Canvas/common.js.map +1 -1
- package/Canvas/index.android.d.ts +13 -15
- package/Canvas/index.android.js +152 -151
- package/Canvas/index.android.js.map +1 -1
- package/Canvas/index.d.ts +23 -11
- package/Canvas/index.ios.d.ts +14 -6
- package/Canvas/index.ios.js +213 -124
- package/Canvas/index.ios.js.map +1 -1
- package/Canvas/utils.d.ts +3 -0
- package/Canvas/utils.js +85 -0
- package/Canvas/utils.js.map +1 -0
- package/Canvas2D/CanvasRenderingContext2D/index.d.ts +4 -2
- package/Canvas2D/CanvasRenderingContext2D/index.js +79 -85
- package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
- package/Canvas2D/DOMMatrix/index.d.ts +14 -0
- package/Canvas2D/DOMMatrix/index.js +62 -0
- package/Canvas2D/DOMMatrix/index.js.map +1 -1
- package/Canvas2D/ImageData/index.js +4 -6
- package/Canvas2D/ImageData/index.js.map +1 -1
- package/Canvas2D/Path2D/index.js.map +1 -1
- package/Dom/Dom.js +8 -1
- package/Dom/Dom.js.map +1 -1
- package/Dom/Group.d.ts +1 -2
- package/Dom/Group.js.map +1 -1
- package/Dom/Image.d.ts +4 -1
- package/Dom/Image.js +15 -2
- package/Dom/Image.js.map +1 -1
- package/Dom/Paint.d.ts +1 -1
- package/Dom/Paint.js.map +1 -1
- package/Dom/Text.js.map +1 -1
- package/Dom/shaders/LinearGradient.js.map +1 -1
- package/Dom/shaders/TwoPointConicalGradient.js.map +1 -1
- package/Dom/shapes/Atlas.js.map +1 -1
- package/Dom/shapes/Circle.js.map +1 -1
- package/Dom/shapes/Line.js.map +1 -1
- package/Dom/shapes/Oval.js.map +1 -1
- package/Dom/shapes/Path.d.ts +1 -1
- package/Dom/shapes/Path.js.map +1 -1
- package/Dom/shapes/Rect.js.map +1 -1
- package/Dom/shapes/RoundedRect.js.map +1 -1
- package/Dom/shapes/index.js.map +1 -1
- package/Fonts/FontFace.android.d.ts +46 -0
- package/Fonts/FontFace.android.js +197 -0
- package/Fonts/FontFace.android.js.map +1 -0
- package/Fonts/FontFace.ios.d.ts +45 -0
- package/Fonts/FontFace.ios.js +169 -0
- package/Fonts/FontFace.ios.js.map +1 -0
- package/Fonts/FontFaceSet.android.d.ts +31 -0
- package/Fonts/FontFaceSet.android.js +119 -0
- package/Fonts/FontFaceSet.android.js.map +1 -0
- package/Fonts/FontFaceSet.ios.d.ts +31 -0
- package/Fonts/FontFaceSet.ios.js +109 -0
- package/Fonts/FontFaceSet.ios.js.map +1 -0
- package/Fonts/index.d.ts +2 -0
- package/Fonts/index.js +3 -0
- package/Fonts/index.js.map +1 -0
- package/ImageAsset/index.d.ts +8 -3
- package/ImageAsset/index.js +206 -11
- package/ImageAsset/index.js.map +1 -1
- package/ImageBitmap/index.js +110 -23
- package/ImageBitmap/index.js.map +1 -1
- package/README.md +62 -3
- package/TextDecoder/index.js +3 -3
- package/TextDecoder/index.js.map +1 -1
- package/TextEncoder/index.js +3 -3
- package/TextEncoder/index.js.map +1 -1
- package/WebGL/WebGLExtensions/index.js +5 -5
- package/WebGL/WebGLExtensions/index.js.map +1 -1
- package/WebGL/WebGLRenderingContext/common.d.ts +1 -1
- package/WebGL/WebGLRenderingContext/common.js.map +1 -1
- package/WebGL/WebGLRenderingContext/index.d.ts +1 -0
- package/WebGL/WebGLRenderingContext/index.js +144 -46
- package/WebGL/WebGLRenderingContext/index.js.map +1 -1
- package/WebGL2/WebGL2RenderingContext/index.d.ts +1 -0
- package/WebGL2/WebGL2RenderingContext/index.js +7 -8
- package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
- package/WebGPU/Constants.d.ts +36 -0
- package/WebGPU/Constants.js +42 -0
- package/WebGPU/Constants.js.map +1 -0
- package/WebGPU/Errors.d.ts +18 -0
- package/WebGPU/Errors.js +21 -0
- package/WebGPU/Errors.js.map +1 -0
- package/WebGPU/GPU.d.ts +13 -0
- package/WebGPU/GPU.js +36 -0
- package/WebGPU/GPU.js.map +1 -0
- package/WebGPU/GPUAdapter.d.ts +26 -0
- package/WebGPU/GPUAdapter.js +93 -0
- package/WebGPU/GPUAdapter.js.map +1 -0
- package/WebGPU/GPUAdapterInfo.d.ts +9 -0
- package/WebGPU/GPUAdapterInfo.js +24 -0
- package/WebGPU/GPUAdapterInfo.js.map +1 -0
- package/WebGPU/GPUBindGroup.d.ts +6 -0
- package/WebGPU/GPUBindGroup.js +15 -0
- package/WebGPU/GPUBindGroup.js.map +1 -0
- package/WebGPU/GPUBindGroupLayout.d.ts +6 -0
- package/WebGPU/GPUBindGroupLayout.js +15 -0
- package/WebGPU/GPUBindGroupLayout.js.map +1 -0
- package/WebGPU/GPUBuffer.d.ts +15 -0
- package/WebGPU/GPUBuffer.js +66 -0
- package/WebGPU/GPUBuffer.js.map +1 -0
- package/WebGPU/GPUCanvasContext.d.ts +42 -0
- package/WebGPU/GPUCanvasContext.js +149 -0
- package/WebGPU/GPUCanvasContext.js.map +1 -0
- package/WebGPU/GPUCommandBuffer.d.ts +6 -0
- package/WebGPU/GPUCommandBuffer.js +15 -0
- package/WebGPU/GPUCommandBuffer.js.map +1 -0
- package/WebGPU/GPUCommandEncoder.d.ts +35 -0
- package/WebGPU/GPUCommandEncoder.js +163 -0
- package/WebGPU/GPUCommandEncoder.js.map +1 -0
- package/WebGPU/GPUComputePassEncoder.d.ts +17 -0
- package/WebGPU/GPUComputePassEncoder.js +53 -0
- package/WebGPU/GPUComputePassEncoder.js.map +1 -0
- package/WebGPU/GPUComputePipeline.d.ts +8 -0
- package/WebGPU/GPUComputePipeline.js +19 -0
- package/WebGPU/GPUComputePipeline.js.map +1 -0
- package/WebGPU/GPUDevice.d.ts +111 -0
- package/WebGPU/GPUDevice.js +341 -0
- package/WebGPU/GPUDevice.js.map +1 -0
- package/WebGPU/GPUDeviceLostInfo.d.ts +1 -0
- package/WebGPU/GPUDeviceLostInfo.js +10 -0
- package/WebGPU/GPUDeviceLostInfo.js.map +1 -0
- package/WebGPU/GPUExternalTexture.d.ts +6 -0
- package/WebGPU/GPUExternalTexture.js +15 -0
- package/WebGPU/GPUExternalTexture.js.map +1 -0
- package/WebGPU/GPUPipelineLayout.d.ts +6 -0
- package/WebGPU/GPUPipelineLayout.js +15 -0
- package/WebGPU/GPUPipelineLayout.js.map +1 -0
- package/WebGPU/GPUQuerySet.d.ts +6 -0
- package/WebGPU/GPUQuerySet.js +15 -0
- package/WebGPU/GPUQuerySet.js.map +1 -0
- package/WebGPU/GPUQueue.d.ts +15 -0
- package/WebGPU/GPUQueue.js +128 -0
- package/WebGPU/GPUQueue.js.map +1 -0
- package/WebGPU/GPURenderBundle.d.ts +6 -0
- package/WebGPU/GPURenderBundle.js +15 -0
- package/WebGPU/GPURenderBundle.js.map +1 -0
- package/WebGPU/GPURenderBundleEncoder.d.ts +22 -0
- package/WebGPU/GPURenderBundleEncoder.js +65 -0
- package/WebGPU/GPURenderBundleEncoder.js.map +1 -0
- package/WebGPU/GPURenderPassEncoder.d.ts +33 -0
- package/WebGPU/GPURenderPassEncoder.js +106 -0
- package/WebGPU/GPURenderPassEncoder.js.map +1 -0
- package/WebGPU/GPURenderPipeline.d.ts +8 -0
- package/WebGPU/GPURenderPipeline.js +19 -0
- package/WebGPU/GPURenderPipeline.js.map +1 -0
- package/WebGPU/GPUSampler.d.ts +6 -0
- package/WebGPU/GPUSampler.js +15 -0
- package/WebGPU/GPUSampler.js.map +1 -0
- package/WebGPU/GPUShaderModule.d.ts +6 -0
- package/WebGPU/GPUShaderModule.js +15 -0
- package/WebGPU/GPUShaderModule.js.map +1 -0
- package/WebGPU/GPUTexture.d.ts +18 -0
- package/WebGPU/GPUTexture.js +47 -0
- package/WebGPU/GPUTexture.js.map +1 -0
- package/WebGPU/GPUTextureView.d.ts +6 -0
- package/WebGPU/GPUTextureView.js +15 -0
- package/WebGPU/GPUTextureView.js.map +1 -0
- package/WebGPU/Interfaces.d.ts +246 -0
- package/WebGPU/Interfaces.js +2 -0
- package/WebGPU/Interfaces.js.map +1 -0
- package/WebGPU/Types.d.ts +47 -0
- package/WebGPU/Types.js +2 -0
- package/WebGPU/Types.js.map +1 -0
- package/WebGPU/Utils.d.ts +7 -0
- package/WebGPU/Utils.js +301 -0
- package/WebGPU/Utils.js.map +1 -0
- package/WebGPU/index.d.ts +28 -0
- package/WebGPU/index.js +29 -0
- package/WebGPU/index.js.map +1 -0
- package/angular/{esm2020 → esm2022}/index.mjs +5 -5
- package/angular/{fesm2015 → fesm2022}/nativescript-canvas-angular.mjs +4 -4
- package/angular/{fesm2015 → fesm2022}/nativescript-canvas-angular.mjs.map +1 -1
- package/angular/package.json +4 -10
- package/common.d.ts +0 -3
- package/common.js +1 -5
- package/common.js.map +1 -1
- package/helpers.js.map +1 -1
- package/index.d.ts +4 -2
- package/index.js +37 -3
- package/index.js.map +1 -1
- package/package.json +2 -5
- 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 +194 -56
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative.h +1 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/NSCMTLView.h +32 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +152 -151
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +2901 -411
- 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 +10901 -8099
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +259 -52
- 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 +259 -52
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Black.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Bold.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-ExtraBold.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-ExtraLight.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Light.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Medium.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Regular.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-SemiBold.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoMath-Regular.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Bold.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-BoldItalic.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Italic.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Medium.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-MediumItalic.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Regular.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-SemiBold.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-SemiBoldItalic.ttf +0 -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 +994 -663
- 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 +388 -112
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative.h +1 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/NSCMTLView.h +32 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +152 -151
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +2901 -411
- 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 +10901 -8099
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +259 -52
- 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 +259 -52
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +10901 -8099
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +259 -52
- 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 +259 -52
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +143 -33
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Black.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Bold.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-ExtraBold.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-ExtraLight.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Light.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Medium.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-Regular.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/Noto_Serif_CJK/NotoSerifTC-SemiBold.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoMath-Regular.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Bold.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-BoldItalic.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Italic.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Medium.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-MediumItalic.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-Regular.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-SemiBold.ttf +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/fonts/STIXTwoMath/STIXTwoText-SemiBoldItalic.ttf +0 -0
- 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 +993 -662
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +1037 -641
- package/platforms/ios/build.xcconfig +3 -1
- package/platforms/ios/src/NSOperationQueueWrapper.h +3 -1
- package/platforms/ios/src/NSOperationQueueWrapper.mm +41 -9
- package/platforms/ios/src/cpp/AsyncCallback.h +214 -0
- package/platforms/ios/src/cpp/Caches.h +69 -1
- package/platforms/ios/src/cpp/CanvasJSIModule.cpp +647 -1166
- package/platforms/ios/src/cpp/CanvasJSIModule.h +11 -1
- package/platforms/ios/src/cpp/Helpers.h +2 -129
- package/platforms/ios/src/cpp/ImageAssetImpl.cpp +600 -437
- package/platforms/ios/src/cpp/ImageAssetImpl.h +18 -10
- package/platforms/ios/src/cpp/ImageBitmapImpl.cpp +63 -6
- package/platforms/ios/src/cpp/ImageBitmapImpl.h +12 -4
- package/platforms/ios/src/cpp/JSIReadFileCallback.h +4 -4
- package/platforms/ios/src/cpp/NativeType.h +87 -0
- package/platforms/ios/src/cpp/ObjectWrapperImpl.h +50 -0
- package/platforms/ios/src/cpp/OneByteStringResource.cpp +2 -2
- package/platforms/ios/src/cpp/PromiseCallback.h +197 -0
- package/platforms/ios/src/cpp/RafImpl.h +2 -2
- package/platforms/ios/src/cpp/TextDecoderImpl.cpp +0 -6
- package/platforms/ios/src/cpp/TextDecoderImpl.h +3 -3
- package/platforms/ios/src/cpp/TextEncoderImpl.cpp +1 -1
- package/platforms/ios/src/cpp/TextEncoderImpl.h +3 -3
- package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +8 -7
- package/platforms/ios/src/cpp/canvas2d/CanvasPattern.cpp +1 -11
- package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +3 -3
- package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +193 -90
- package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +77 -23
- package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +5 -6
- package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +4 -4
- package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +409 -3
- package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +29 -2
- package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +6 -3
- package/platforms/ios/src/cpp/canvas2d/Path2D.h +7 -7
- package/platforms/ios/src/cpp/canvas2d/TextMetricsImpl.h +3 -3
- package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +1 -1
- package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +1 -1
- package/platforms/ios/src/cpp/webgl/WebGLProgram.h +3 -3
- package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +3 -3
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +247 -160
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +1 -1
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +6 -6
- package/platforms/ios/src/cpp/webgl/WebGLShader.h +1 -1
- package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +5 -5
- package/platforms/ios/src/cpp/webgl/WebGLTexture.h +3 -2
- package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +2 -2
- package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +2 -2
- package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +5 -5
- package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +2 -2
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +1067 -960
- package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +2 -2
- package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +371 -0
- package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.h +63 -0
- package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.cpp +174 -0
- package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.h +58 -0
- package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.cpp +79 -0
- package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.h +48 -0
- package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.cpp +79 -0
- package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.h +48 -0
- package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp +277 -0
- package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.h +63 -0
- package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.cpp +379 -0
- package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.h +57 -0
- package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.cpp +81 -0
- package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.h +48 -0
- package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +1217 -0
- package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h +73 -0
- package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.cpp +293 -0
- package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.h +65 -0
- package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.cpp +109 -0
- package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.h +51 -0
- package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +3701 -0
- package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h +97 -0
- package/platforms/ios/src/cpp/webgpu/GPUImpl.cpp +200 -0
- package/platforms/ios/src/cpp/webgpu/GPUImpl.h +55 -0
- package/platforms/ios/src/cpp/webgpu/GPULabel.h +33 -0
- package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.cpp +80 -0
- package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.h +49 -0
- package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.cpp +136 -0
- package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.h +55 -0
- package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +605 -0
- package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h +59 -0
- package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.cpp +501 -0
- package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.h +74 -0
- package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.cpp +78 -0
- package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.h +48 -0
- package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +723 -0
- package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +92 -0
- package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.cpp +109 -0
- package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.h +52 -0
- package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.cpp +79 -0
- package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.h +48 -0
- package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.cpp +80 -0
- package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.h +48 -0
- package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.cpp +1304 -0
- package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.h +288 -0
- package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.cpp +386 -0
- package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h +77 -0
- package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.cpp +79 -0
- package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.h +48 -0
- package/platforms/ios/src/cpp/webgpu/GPUUtils.h +756 -0
- package/react/index.d.ts +1 -1
- package/utils.d.ts +1 -1
- package/utils.js.map +1 -1
- package/SVG/Circle.d.ts +0 -11
- package/SVG/Circle.js +0 -21
- package/SVG/Circle.js.map +0 -1
- package/SVG/ClipPath.d.ts +0 -4
- package/SVG/ClipPath.js +0 -9
- package/SVG/ClipPath.js.map +0 -1
- package/SVG/Defs.d.ts +0 -4
- package/SVG/Defs.js +0 -9
- package/SVG/Defs.js.map +0 -1
- package/SVG/Ellipse.d.ts +0 -13
- package/SVG/Ellipse.js +0 -26
- package/SVG/Ellipse.js.map +0 -1
- package/SVG/G.d.ts +0 -7
- package/SVG/G.js +0 -9
- package/SVG/G.js.map +0 -1
- package/SVG/Image.d.ts +0 -11
- package/SVG/Image.js +0 -40
- package/SVG/Image.js.map +0 -1
- package/SVG/Line.d.ts +0 -13
- package/SVG/Line.js +0 -26
- package/SVG/Line.js.map +0 -1
- package/SVG/LinearGradient.d.ts +0 -10
- package/SVG/LinearGradient.js +0 -13
- package/SVG/LinearGradient.js.map +0 -1
- package/SVG/Path.d.ts +0 -7
- package/SVG/Path.js +0 -14
- package/SVG/Path.js.map +0 -1
- package/SVG/Pattern.d.ts +0 -4
- package/SVG/Pattern.js +0 -9
- package/SVG/Pattern.js.map +0 -1
- package/SVG/Polygon.d.ts +0 -7
- package/SVG/Polygon.js +0 -14
- package/SVG/Polygon.js.map +0 -1
- package/SVG/Polyline.d.ts +0 -7
- package/SVG/Polyline.js +0 -14
- package/SVG/Polyline.js.map +0 -1
- package/SVG/Rect.d.ts +0 -8
- package/SVG/Rect.js +0 -13
- package/SVG/Rect.js.map +0 -1
- package/SVG/SVG.d.ts +0 -32
- package/SVG/SVG.js +0 -204
- package/SVG/SVG.js.map +0 -1
- package/SVG/SVGItem.d.ts +0 -5
- package/SVG/SVGItem.js +0 -8
- package/SVG/SVGItem.js.map +0 -1
- package/SVG/Stop.d.ts +0 -5
- package/SVG/Stop.js +0 -9
- package/SVG/Stop.js.map +0 -1
- package/SVG/Symbol.d.ts +0 -4
- package/SVG/Symbol.js +0 -9
- package/SVG/Symbol.js.map +0 -1
- package/SVG/Text.d.ts +0 -14
- package/SVG/Text.js +0 -26
- package/SVG/Text.js.map +0 -1
- package/SVG/Use.d.ts +0 -4
- package/SVG/Use.js +0 -9
- package/SVG/Use.js.map +0 -1
- package/SVG/index.d.ts +0 -18
- package/SVG/index.js +0 -19
- package/SVG/index.js.map +0 -1
- package/angular/fesm2020/nativescript-canvas-angular.mjs +0 -24
- package/angular/fesm2020/nativescript-canvas-angular.mjs.map +0 -1
- package/platforms/ios/src/cpp/PerIsolateData.cpp +0 -49
- package/platforms/ios/src/cpp/PerIsolateData.h +0 -54
- package/platforms/ios/src/cpp/URLImpl.cpp +0 -464
- package/platforms/ios/src/cpp/URLImpl.h +0 -121
- package/typings/objc!CanvasNative.d.ts +0 -2038
- package/typings/objc!CanvasNative.js +0 -1
- package/typings/objc!CanvasNative.js.map +0 -1
- /package/angular/{esm2020 → esm2022}/nativescript-canvas-angular.mjs +0 -0
|
@@ -171,7 +171,7 @@ public:
|
|
|
171
171
|
v8::EscapableHandleScope scope(isolate);
|
|
172
172
|
auto object = CanvasRenderingContext2DImpl::GetCtor(isolate)->GetFunction(
|
|
173
173
|
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
174
|
-
SetNativeType(
|
|
174
|
+
SetNativeType(renderingContext, NativeType::CanvasRenderingContext2D);
|
|
175
175
|
object->SetAlignedPointerInInternalField(0, renderingContext);
|
|
176
176
|
renderingContext->BindFinalizer(isolate, object);
|
|
177
177
|
return scope.Escape(object);
|
|
@@ -503,9 +503,12 @@ public:
|
|
|
503
503
|
|
|
504
504
|
switch (rule) {
|
|
505
505
|
case 0:
|
|
506
|
+
canvas_native_context_clip_rule(
|
|
507
|
+
ptr->GetContext(), CanvasFillRuleNonZero);
|
|
508
|
+
break;
|
|
506
509
|
case 1:
|
|
507
510
|
canvas_native_context_clip_rule(
|
|
508
|
-
ptr->GetContext(),
|
|
511
|
+
ptr->GetContext(), CanvasFillRuleEvenOdd);
|
|
509
512
|
break;
|
|
510
513
|
default:
|
|
511
514
|
break;
|
|
@@ -521,7 +524,7 @@ public:
|
|
|
521
524
|
if (GetNativeType(path_obj) == NativeType::Path2D) {
|
|
522
525
|
auto path = Path2D::GetPointer(path_obj);
|
|
523
526
|
canvas_native_context_clip(
|
|
524
|
-
ptr->GetContext(), path->GetPath(),
|
|
527
|
+
ptr->GetContext(), path->GetPath(), CanvasFillRuleNonZero);
|
|
525
528
|
}
|
|
526
529
|
|
|
527
530
|
|
|
@@ -536,8 +539,18 @@ public:
|
|
|
536
539
|
|
|
537
540
|
if (GetNativeType(path_obj) == NativeType::Path2D) {
|
|
538
541
|
auto path = Path2D::GetPointer(path_obj);
|
|
539
|
-
|
|
540
|
-
|
|
542
|
+
switch (rule) {
|
|
543
|
+
case 0:
|
|
544
|
+
canvas_native_context_clip(
|
|
545
|
+
ptr->GetContext(), path->GetPath(), CanvasFillRuleNonZero);
|
|
546
|
+
break;
|
|
547
|
+
case 1:
|
|
548
|
+
canvas_native_context_clip(
|
|
549
|
+
ptr->GetContext(), path->GetPath(), CanvasFillRuleEvenOdd);
|
|
550
|
+
break;
|
|
551
|
+
default:
|
|
552
|
+
break;
|
|
553
|
+
}
|
|
541
554
|
}
|
|
542
555
|
|
|
543
556
|
}
|
|
@@ -623,7 +636,7 @@ public:
|
|
|
623
636
|
static void DrawImage(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
624
637
|
|
|
625
638
|
static void
|
|
626
|
-
DrawImageDxDyAssetImpl(CanvasRenderingContext2DImpl *ptr, ImageAsset *asset, double dx,
|
|
639
|
+
DrawImageDxDyAssetImpl(CanvasRenderingContext2DImpl *ptr, const ImageAsset *asset, double dx,
|
|
627
640
|
double dy) {
|
|
628
641
|
if (asset != nullptr) {
|
|
629
642
|
canvas_native_context_draw_image_dx_dy_asset(
|
|
@@ -677,7 +690,7 @@ public:
|
|
|
677
690
|
}
|
|
678
691
|
}
|
|
679
692
|
|
|
680
|
-
static void DrawImageDxDyDwDhAssetImpl(CanvasRenderingContext2DImpl *ptr, ImageAsset *asset,
|
|
693
|
+
static void DrawImageDxDyDwDhAssetImpl(CanvasRenderingContext2DImpl *ptr, const ImageAsset *asset,
|
|
681
694
|
double dx, double dy, double dw, double dh) {
|
|
682
695
|
|
|
683
696
|
|
|
@@ -770,7 +783,7 @@ public:
|
|
|
770
783
|
|
|
771
784
|
static void
|
|
772
785
|
DrawImageAssetImpl(CanvasRenderingContext2DImpl *ptr,
|
|
773
|
-
ImageAsset *asset, double sx,
|
|
786
|
+
const ImageAsset *asset, double sx,
|
|
774
787
|
double sy, double sw, double sh, double dx, double dy, double dw,
|
|
775
788
|
double dh) {
|
|
776
789
|
|
|
@@ -884,10 +897,23 @@ public:
|
|
|
884
897
|
auto object = Path2D::GetPointer(path);
|
|
885
898
|
|
|
886
899
|
if (object != nullptr) {
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
900
|
+
switch (rule) {
|
|
901
|
+
case 0:
|
|
902
|
+
canvas_native_context_fill_with_path(
|
|
903
|
+
ptr->GetContext(),
|
|
904
|
+
object->GetPath(),
|
|
905
|
+
CanvasFillRuleNonZero);
|
|
906
|
+
break;
|
|
907
|
+
case 1:
|
|
908
|
+
canvas_native_context_fill_with_path(
|
|
909
|
+
ptr->GetContext(),
|
|
910
|
+
object->GetPath(),
|
|
911
|
+
CanvasFillRuleEvenOdd);
|
|
912
|
+
break;
|
|
913
|
+
default:
|
|
914
|
+
break;
|
|
915
|
+
}
|
|
916
|
+
|
|
891
917
|
ptr->UpdateInvalidateState();
|
|
892
918
|
}
|
|
893
919
|
}
|
|
@@ -901,9 +927,10 @@ public:
|
|
|
901
927
|
|
|
902
928
|
auto object = Path2D::GetPointer(path);
|
|
903
929
|
|
|
930
|
+
|
|
904
931
|
canvas_native_context_fill_with_path(
|
|
905
932
|
ptr->GetContext(),
|
|
906
|
-
object->GetPath(),
|
|
933
|
+
object->GetPath(), CanvasFillRuleNonZero);
|
|
907
934
|
ptr->UpdateInvalidateState();
|
|
908
935
|
}
|
|
909
936
|
|
|
@@ -913,8 +940,21 @@ public:
|
|
|
913
940
|
return;
|
|
914
941
|
}
|
|
915
942
|
|
|
916
|
-
|
|
917
|
-
|
|
943
|
+
|
|
944
|
+
switch (rule) {
|
|
945
|
+
case 0:
|
|
946
|
+
canvas_native_context_fill(
|
|
947
|
+
ptr->GetContext(), CanvasFillRuleNonZero);
|
|
948
|
+
break;
|
|
949
|
+
case 1:
|
|
950
|
+
canvas_native_context_fill(
|
|
951
|
+
ptr->GetContext(), CanvasFillRuleEvenOdd);
|
|
952
|
+
break;
|
|
953
|
+
default:
|
|
954
|
+
break;
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
|
|
918
958
|
ptr->UpdateInvalidateState();
|
|
919
959
|
}
|
|
920
960
|
|
|
@@ -925,7 +965,7 @@ public:
|
|
|
925
965
|
}
|
|
926
966
|
|
|
927
967
|
canvas_native_context_fill(
|
|
928
|
-
ptr->GetContext(),
|
|
968
|
+
ptr->GetContext(), CanvasFillRuleNonZero);
|
|
929
969
|
ptr->UpdateInvalidateState();
|
|
930
970
|
}
|
|
931
971
|
|
|
@@ -986,7 +1026,8 @@ public:
|
|
|
986
1026
|
}
|
|
987
1027
|
|
|
988
1028
|
return canvas_native_context_is_point_in_path(
|
|
989
|
-
ptr->GetContext(), static_cast<float>(x), static_cast<float>(y),
|
|
1029
|
+
ptr->GetContext(), static_cast<float>(x), static_cast<float>(y),
|
|
1030
|
+
CanvasFillRuleNonZero);
|
|
990
1031
|
}
|
|
991
1032
|
|
|
992
1033
|
static bool
|
|
@@ -997,8 +1038,10 @@ public:
|
|
|
997
1038
|
return false;
|
|
998
1039
|
}
|
|
999
1040
|
|
|
1041
|
+
|
|
1000
1042
|
return canvas_native_context_is_point_in_path(
|
|
1001
|
-
ptr->GetContext(), static_cast<float>(x), static_cast<float>(y),
|
|
1043
|
+
ptr->GetContext(), static_cast<float>(x), static_cast<float>(y),
|
|
1044
|
+
rule == 0 ? CanvasFillRuleNonZero : CanvasFillRuleEvenOdd);
|
|
1002
1045
|
}
|
|
1003
1046
|
|
|
1004
1047
|
static bool
|
|
@@ -1018,10 +1061,22 @@ public:
|
|
|
1018
1061
|
if (type == NativeType::Path2D) {
|
|
1019
1062
|
auto path = Path2D::GetPointer(path_obj);
|
|
1020
1063
|
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1064
|
+
switch (rule) {
|
|
1065
|
+
case 0:
|
|
1066
|
+
|
|
1067
|
+
ret = canvas_native_context_is_point_in_path_with_path(
|
|
1068
|
+
ptr->GetContext(),
|
|
1069
|
+
path->GetPath(), (float) x, (float) y, CanvasFillRuleNonZero);
|
|
1070
|
+
break;
|
|
1071
|
+
case 1:
|
|
1072
|
+
|
|
1073
|
+
ret = canvas_native_context_is_point_in_path_with_path(
|
|
1074
|
+
ptr->GetContext(),
|
|
1075
|
+
path->GetPath(), (float) x, (float) y, CanvasFillRuleEvenOdd);
|
|
1076
|
+
break;
|
|
1077
|
+
default:
|
|
1078
|
+
break;
|
|
1079
|
+
}
|
|
1025
1080
|
|
|
1026
1081
|
}
|
|
1027
1082
|
return ret;
|
|
@@ -1398,7 +1453,6 @@ public:
|
|
|
1398
1453
|
static void StrokeText(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
1399
1454
|
|
|
1400
1455
|
|
|
1401
|
-
|
|
1402
1456
|
static void StrokeOval(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
1403
1457
|
|
|
1404
1458
|
|
|
@@ -23,9 +23,9 @@ public:
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
~ImageDataBuffer() {
|
|
26
|
-
|
|
26
|
+
canvas_native_u8_buffer_release(slice_);
|
|
27
27
|
slice_ = nullptr;
|
|
28
|
-
|
|
28
|
+
canvas_native_image_data_release(imageData_);
|
|
29
29
|
imageData_ = nullptr;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -115,7 +115,7 @@ void ImageDataImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
|
115
115
|
|
|
116
116
|
object->BindFinalizer(isolate, ret);
|
|
117
117
|
|
|
118
|
-
SetNativeType(
|
|
118
|
+
SetNativeType(object, NativeType::ImageData);
|
|
119
119
|
|
|
120
120
|
args.GetReturnValue().Set(ret);
|
|
121
121
|
return;
|
|
@@ -136,7 +136,7 @@ void ImageDataImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
|
136
136
|
|
|
137
137
|
ret->SetAlignedPointerInInternalField(0, object);
|
|
138
138
|
|
|
139
|
-
SetNativeType(
|
|
139
|
+
SetNativeType(object, NativeType::ImageData);
|
|
140
140
|
|
|
141
141
|
object->BindFinalizer(isolate, ret);
|
|
142
142
|
|
|
@@ -181,8 +181,7 @@ ImageDataImpl::GetData(v8::Local<v8::Name> name,
|
|
|
181
181
|
if (ptr != nullptr) {
|
|
182
182
|
auto isolate = info.GetIsolate();
|
|
183
183
|
|
|
184
|
-
auto data = new ImageDataBuffer(
|
|
185
|
-
canvas_native_image_data_get_shared_instance(ptr->GetImageData()));
|
|
184
|
+
auto data = new ImageDataBuffer(ptr->GetImageData());
|
|
186
185
|
|
|
187
186
|
auto length = data->size();
|
|
188
187
|
auto store = v8::ArrayBuffer::NewBackingStore(data->data(), length,
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
#include "Common.h"
|
|
9
9
|
#include "ObjectWrapperImpl.h"
|
|
10
10
|
|
|
11
|
-
class ImageDataImpl: ObjectWrapperImpl {
|
|
11
|
+
class ImageDataImpl : public ObjectWrapperImpl {
|
|
12
12
|
public:
|
|
13
|
-
ImageDataImpl(ImageData* imageData);
|
|
14
|
-
|
|
13
|
+
explicit ImageDataImpl(ImageData* imageData);
|
|
14
|
+
|
|
15
15
|
~ImageDataImpl(){
|
|
16
|
-
|
|
16
|
+
canvas_native_image_data_release(this->GetImageData());
|
|
17
17
|
this->imageData_ = nullptr;
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -183,6 +183,71 @@ v8::Local<v8::FunctionTemplate> MatrixImpl::GetCtor(v8::Isolate *isolate) {
|
|
|
183
183
|
);
|
|
184
184
|
|
|
185
185
|
|
|
186
|
+
tmpl->Set(
|
|
187
|
+
ConvertToV8String(isolate, "translate"),
|
|
188
|
+
v8::FunctionTemplate::New(isolate, Translate)
|
|
189
|
+
);
|
|
190
|
+
|
|
191
|
+
tmpl->Set(
|
|
192
|
+
ConvertToV8String(isolate, "translateSelf"),
|
|
193
|
+
v8::FunctionTemplate::New(isolate, TranslateSelf)
|
|
194
|
+
);
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
tmpl->Set(
|
|
198
|
+
ConvertToV8String(isolate, "multiplySelf"),
|
|
199
|
+
v8::FunctionTemplate::New(isolate, MultiplySelf)
|
|
200
|
+
);
|
|
201
|
+
|
|
202
|
+
tmpl->Set(
|
|
203
|
+
ConvertToV8String(isolate, "premultiplySelf"),
|
|
204
|
+
v8::FunctionTemplate::New(isolate, PremultiplySelf)
|
|
205
|
+
);
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
tmpl->Set(
|
|
209
|
+
ConvertToV8String(isolate, "scaleNonUniform"),
|
|
210
|
+
v8::FunctionTemplate::New(isolate, ScaleNonUniform)
|
|
211
|
+
);
|
|
212
|
+
|
|
213
|
+
tmpl->Set(
|
|
214
|
+
ConvertToV8String(isolate, "scaleNonUniformSelf"),
|
|
215
|
+
v8::FunctionTemplate::New(isolate, ScaleNonUniformSelf)
|
|
216
|
+
);
|
|
217
|
+
|
|
218
|
+
tmpl->Set(
|
|
219
|
+
ConvertToV8String(isolate, "rotate"),
|
|
220
|
+
v8::FunctionTemplate::New(isolate, Rotate)
|
|
221
|
+
);
|
|
222
|
+
|
|
223
|
+
tmpl->Set(
|
|
224
|
+
ConvertToV8String(isolate, "rotateSelf"),
|
|
225
|
+
v8::FunctionTemplate::New(isolate, RotateSelf)
|
|
226
|
+
);
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
tmpl->Set(
|
|
230
|
+
ConvertToV8String(isolate, "skewX"),
|
|
231
|
+
v8::FunctionTemplate::New(isolate, SkewX)
|
|
232
|
+
);
|
|
233
|
+
|
|
234
|
+
tmpl->Set(
|
|
235
|
+
ConvertToV8String(isolate, "skewXSelf"),
|
|
236
|
+
v8::FunctionTemplate::New(isolate, SkewXSelf)
|
|
237
|
+
);
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
tmpl->Set(
|
|
241
|
+
ConvertToV8String(isolate, "skewY"),
|
|
242
|
+
v8::FunctionTemplate::New(isolate, SkewY)
|
|
243
|
+
);
|
|
244
|
+
|
|
245
|
+
tmpl->Set(
|
|
246
|
+
ConvertToV8String(isolate, "skewYSelf"),
|
|
247
|
+
v8::FunctionTemplate::New(isolate, SkewYSelf)
|
|
248
|
+
);
|
|
249
|
+
|
|
250
|
+
|
|
186
251
|
cache->MatrixTmpl =
|
|
187
252
|
std::make_unique<v8::Persistent<v8::FunctionTemplate>>(isolate, ctorTmpl);
|
|
188
253
|
return ctorTmpl;
|
|
@@ -216,7 +281,7 @@ void MatrixImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
|
216
281
|
|
|
217
282
|
ret->SetAlignedPointerInInternalField(0, object);
|
|
218
283
|
|
|
219
|
-
SetNativeType(
|
|
284
|
+
SetNativeType(object, NativeType::Matrix);
|
|
220
285
|
|
|
221
286
|
object->BindFinalizer(isolate, ret);
|
|
222
287
|
|
|
@@ -242,7 +307,7 @@ void MatrixImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
|
242
307
|
|
|
243
308
|
ret->SetAlignedPointerInInternalField(0, object);
|
|
244
309
|
|
|
245
|
-
SetNativeType(
|
|
310
|
+
SetNativeType(object, NativeType::Matrix);
|
|
246
311
|
|
|
247
312
|
object->BindFinalizer(isolate, ret);
|
|
248
313
|
|
|
@@ -257,7 +322,7 @@ void MatrixImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
|
257
322
|
|
|
258
323
|
ret->SetAlignedPointerInInternalField(0, object);
|
|
259
324
|
|
|
260
|
-
SetNativeType(
|
|
325
|
+
SetNativeType(object, NativeType::Matrix);
|
|
261
326
|
|
|
262
327
|
object->BindFinalizer(isolate, ret);
|
|
263
328
|
|
|
@@ -802,6 +867,347 @@ void MatrixImpl::SetM44(v8::Local<v8::String> property,
|
|
|
802
867
|
canvas_native_matrix_set_m44(ptr->GetMatrix(), (float) value->NumberValue(context).ToChecked());
|
|
803
868
|
}
|
|
804
869
|
|
|
870
|
+
|
|
871
|
+
void MatrixImpl::Translate(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
872
|
+
auto count = args.Length();
|
|
873
|
+
auto isolate = args.GetIsolate();
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
if (count >= 3) {
|
|
877
|
+
auto context = isolate->GetCurrentContext();
|
|
878
|
+
auto x = args[0];
|
|
879
|
+
auto y = args[1];
|
|
880
|
+
auto value = args[2];
|
|
881
|
+
auto type = GetNativeType(value);
|
|
882
|
+
if (type == NativeType::Matrix) {
|
|
883
|
+
auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
|
|
884
|
+
auto matrix = canvas_native_matrix_translate(
|
|
885
|
+
(float) x->NumberValue(context).ToChecked(),
|
|
886
|
+
(float) y->NumberValue(context).ToChecked(),
|
|
887
|
+
ptr->GetMatrix());
|
|
888
|
+
if (matrix == nullptr) {
|
|
889
|
+
args.GetReturnValue().SetUndefined();
|
|
890
|
+
return;
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
|
|
894
|
+
auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
|
|
895
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
896
|
+
auto object = new MatrixImpl(matrix);
|
|
897
|
+
|
|
898
|
+
ret->SetAlignedPointerInInternalField(0, object);
|
|
899
|
+
|
|
900
|
+
SetNativeType(object, NativeType::Matrix);
|
|
901
|
+
|
|
902
|
+
object->BindFinalizer(isolate, ret);
|
|
903
|
+
|
|
904
|
+
args.GetReturnValue().Set(ret);
|
|
905
|
+
return;
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
args.GetReturnValue().SetUndefined();
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
void MatrixImpl::TranslateSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
913
|
+
auto count = args.Length();
|
|
914
|
+
auto isolate = args.GetIsolate();
|
|
915
|
+
|
|
916
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
917
|
+
|
|
918
|
+
if (count >= 2) {
|
|
919
|
+
auto context = isolate->GetCurrentContext();
|
|
920
|
+
auto x = args[0];
|
|
921
|
+
auto y = args[1];
|
|
922
|
+
|
|
923
|
+
canvas_native_matrix_translate_self(ptr->GetMatrix(),
|
|
924
|
+
(float) x->NumberValue(context).ToChecked(),
|
|
925
|
+
(float) y->NumberValue(context).ToChecked());
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
void MatrixImpl::MultiplySelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
930
|
+
auto count = args.Length();
|
|
931
|
+
auto isolate = args.GetIsolate();
|
|
932
|
+
|
|
933
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
934
|
+
|
|
935
|
+
if (count >= 1) {
|
|
936
|
+
auto context = isolate->GetCurrentContext();
|
|
937
|
+
auto value = args[0];
|
|
938
|
+
auto type = GetNativeType(value);
|
|
939
|
+
if (type == NativeType::Matrix) {
|
|
940
|
+
auto matrix = GetPointer(value.As<v8::Object>());
|
|
941
|
+
canvas_native_matrix_multiply_self(ptr->GetMatrix(), matrix->GetMatrix());
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
void MatrixImpl::PremultiplySelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
947
|
+
auto count = args.Length();
|
|
948
|
+
auto isolate = args.GetIsolate();
|
|
949
|
+
|
|
950
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
951
|
+
|
|
952
|
+
if (count >= 1) {
|
|
953
|
+
auto context = isolate->GetCurrentContext();
|
|
954
|
+
auto value = args[0];
|
|
955
|
+
auto type = GetNativeType(value);
|
|
956
|
+
if (type == NativeType::Matrix) {
|
|
957
|
+
auto matrix = GetPointer(value.As<v8::Object>());
|
|
958
|
+
canvas_native_matrix_premultiply_self(ptr->GetMatrix(), matrix->GetMatrix());
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
void MatrixImpl::ScaleNonUniform(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
964
|
+
auto count = args.Length();
|
|
965
|
+
auto isolate = args.GetIsolate();
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
if (count >= 3) {
|
|
969
|
+
auto context = isolate->GetCurrentContext();
|
|
970
|
+
auto sx = args[0];
|
|
971
|
+
auto sy = args[1];
|
|
972
|
+
auto value = args[2];
|
|
973
|
+
auto type = GetNativeType(value);
|
|
974
|
+
if (type == NativeType::Matrix) {
|
|
975
|
+
auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
|
|
976
|
+
auto matrix = canvas_native_matrix_scale_non_uniform(
|
|
977
|
+
(float) sx->NumberValue(context).ToChecked(),
|
|
978
|
+
(float) sy->NumberValue(context).ToChecked(),
|
|
979
|
+
ptr->GetMatrix());
|
|
980
|
+
if (matrix == nullptr) {
|
|
981
|
+
args.GetReturnValue().SetUndefined();
|
|
982
|
+
return;
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
|
|
986
|
+
auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
|
|
987
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
988
|
+
auto object = new MatrixImpl(matrix);
|
|
989
|
+
|
|
990
|
+
ret->SetAlignedPointerInInternalField(0, object);
|
|
991
|
+
|
|
992
|
+
SetNativeType(object, NativeType::Matrix);
|
|
993
|
+
|
|
994
|
+
object->BindFinalizer(isolate, ret);
|
|
995
|
+
|
|
996
|
+
args.GetReturnValue().Set(ret);
|
|
997
|
+
return;
|
|
998
|
+
}
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
args.GetReturnValue().SetUndefined();
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
void MatrixImpl::ScaleNonUniformSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1005
|
+
auto count = args.Length();
|
|
1006
|
+
auto isolate = args.GetIsolate();
|
|
1007
|
+
|
|
1008
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
1009
|
+
|
|
1010
|
+
if (count >= 2) {
|
|
1011
|
+
auto context = isolate->GetCurrentContext();
|
|
1012
|
+
auto x = args[0];
|
|
1013
|
+
auto y = args[1];
|
|
1014
|
+
canvas_native_matrix_scale_non_uniform_self(ptr->GetMatrix(),
|
|
1015
|
+
(float) x->NumberValue(context).ToChecked(),
|
|
1016
|
+
(float) y->NumberValue(context).ToChecked());
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
void MatrixImpl::Rotate(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1021
|
+
auto count = args.Length();
|
|
1022
|
+
auto isolate = args.GetIsolate();
|
|
1023
|
+
|
|
1024
|
+
|
|
1025
|
+
if (count >= 4) {
|
|
1026
|
+
auto context = isolate->GetCurrentContext();
|
|
1027
|
+
auto angle = args[0];
|
|
1028
|
+
auto cx = args[1];
|
|
1029
|
+
auto cy = args[2];
|
|
1030
|
+
auto value = args[3];
|
|
1031
|
+
auto type = GetNativeType(value);
|
|
1032
|
+
if (type == NativeType::Matrix) {
|
|
1033
|
+
auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
|
|
1034
|
+
auto matrix = canvas_native_matrix_rotate(
|
|
1035
|
+
(float) angle->NumberValue(context).ToChecked(),
|
|
1036
|
+
(float) cx->NumberValue(context).ToChecked(),
|
|
1037
|
+
(float) cy->NumberValue(context).ToChecked(),
|
|
1038
|
+
ptr->GetMatrix());
|
|
1039
|
+
if (matrix == nullptr) {
|
|
1040
|
+
args.GetReturnValue().SetUndefined();
|
|
1041
|
+
return;
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
|
|
1045
|
+
auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
|
|
1046
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
1047
|
+
auto object = new MatrixImpl(matrix);
|
|
1048
|
+
|
|
1049
|
+
ret->SetAlignedPointerInInternalField(0, object);
|
|
1050
|
+
|
|
1051
|
+
SetNativeType(object, NativeType::Matrix);
|
|
1052
|
+
|
|
1053
|
+
object->BindFinalizer(isolate, ret);
|
|
1054
|
+
|
|
1055
|
+
args.GetReturnValue().Set(ret);
|
|
1056
|
+
return;
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
args.GetReturnValue().SetUndefined();
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
void MatrixImpl::RotateSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1064
|
+
auto count = args.Length();
|
|
1065
|
+
auto isolate = args.GetIsolate();
|
|
1066
|
+
|
|
1067
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
1068
|
+
|
|
1069
|
+
if (count >= 2) {
|
|
1070
|
+
auto context = isolate->GetCurrentContext();
|
|
1071
|
+
auto angle = args[0];
|
|
1072
|
+
auto cx = args[1];
|
|
1073
|
+
auto cy = args[2];
|
|
1074
|
+
canvas_native_matrix_rotate_self(ptr->GetMatrix(),
|
|
1075
|
+
(float) angle->NumberValue(context).ToChecked(),
|
|
1076
|
+
(float) cx->NumberValue(context).ToChecked(),
|
|
1077
|
+
(float) cy->NumberValue(context).ToChecked());
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
void MatrixImpl::SkewX(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1082
|
+
auto count = args.Length();
|
|
1083
|
+
auto isolate = args.GetIsolate();
|
|
1084
|
+
|
|
1085
|
+
|
|
1086
|
+
if (count >= 2) {
|
|
1087
|
+
auto context = isolate->GetCurrentContext();
|
|
1088
|
+
auto angle = args[0];
|
|
1089
|
+
auto value = args[1];
|
|
1090
|
+
auto type = GetNativeType(value);
|
|
1091
|
+
if (type == NativeType::Matrix) {
|
|
1092
|
+
auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
|
|
1093
|
+
auto matrix = canvas_native_matrix_skew_x(
|
|
1094
|
+
(float) angle->NumberValue(context).ToChecked(),
|
|
1095
|
+
ptr->GetMatrix());
|
|
1096
|
+
if (matrix == nullptr) {
|
|
1097
|
+
args.GetReturnValue().SetUndefined();
|
|
1098
|
+
return;
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
|
|
1103
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
1104
|
+
auto object = new MatrixImpl(matrix);
|
|
1105
|
+
|
|
1106
|
+
ret->SetAlignedPointerInInternalField(0, object);
|
|
1107
|
+
|
|
1108
|
+
SetNativeType(object, NativeType::Matrix);
|
|
1109
|
+
|
|
1110
|
+
object->BindFinalizer(isolate, ret);
|
|
1111
|
+
|
|
1112
|
+
args.GetReturnValue().Set(ret);
|
|
1113
|
+
return;
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1116
|
+
|
|
1117
|
+
args.GetReturnValue().SetUndefined();
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
void MatrixImpl::SkewXSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1121
|
+
auto count = args.Length();
|
|
1122
|
+
auto isolate = args.GetIsolate();
|
|
1123
|
+
|
|
1124
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
1125
|
+
|
|
1126
|
+
if (count >= 1) {
|
|
1127
|
+
auto context = isolate->GetCurrentContext();
|
|
1128
|
+
auto angle = args[0];
|
|
1129
|
+
canvas_native_matrix_skew_x_self(ptr->GetMatrix(),
|
|
1130
|
+
(float) angle->NumberValue(context).ToChecked());
|
|
1131
|
+
}
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
void MatrixImpl::SkewY(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1135
|
+
auto count = args.Length();
|
|
1136
|
+
auto isolate = args.GetIsolate();
|
|
1137
|
+
|
|
1138
|
+
|
|
1139
|
+
if (count >= 2) {
|
|
1140
|
+
auto context = isolate->GetCurrentContext();
|
|
1141
|
+
auto angle = args[0];
|
|
1142
|
+
auto value = args[1];
|
|
1143
|
+
auto type = GetNativeType(value);
|
|
1144
|
+
if (type == NativeType::Matrix) {
|
|
1145
|
+
auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
|
|
1146
|
+
auto matrix = canvas_native_matrix_skew_y(
|
|
1147
|
+
(float) angle->NumberValue(context).ToChecked(),
|
|
1148
|
+
ptr->GetMatrix());
|
|
1149
|
+
if (matrix == nullptr) {
|
|
1150
|
+
args.GetReturnValue().SetUndefined();
|
|
1151
|
+
return;
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
|
|
1155
|
+
auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
|
|
1156
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
1157
|
+
auto object = new MatrixImpl(matrix);
|
|
1158
|
+
|
|
1159
|
+
ret->SetAlignedPointerInInternalField(0, object);
|
|
1160
|
+
|
|
1161
|
+
SetNativeType(object, NativeType::Matrix);
|
|
1162
|
+
|
|
1163
|
+
object->BindFinalizer(isolate, ret);
|
|
1164
|
+
|
|
1165
|
+
args.GetReturnValue().Set(ret);
|
|
1166
|
+
return;
|
|
1167
|
+
}
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
args.GetReturnValue().SetUndefined();
|
|
1171
|
+
}
|
|
1172
|
+
|
|
1173
|
+
void MatrixImpl::SkewYSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1174
|
+
auto count = args.Length();
|
|
1175
|
+
auto isolate = args.GetIsolate();
|
|
1176
|
+
|
|
1177
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
1178
|
+
|
|
1179
|
+
if (count >= 1) {
|
|
1180
|
+
auto context = isolate->GetCurrentContext();
|
|
1181
|
+
auto angle = args[0];
|
|
1182
|
+
canvas_native_matrix_skew_y_self(ptr->GetMatrix(),
|
|
1183
|
+
(float) angle->NumberValue(context).ToChecked());
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
void MatrixImpl::Clone(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1188
|
+
auto isolate = args.GetIsolate();
|
|
1189
|
+
auto context = isolate->GetCurrentContext();
|
|
1190
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
1191
|
+
|
|
1192
|
+
auto matrix = canvas_native_matrix_clone(ptr->GetMatrix());
|
|
1193
|
+
|
|
1194
|
+
|
|
1195
|
+
auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
|
|
1196
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
1197
|
+
auto object = new MatrixImpl(matrix);
|
|
1198
|
+
|
|
1199
|
+
ret->SetAlignedPointerInInternalField(0, object);
|
|
1200
|
+
|
|
1201
|
+
SetNativeType(object, NativeType::Matrix);
|
|
1202
|
+
|
|
1203
|
+
object->BindFinalizer(isolate, ret);
|
|
1204
|
+
|
|
1205
|
+
args.GetReturnValue().Set(ret);
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
|
|
805
1209
|
Matrix *MatrixImpl::GetMatrix() {
|
|
806
1210
|
return this->matrix_;
|
|
807
1211
|
}
|
|
1212
|
+
|
|
1213
|
+
|