rngine 0.8.0 → 0.8.2
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/README.md +50 -25
- package/android/CMakeLists.txt +45 -2
- package/android/build.gradle +1 -3
- package/android/kls_database.db +0 -0
- package/android/src/main/cpp/game-view.cpp +29 -0
- package/android/src/main/java/com/margelo/nitro/rngine/GameEngine.kt +1 -28
- package/android/src/main/java/com/margelo/nitro/rngine/GameView.kt +22 -166
- package/android/src/main/java/com/margelo/nitro/rngine/SvgLoaderHelper.kt +24 -0
- package/lib/module/GameMethods.js +44 -0
- package/lib/module/GameMethods.js.map +1 -1
- package/lib/module/GameMethods.nitro.js.map +1 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/GameMethods.d.ts +1 -0
- package/lib/typescript/src/GameMethods.d.ts.map +1 -1
- package/lib/typescript/src/GameMethods.nitro.d.ts +3 -0
- package/lib/typescript/src/GameMethods.nitro.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +0 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/nativeTypes.d.ts +6 -0
- package/lib/typescript/src/nativeTypes.d.ts.map +1 -1
- package/nitro.json +0 -10
- package/nitrogen/generated/android/rngine+autolinking.cmake +0 -2
- package/nitrogen/generated/android/rngineOnLoad.cpp +0 -16
- package/nitrogen/generated/ios/Rngine-Swift-Cxx-Bridge.cpp +0 -33
- package/nitrogen/generated/ios/Rngine-Swift-Cxx-Bridge.hpp +0 -96
- package/nitrogen/generated/ios/Rngine-Swift-Cxx-Umbrella.hpp +0 -9
- package/nitrogen/generated/ios/RngineAutolinking.mm +0 -8
- package/nitrogen/generated/ios/RngineAutolinking.swift +0 -12
- package/nitrogen/generated/shared/c++/Entity.hpp +13 -1
- package/nitrogen/generated/shared/c++/EntityUpdate.hpp +13 -1
- package/nitrogen/generated/shared/c++/HybridGameMethodsSpec.cpp +3 -0
- package/nitrogen/generated/shared/c++/HybridGameMethodsSpec.hpp +4 -0
- package/nitrogen/generated/shared/c++/Screen.hpp +14 -2
- package/package.json +4 -1
- package/shared/CollisionUtils.hpp +1 -6
- package/{android/src/main/cpp/ColorUtils.hpp → shared/ColorUtils.cpp} +8 -12
- package/shared/ColorUtils.hpp +7 -0
- package/shared/GameLoop.cpp +45 -27
- package/shared/GameLoop.hpp +1 -11
- package/shared/GameMethods.cpp +103 -6
- package/shared/GameMethods.hpp +17 -0
- package/shared/GameRenderer.cpp +431 -0
- package/shared/GameRenderer.hpp +65 -0
- package/shared/GameStats.hpp +3 -3
- package/shared/Overlap.hpp +9 -0
- package/shared/skia/include/android/AHardwareBufferUtils.h +26 -0
- package/shared/skia/include/android/GrAHardwareBufferUtils.h +97 -0
- package/shared/skia/include/android/SkAndroidFrameworkUtils.h +83 -0
- package/shared/skia/include/android/SkAnimatedImage.h +193 -0
- package/shared/skia/include/android/SkCanvasAndroid.h +20 -0
- package/shared/skia/include/android/SkImageAndroid.h +100 -0
- package/shared/skia/include/android/SkSurfaceAndroid.h +50 -0
- package/shared/skia/include/android/graphite/SurfaceAndroid.h +59 -0
- package/shared/skia/include/android/vk/AndroidVulkanMemoryAllocator.h +31 -0
- package/shared/skia/include/codec/SkAndroidCodec.h +302 -0
- package/shared/skia/include/codec/SkAvifDecoder.h +80 -0
- package/shared/skia/include/codec/SkBmpDecoder.h +44 -0
- package/shared/skia/include/codec/SkBmpRustDecoder.h +42 -0
- package/shared/skia/include/codec/SkCodec.h +1178 -0
- package/shared/skia/include/codec/SkCodecAnimation.h +61 -0
- package/shared/skia/include/codec/SkEncodedImageFormat.h +33 -0
- package/shared/skia/include/codec/SkEncodedOrigin.h +71 -0
- package/shared/skia/include/codec/SkGifDecoder.h +44 -0
- package/shared/skia/include/codec/SkIcoDecoder.h +44 -0
- package/shared/skia/include/codec/SkJpegDecoder.h +51 -0
- package/shared/skia/include/codec/SkJpegxlDecoder.h +44 -0
- package/shared/skia/include/codec/SkPixmapUtils.h +31 -0
- package/shared/skia/include/codec/SkPngChunkReader.h +45 -0
- package/shared/skia/include/codec/SkPngDecoder.h +51 -0
- package/shared/skia/include/codec/SkPngRustDecoder.h +30 -0
- package/shared/skia/include/codec/SkRawDecoder.h +50 -0
- package/shared/skia/include/codec/SkWbmpDecoder.h +44 -0
- package/shared/skia/include/codec/SkWebpDecoder.h +51 -0
- package/shared/skia/include/config/SkUserConfig.h +141 -0
- package/shared/skia/include/core/SkAlphaType.h +45 -0
- package/shared/skia/include/core/SkAnnotation.h +52 -0
- package/shared/skia/include/core/SkArc.h +69 -0
- package/shared/skia/include/core/SkBBHFactory.h +67 -0
- package/shared/skia/include/core/SkBitmap.h +1264 -0
- package/shared/skia/include/core/SkBlendMode.h +112 -0
- package/shared/skia/include/core/SkBlender.h +30 -0
- package/shared/skia/include/core/SkBlurTypes.h +20 -0
- package/shared/skia/include/core/SkCPUContext.h +31 -0
- package/shared/skia/include/core/SkCPURecorder.h +76 -0
- package/shared/skia/include/core/SkCanvas.h +2770 -0
- package/shared/skia/include/core/SkCanvasVirtualEnforcer.h +61 -0
- package/shared/skia/include/core/SkCapabilities.h +35 -0
- package/shared/skia/include/core/SkClipOp.h +19 -0
- package/shared/skia/include/core/SkColor.h +469 -0
- package/shared/skia/include/core/SkColorFilter.h +150 -0
- package/shared/skia/include/core/SkColorSpace.h +432 -0
- package/shared/skia/include/core/SkColorTable.h +62 -0
- package/shared/skia/include/core/SkColorType.h +159 -0
- package/shared/skia/include/core/SkContourMeasure.h +215 -0
- package/shared/skia/include/core/SkCoverageMode.h +28 -0
- package/shared/skia/include/core/SkCubicMap.h +47 -0
- package/shared/skia/include/core/SkData.h +225 -0
- package/shared/skia/include/core/SkDataTable.h +122 -0
- package/shared/skia/include/core/SkDocument.h +93 -0
- package/shared/skia/include/core/SkDrawable.h +178 -0
- package/shared/skia/include/core/SkExecutor.h +59 -0
- package/shared/skia/include/core/SkFlattenable.h +115 -0
- package/shared/skia/include/core/SkFont.h +536 -0
- package/shared/skia/include/core/SkFontArguments.h +116 -0
- package/shared/skia/include/core/SkFontMetrics.h +139 -0
- package/shared/skia/include/core/SkFontMgr.h +178 -0
- package/shared/skia/include/core/SkFontParameters.h +43 -0
- package/shared/skia/include/core/SkFontScanner.h +45 -0
- package/shared/skia/include/core/SkFontStyle.h +84 -0
- package/shared/skia/include/core/SkFontTypes.h +25 -0
- package/shared/skia/include/core/SkFourByteTag.h +19 -0
- package/shared/skia/include/core/SkGraphics.h +169 -0
- package/shared/skia/include/core/SkImage.h +918 -0
- package/shared/skia/include/core/SkImageFilter.h +119 -0
- package/shared/skia/include/core/SkImageGenerator.h +140 -0
- package/shared/skia/include/core/SkImageInfo.h +634 -0
- package/shared/skia/include/core/SkM44.h +442 -0
- package/shared/skia/include/core/SkMallocPixelRef.h +45 -0
- package/shared/skia/include/core/SkMaskFilter.h +45 -0
- package/shared/skia/include/core/SkMatrix.h +1887 -0
- package/shared/skia/include/core/SkMesh.h +429 -0
- package/shared/skia/include/core/SkMilestone.h +9 -0
- package/shared/skia/include/core/SkOpenTypeSVGDecoder.h +30 -0
- package/shared/skia/include/core/SkOverdrawCanvas.h +94 -0
- package/shared/skia/include/core/SkPaint.h +698 -0
- package/shared/skia/include/core/SkPath.h +1145 -0
- package/shared/skia/include/core/SkPathBuilder.h +1052 -0
- package/shared/skia/include/core/SkPathEffect.h +88 -0
- package/shared/skia/include/core/SkPathIter.h +90 -0
- package/shared/skia/include/core/SkPathMeasure.h +96 -0
- package/shared/skia/include/core/SkPathTypes.h +71 -0
- package/shared/skia/include/core/SkPathUtils.h +39 -0
- package/shared/skia/include/core/SkPicture.h +291 -0
- package/shared/skia/include/core/SkPictureRecorder.h +115 -0
- package/shared/skia/include/core/SkPixelRef.h +120 -0
- package/shared/skia/include/core/SkPixmap.h +736 -0
- package/shared/skia/include/core/SkPoint.h +560 -0
- package/shared/skia/include/core/SkPoint3.h +149 -0
- package/shared/skia/include/core/SkRRect.h +548 -0
- package/shared/skia/include/core/SkRSXform.h +71 -0
- package/shared/skia/include/core/SkRasterHandleAllocator.h +94 -0
- package/shared/skia/include/core/SkRecorder.h +49 -0
- package/shared/skia/include/core/SkRect.h +1419 -0
- package/shared/skia/include/core/SkRefCnt.h +391 -0
- package/shared/skia/include/core/SkRegion.h +701 -0
- package/shared/skia/include/core/SkSamplingOptions.h +107 -0
- package/shared/skia/include/core/SkScalar.h +148 -0
- package/shared/skia/include/core/SkSerialProcs.h +127 -0
- package/shared/skia/include/core/SkShader.h +123 -0
- package/shared/skia/include/core/SkSize.h +93 -0
- package/shared/skia/include/core/SkSpan.h +174 -0
- package/shared/skia/include/core/SkStream.h +524 -0
- package/shared/skia/include/core/SkStrikeRef.h +96 -0
- package/shared/skia/include/core/SkString.h +297 -0
- package/shared/skia/include/core/SkStrokeRec.h +160 -0
- package/shared/skia/include/core/SkSurface.h +689 -0
- package/shared/skia/include/core/SkSurfaceProps.h +122 -0
- package/shared/skia/include/core/SkSwizzle.h +21 -0
- package/shared/skia/include/core/SkTextBlob.h +541 -0
- package/shared/skia/include/core/SkTextureCompressionType.h +30 -0
- package/shared/skia/include/core/SkTileMode.h +41 -0
- package/shared/skia/include/core/SkTiledImageUtils.h +125 -0
- package/shared/skia/include/core/SkTraceMemoryDump.h +121 -0
- package/shared/skia/include/core/SkTypeface.h +468 -0
- package/shared/skia/include/core/SkTypes.h +193 -0
- package/shared/skia/include/core/SkUnPreMultiply.h +55 -0
- package/shared/skia/include/core/SkVertices.h +136 -0
- package/shared/skia/include/core/SkYUVAInfo.h +311 -0
- package/shared/skia/include/core/SkYUVAPixmaps.h +335 -0
- package/shared/skia/include/docs/SkMultiPictureDocument.h +53 -0
- package/shared/skia/include/docs/SkPDFDocument.h +277 -0
- package/shared/skia/include/docs/SkPDFJpegHelpers.h +41 -0
- package/shared/skia/include/docs/SkXPSDocument.h +43 -0
- package/shared/skia/include/effects/Sk1DPathEffect.h +40 -0
- package/shared/skia/include/effects/Sk2DPathEffect.h +33 -0
- package/shared/skia/include/effects/SkBlenders.h +27 -0
- package/shared/skia/include/effects/SkBlurMaskFilter.h +35 -0
- package/shared/skia/include/effects/SkColorMatrix.h +57 -0
- package/shared/skia/include/effects/SkColorMatrixFilter.h +22 -0
- package/shared/skia/include/effects/SkCornerPathEffect.h +32 -0
- package/shared/skia/include/effects/SkDashPathEffect.h +43 -0
- package/shared/skia/include/effects/SkDiscretePathEffect.h +37 -0
- package/shared/skia/include/effects/SkGradient.h +206 -0
- package/shared/skia/include/effects/SkHighContrastFilter.h +84 -0
- package/shared/skia/include/effects/SkImageFilters.h +641 -0
- package/shared/skia/include/effects/SkLumaColorFilter.h +37 -0
- package/shared/skia/include/effects/SkOverdrawColorFilter.h +33 -0
- package/shared/skia/include/effects/SkPerlinNoiseShader.h +53 -0
- package/shared/skia/include/effects/SkRuntimeEffect.h +503 -0
- package/shared/skia/include/effects/SkShaderMaskFilter.h +28 -0
- package/shared/skia/include/effects/SkTableMaskFilter.h +47 -0
- package/shared/skia/include/effects/SkTrimPathEffect.h +45 -0
- package/shared/skia/include/encode/SkEncoder.h +63 -0
- package/shared/skia/include/encode/SkICC.h +36 -0
- package/shared/skia/include/encode/SkJpegEncoder.h +127 -0
- package/shared/skia/include/encode/SkPngEncoder.h +132 -0
- package/shared/skia/include/encode/SkPngRustEncoder.h +121 -0
- package/shared/skia/include/encode/SkWebpEncoder.h +87 -0
- package/shared/skia/include/gpu/GpuTypes.h +98 -0
- package/shared/skia/include/gpu/MutableTextureState.h +68 -0
- package/shared/skia/include/gpu/ShaderErrorHandler.h +46 -0
- package/shared/skia/include/gpu/ganesh/GrBackendSemaphore.h +50 -0
- package/shared/skia/include/gpu/ganesh/GrBackendSurface.h +257 -0
- package/shared/skia/include/gpu/ganesh/GrContextOptions.h +384 -0
- package/shared/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h +175 -0
- package/shared/skia/include/gpu/ganesh/GrDirectContext.h +1027 -0
- package/shared/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +53 -0
- package/shared/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h +49 -0
- package/shared/skia/include/gpu/ganesh/GrExternalTextureGenerator.h +54 -0
- package/shared/skia/include/gpu/ganesh/GrRecordingContext.h +300 -0
- package/shared/skia/include/gpu/ganesh/GrTypes.h +193 -0
- package/shared/skia/include/gpu/ganesh/GrYUVABackendTextures.h +130 -0
- package/shared/skia/include/gpu/ganesh/SkImageGanesh.h +361 -0
- package/shared/skia/include/gpu/ganesh/SkMeshGanesh.h +57 -0
- package/shared/skia/include/gpu/ganesh/SkSurfaceGanesh.h +218 -0
- package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendContext.h +35 -0
- package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendSemaphore.h +20 -0
- package/shared/skia/include/gpu/ganesh/d3d/GrD3DBackendSurface.h +59 -0
- package/shared/skia/include/gpu/ganesh/d3d/GrD3DDirectContext.h +28 -0
- package/shared/skia/include/gpu/ganesh/d3d/GrD3DTypes.h +248 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLAssembleHelpers.h +17 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLAssembleInterface.h +45 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +64 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLConfig.h +69 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +30 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLExtensions.h +79 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLFunctions.h +313 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLInterface.h +337 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h +19 -0
- package/shared/skia/include/gpu/ganesh/gl/GrGLTypes.h +219 -0
- package/shared/skia/include/gpu/ganesh/gl/egl/GrGLMakeEGLInterface.h +23 -0
- package/shared/skia/include/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h +20 -0
- package/shared/skia/include/gpu/ganesh/gl/glx/GrGLMakeGLXInterface.h +23 -0
- package/shared/skia/include/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h +20 -0
- package/shared/skia/include/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h +20 -0
- package/shared/skia/include/gpu/ganesh/gl/win/GrGLMakeWinInterface.h +20 -0
- package/shared/skia/include/gpu/ganesh/mock/GrMockBackendSurface.h +59 -0
- package/shared/skia/include/gpu/ganesh/mock/GrMockTypes.h +166 -0
- package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendContext.h +21 -0
- package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendSemaphore.h +23 -0
- package/shared/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h +44 -0
- package/shared/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h +30 -0
- package/shared/skia/include/gpu/ganesh/mtl/GrMtlTypes.h +61 -0
- package/shared/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h +73 -0
- package/shared/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h +44 -0
- package/shared/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +20 -0
- package/shared/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +71 -0
- package/shared/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +33 -0
- package/shared/skia/include/gpu/ganesh/vk/GrVkTypes.h +101 -0
- package/shared/skia/include/gpu/graphite/BackendSemaphore.h +60 -0
- package/shared/skia/include/gpu/graphite/BackendTexture.h +65 -0
- package/shared/skia/include/gpu/graphite/Context.h +440 -0
- package/shared/skia/include/gpu/graphite/ContextOptions.h +239 -0
- package/shared/skia/include/gpu/graphite/GraphiteTypes.h +315 -0
- package/shared/skia/include/gpu/graphite/Image.h +428 -0
- package/shared/skia/include/gpu/graphite/ImageProvider.h +68 -0
- package/shared/skia/include/gpu/graphite/PersistentPipelineStorage.h +45 -0
- package/shared/skia/include/gpu/graphite/PrecompileContext.h +109 -0
- package/shared/skia/include/gpu/graphite/Recorder.h +355 -0
- package/shared/skia/include/gpu/graphite/Recording.h +100 -0
- package/shared/skia/include/gpu/graphite/Surface.h +121 -0
- package/shared/skia/include/gpu/graphite/TextureInfo.h +133 -0
- package/shared/skia/include/gpu/graphite/YUVABackendTextures.h +148 -0
- package/shared/skia/include/gpu/graphite/dawn/DawnBackendContext.h +77 -0
- package/shared/skia/include/gpu/graphite/dawn/DawnGraphiteTypes.h +163 -0
- package/shared/skia/include/gpu/graphite/dawn/DawnTypes.h +9 -0
- package/shared/skia/include/gpu/graphite/dawn/DawnUtils.h +9 -0
- package/shared/skia/include/gpu/graphite/mtl/MtlBackendContext.h +34 -0
- package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +73 -0
- package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypesUtils.h +10 -0
- package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteTypes_cpp.h +50 -0
- package/shared/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +9 -0
- package/shared/skia/include/gpu/graphite/precompile/PaintOptions.h +211 -0
- package/shared/skia/include/gpu/graphite/precompile/Precompile.h +59 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileBase.h +76 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileBlender.h +56 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h +95 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h +116 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileMaskFilter.h +49 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileRuntimeEffect.h +47 -0
- package/shared/skia/include/gpu/graphite/precompile/PrecompileShader.h +268 -0
- package/shared/skia/include/gpu/graphite/vk/VulkanGraphiteContext.h +31 -0
- package/shared/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +104 -0
- package/shared/skia/include/gpu/graphite/vk/precompile/VulkanPrecompileShader.h +39 -0
- package/shared/skia/include/gpu/mtl/MtlMemoryAllocator.h +41 -0
- package/shared/skia/include/gpu/vk/VulkanBackendContext.h +57 -0
- package/shared/skia/include/gpu/vk/VulkanExtensions.h +73 -0
- package/shared/skia/include/gpu/vk/VulkanMemoryAllocator.h +117 -0
- package/shared/skia/include/gpu/vk/VulkanMutableTextureState.h +26 -0
- package/shared/skia/include/gpu/vk/VulkanPreferredFeatures.h +225 -0
- package/shared/skia/include/gpu/vk/VulkanTypes.h +245 -0
- package/shared/skia/include/pathops/SkPathOps.h +150 -0
- package/shared/skia/include/ports/SkCFObject.h +180 -0
- package/shared/skia/include/ports/SkFontConfigInterface.h +112 -0
- package/shared/skia/include/ports/SkFontMgr_FontConfigInterface.h +24 -0
- package/shared/skia/include/ports/SkFontMgr_Fontations.h +20 -0
- package/shared/skia/include/ports/SkFontMgr_android.h +48 -0
- package/shared/skia/include/ports/SkFontMgr_android_ndk.h +27 -0
- package/shared/skia/include/ports/SkFontMgr_data.h +22 -0
- package/shared/skia/include/ports/SkFontMgr_directory.h +21 -0
- package/shared/skia/include/ports/SkFontMgr_empty.h +21 -0
- package/shared/skia/include/ports/SkFontMgr_fontconfig.h +24 -0
- package/shared/skia/include/ports/SkFontMgr_fuchsia.h +21 -0
- package/shared/skia/include/ports/SkFontMgr_mac_ct.h +27 -0
- package/shared/skia/include/ports/SkFontScanner_Fontations.h +15 -0
- package/shared/skia/include/ports/SkFontScanner_FreeType.h +15 -0
- package/shared/skia/include/ports/SkImageGeneratorCG.h +28 -0
- package/shared/skia/include/ports/SkImageGeneratorNDK.h +40 -0
- package/shared/skia/include/ports/SkImageGeneratorWIC.h +41 -0
- package/shared/skia/include/ports/SkTypeface_fontations.h +24 -0
- package/shared/skia/include/ports/SkTypeface_mac.h +44 -0
- package/shared/skia/include/ports/SkTypeface_win.h +63 -0
- package/shared/skia/include/private/SingleOwner.h +75 -0
- package/shared/skia/include/private/SkAPI.h +52 -0
- package/shared/skia/include/private/SkASAN.h +56 -0
- package/shared/skia/include/private/SkAlign.h +51 -0
- package/shared/skia/include/private/SkAlignedStorage.h +32 -0
- package/shared/skia/include/private/SkAnySubclass.h +79 -0
- package/shared/skia/include/private/SkAssert.h +203 -0
- package/shared/skia/include/private/SkAttributes.h +96 -0
- package/shared/skia/include/private/SkCPUTypes.h +25 -0
- package/shared/skia/include/private/SkContainers.h +54 -0
- package/shared/skia/include/private/SkDebug.h +27 -0
- package/shared/skia/include/private/SkDeque.h +138 -0
- package/shared/skia/include/private/SkEncodedInfo.h +249 -0
- package/shared/skia/include/private/SkEnumBitMask.h +92 -0
- package/shared/skia/include/private/SkExif.h +69 -0
- package/shared/skia/include/private/SkFeatures.h +173 -0
- package/shared/skia/include/private/SkFixed.h +143 -0
- package/shared/skia/include/private/SkFloatingPoint.h +183 -0
- package/shared/skia/include/private/SkGainmapInfo.h +140 -0
- package/shared/skia/include/private/SkGainmapShader.h +60 -0
- package/shared/skia/include/private/SkHdrMetadata.h +357 -0
- package/shared/skia/include/private/SkIDChangeListener.h +76 -0
- package/shared/skia/include/private/SkJpegGainmapEncoder.h +48 -0
- package/shared/skia/include/private/SkJpegMetadataDecoder.h +103 -0
- package/shared/skia/include/private/SkLoadUserConfig.h +64 -0
- package/shared/skia/include/private/SkLog.h +62 -0
- package/shared/skia/include/private/SkLogPriority.h +34 -0
- package/shared/skia/include/private/SkMacros.h +170 -0
- package/shared/skia/include/private/SkMalloc.h +152 -0
- package/shared/skia/include/private/SkMath.h +77 -0
- package/shared/skia/include/private/SkMutex.h +72 -0
- package/shared/skia/include/private/SkNoncopyable.h +30 -0
- package/shared/skia/include/private/SkOnce.h +55 -0
- package/shared/skia/include/private/SkPathRef.h +90 -0
- package/shared/skia/include/private/SkPixelStorage.h +52 -0
- package/shared/skia/include/private/SkSLSampleUsage.h +85 -0
- package/shared/skia/include/private/SkSafe32.h +49 -0
- package/shared/skia/include/private/SkSemaphore.h +84 -0
- package/shared/skia/include/private/SkTArray.h +823 -0
- package/shared/skia/include/private/SkTDArray.h +247 -0
- package/shared/skia/include/private/SkTFitsIn.h +92 -0
- package/shared/skia/include/private/SkTLogic.h +56 -0
- package/shared/skia/include/private/SkTPin.h +23 -0
- package/shared/skia/include/private/SkTemplates.h +500 -0
- package/shared/skia/include/private/SkThreadAnnotations.h +104 -0
- package/shared/skia/include/private/SkThreadID.h +23 -0
- package/shared/skia/include/private/SkTo.h +39 -0
- package/shared/skia/include/private/SkTypeTraits.h +53 -0
- package/shared/skia/include/private/SkWeakRefCnt.h +173 -0
- package/shared/skia/include/private/SkXmp.h +62 -0
- package/shared/skia/include/private/chromium/GrDeferredDisplayList.h +120 -0
- package/shared/skia/include/private/chromium/GrDeferredDisplayListRecorder.h +62 -0
- package/shared/skia/include/private/chromium/GrPromiseImageTexture.h +43 -0
- package/shared/skia/include/private/chromium/GrSurfaceCharacterization.h +211 -0
- package/shared/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +131 -0
- package/shared/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +150 -0
- package/shared/skia/include/private/chromium/SkCodecsICCProfileChromium.h +52 -0
- package/shared/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
- package/shared/skia/include/private/chromium/SkExifChromium.h +26 -0
- package/shared/skia/include/private/chromium/SkImageChromium.h +117 -0
- package/shared/skia/include/private/chromium/SkPMColor.h +38 -0
- package/shared/skia/include/private/chromium/Slug.h +72 -0
- package/shared/skia/include/private/gpu/ganesh/GrContext_Base.h +104 -0
- package/shared/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +60 -0
- package/shared/skia/include/private/gpu/ganesh/GrImageContext.h +56 -0
- package/shared/skia/include/private/gpu/ganesh/GrTextureGenerator.h +66 -0
- package/shared/skia/include/private/gpu/ganesh/GrTypesPriv.h +959 -0
- package/shared/skia/include/private/gpu/vk/SkiaVulkan.h +36 -0
- package/shared/skia/include/sksl/SkSLDebugTrace.h +25 -0
- package/shared/skia/include/sksl/SkSLVersion.h +27 -0
- package/shared/skia/include/svg/SkSVGCanvas.h +62 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_icd.h +245 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_layer.h +192 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_platform.h +84 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std.h +394 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_decode.h +109 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_encode.h +143 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +312 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +77 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_encode.h +147 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +446 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +67 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_encode.h +157 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std.h +151 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_vp9std_decode.h +68 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +36 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan.h +103 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_android.h +159 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_beta.h +375 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_core.h +25896 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_directfb.h +59 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_fuchsia.h +282 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ggp.h +62 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +50 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +50 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_metal.h +244 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_ohos.h +120 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_screen.h +114 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_vi.h +50 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_wayland.h +59 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +372 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +60 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xlib.h +60 -0
- package/shared/skia/include/third_party/vulkan/vulkan/vulkan_xlib_xrandr.h +50 -0
- package/shared/skia/include/utils/SkCamera.h +109 -0
- package/shared/skia/include/utils/SkCanvasStateUtils.h +81 -0
- package/shared/skia/include/utils/SkCustomTypeface.h +70 -0
- package/shared/skia/include/utils/SkEventTracer.h +93 -0
- package/shared/skia/include/utils/SkNWayCanvas.h +123 -0
- package/shared/skia/include/utils/SkNoDrawCanvas.h +78 -0
- package/shared/skia/include/utils/SkNullCanvas.h +22 -0
- package/shared/skia/include/utils/SkOrderedFontMgr.h +66 -0
- package/shared/skia/include/utils/SkPaintFilterCanvas.h +140 -0
- package/shared/skia/include/utils/SkParse.h +36 -0
- package/shared/skia/include/utils/SkParsePath.h +33 -0
- package/shared/skia/include/utils/SkShadowUtils.h +102 -0
- package/shared/skia/include/utils/SkTextUtils.h +43 -0
- package/shared/skia/include/utils/SkTraceEventPhase.h +19 -0
- package/shared/skia/include/utils/mac/SkCGUtils.h +90 -0
- package/shared/skia/modules/jsonreader/SkJSONReader.cpp +996 -0
- package/shared/skia/modules/jsonreader/SkJSONReader.h +389 -0
- package/shared/skia/modules/skcms/skcms.h +10 -0
- package/shared/skia/modules/skcms/src/Transform_inl.h +1600 -0
- package/shared/skia/modules/skcms/src/skcms_Transform.h +167 -0
- package/shared/skia/modules/skcms/src/skcms_internals.h +157 -0
- package/shared/skia/modules/skcms/src/skcms_public.h +496 -0
- package/shared/skia/modules/skottie/include/ExternalLayer.h +56 -0
- package/shared/skia/modules/skottie/include/Skottie.h +324 -0
- package/shared/skia/modules/skottie/include/SkottieProperty.h +190 -0
- package/shared/skia/modules/skottie/include/SlotManager.h +113 -0
- package/shared/skia/modules/skottie/include/TextShaper.h +197 -0
- package/shared/skia/modules/skottie/src/SkottieValue.h +56 -0
- package/shared/skia/modules/skottie/src/animator/Animator.h +89 -0
- package/shared/skia/modules/skottie/src/text/Font.h +82 -0
- package/shared/skia/modules/skottie/src/text/TextAdapter.h +155 -0
- package/shared/skia/modules/skottie/src/text/TextAnimator.h +122 -0
- package/shared/skia/modules/skottie/src/text/TextValue.h +28 -0
- package/shared/skia/modules/skparagraph/include/DartTypes.h +153 -0
- package/shared/skia/modules/skparagraph/include/FontArguments.h +46 -0
- package/shared/skia/modules/skparagraph/include/FontCollection.h +76 -0
- package/shared/skia/modules/skparagraph/include/Metrics.h +98 -0
- package/shared/skia/modules/skparagraph/include/Paragraph.h +289 -0
- package/shared/skia/modules/skparagraph/include/ParagraphBuilder.h +94 -0
- package/shared/skia/modules/skparagraph/include/ParagraphCache.h +52 -0
- package/shared/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
- package/shared/skia/modules/skparagraph/include/ParagraphStyle.h +160 -0
- package/shared/skia/modules/skparagraph/include/TextShadow.h +30 -0
- package/shared/skia/modules/skparagraph/include/TextStyle.h +392 -0
- package/shared/skia/modules/skparagraph/include/TypefaceFontProvider.h +78 -0
- package/shared/skia/modules/skresources/include/SkResources.h +291 -0
- package/shared/skia/modules/sksg/include/SkSGClipEffect.h +61 -0
- package/shared/skia/modules/sksg/include/SkSGColorFilter.h +135 -0
- package/shared/skia/modules/sksg/include/SkSGDraw.h +57 -0
- package/shared/skia/modules/sksg/include/SkSGEffectNode.h +50 -0
- package/shared/skia/modules/sksg/include/SkSGGeometryEffect.h +207 -0
- package/shared/skia/modules/sksg/include/SkSGGeometryNode.h +54 -0
- package/shared/skia/modules/sksg/include/SkSGGradient.h +108 -0
- package/shared/skia/modules/sksg/include/SkSGGroup.h +65 -0
- package/shared/skia/modules/sksg/include/SkSGImage.h +59 -0
- package/shared/skia/modules/sksg/include/SkSGInvalidationController.h +46 -0
- package/shared/skia/modules/sksg/include/SkSGMaskEffect.h +65 -0
- package/shared/skia/modules/sksg/include/SkSGMerge.h +74 -0
- package/shared/skia/modules/sksg/include/SkSGNode.h +128 -0
- package/shared/skia/modules/sksg/include/SkSGOpacityEffect.h +54 -0
- package/shared/skia/modules/sksg/include/SkSGPaint.h +112 -0
- package/shared/skia/modules/sksg/include/SkSGPath.h +68 -0
- package/shared/skia/modules/sksg/include/SkSGPlane.h +47 -0
- package/shared/skia/modules/sksg/include/SkSGRect.h +122 -0
- package/shared/skia/modules/sksg/include/SkSGRenderEffect.h +283 -0
- package/shared/skia/modules/sksg/include/SkSGRenderNode.h +157 -0
- package/shared/skia/modules/sksg/include/SkSGScene.h +47 -0
- package/shared/skia/modules/sksg/include/SkSGText.h +82 -0
- package/shared/skia/modules/sksg/include/SkSGTransform.h +127 -0
- package/shared/skia/modules/skshaper/include/SkShaper.h +318 -0
- package/shared/skia/modules/skshaper/include/SkShaper_coretext.h +26 -0
- package/shared/skia/modules/skshaper/include/SkShaper_factory.h +41 -0
- package/shared/skia/modules/skshaper/include/SkShaper_harfbuzz.h +39 -0
- package/shared/skia/modules/skshaper/include/SkShaper_skunicode.h +28 -0
- package/shared/skia/modules/skunicode/include/SkUnicode.h +321 -0
- package/shared/skia/modules/skunicode/include/SkUnicode_icu.h +18 -0
- package/shared/skia/modules/skunicode/include/SkUnicode_libgrapheme.h +19 -0
- package/shared/skia/modules/svg/include/SkSVGAttribute.h +110 -0
- package/shared/skia/modules/svg/include/SkSVGAttributeParser.h +170 -0
- package/shared/skia/modules/svg/include/SkSVGCircle.h +56 -0
- package/shared/skia/modules/svg/include/SkSVGClipPath.h +41 -0
- package/shared/skia/modules/svg/include/SkSVGContainer.h +52 -0
- package/shared/skia/modules/svg/include/SkSVGDOM.h +111 -0
- package/shared/skia/modules/svg/include/SkSVGDefs.h +23 -0
- package/shared/skia/modules/svg/include/SkSVGEllipse.h +51 -0
- package/shared/skia/modules/svg/include/SkSVGFe.h +93 -0
- package/shared/skia/modules/svg/include/SkSVGFeBlend.h +54 -0
- package/shared/skia/modules/svg/include/SkSVGFeColorMatrix.h +55 -0
- package/shared/skia/modules/svg/include/SkSVGFeComponentTransfer.h +82 -0
- package/shared/skia/modules/svg/include/SkSVGFeComposite.h +55 -0
- package/shared/skia/modules/svg/include/SkSVGFeDisplacementMap.h +56 -0
- package/shared/skia/modules/svg/include/SkSVGFeFlood.h +42 -0
- package/shared/skia/modules/svg/include/SkSVGFeGaussianBlur.h +50 -0
- package/shared/skia/modules/svg/include/SkSVGFeImage.h +44 -0
- package/shared/skia/modules/svg/include/SkSVGFeLightSource.h +93 -0
- package/shared/skia/modules/svg/include/SkSVGFeLighting.h +131 -0
- package/shared/skia/modules/svg/include/SkSVGFeMerge.h +63 -0
- package/shared/skia/modules/svg/include/SkSVGFeMorphology.h +55 -0
- package/shared/skia/modules/svg/include/SkSVGFeOffset.h +44 -0
- package/shared/skia/modules/svg/include/SkSVGFeTurbulence.h +49 -0
- package/shared/skia/modules/svg/include/SkSVGFilter.h +48 -0
- package/shared/skia/modules/svg/include/SkSVGFilterContext.h +69 -0
- package/shared/skia/modules/svg/include/SkSVGG.h +23 -0
- package/shared/skia/modules/svg/include/SkSVGGradient.h +56 -0
- package/shared/skia/modules/svg/include/SkSVGHiddenContainer.h +23 -0
- package/shared/skia/modules/svg/include/SkSVGIDMapper.h +19 -0
- package/shared/skia/modules/svg/include/SkSVGImage.h +67 -0
- package/shared/skia/modules/svg/include/SkSVGLine.h +53 -0
- package/shared/skia/modules/svg/include/SkSVGLinearGradient.h +47 -0
- package/shared/skia/modules/svg/include/SkSVGMask.h +49 -0
- package/shared/skia/modules/svg/include/SkSVGNode.h +235 -0
- package/shared/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h +37 -0
- package/shared/skia/modules/svg/include/SkSVGPath.h +46 -0
- package/shared/skia/modules/svg/include/SkSVGPattern.h +61 -0
- package/shared/skia/modules/svg/include/SkSVGPoly.h +56 -0
- package/shared/skia/modules/svg/include/SkSVGRadialGradient.h +48 -0
- package/shared/skia/modules/svg/include/SkSVGRect.h +56 -0
- package/shared/skia/modules/svg/include/SkSVGRenderContext.h +229 -0
- package/shared/skia/modules/svg/include/SkSVGSVG.h +60 -0
- package/shared/skia/modules/svg/include/SkSVGShape.h +40 -0
- package/shared/skia/modules/svg/include/SkSVGStop.h +36 -0
- package/shared/skia/modules/svg/include/SkSVGText.h +128 -0
- package/shared/skia/modules/svg/include/SkSVGTransformableNode.h +48 -0
- package/shared/skia/modules/svg/include/SkSVGTypes.h +740 -0
- package/shared/skia/modules/svg/include/SkSVGUse.h +49 -0
- package/shared/skia/modules/svg/include/SkSVGValue.h +85 -0
- package/shared/skia/src/core/SkArenaAlloc.h +371 -0
- package/shared/skia/src/core/SkAutoLocaleSetter.h +94 -0
- package/shared/skia/src/core/SkChecksum.h +118 -0
- package/shared/skia/src/core/SkLRUCache.h +143 -0
- package/shared/skia/src/core/SkMathPriv.h +225 -0
- package/shared/skia/src/core/SkTHash.h +714 -0
- package/shared/skia/src/core/SkTInternalLList.h +304 -0
- package/shared/skia/src/core/SkTLazy.h +216 -0
- package/shared/skia/src/core/SkUTF.h +102 -0
- package/shared/skia/src/gpu/ganesh/gl/GrGLDefines.h +1162 -0
- package/src/GameMethods.nitro.ts +4 -0
- package/src/GameMethods.ts +55 -0
- package/src/index.tsx +0 -1
- package/src/nativeTypes.ts +6 -0
- package/android/src/main/cpp/GameLoopJNI.cpp +0 -132
- package/android/src/main/java/com/margelo/nitro/rngine/Asset.kt +0 -9
- package/android/src/main/java/com/margelo/nitro/rngine/GameAssets.kt +0 -61
- package/android/src/main/java/com/margelo/nitro/rngine/Screen.kt +0 -9
- package/android/src/main/java/com/margelo/nitro/rngine/Shape.kt +0 -26
- package/android/src/main/java/com/margelo/nitro/rngine/Snapshot.kt +0 -3
- package/android/src/main/java/com/margelo/nitro/rngine/SnapshotSerializer.kt +0 -53
- package/lib/module/GameAssets.js +0 -41
- package/lib/module/GameAssets.js.map +0 -1
- package/lib/module/GameAssets.nitro.js +0 -5
- package/lib/module/GameAssets.nitro.js.map +0 -1
- package/lib/typescript/src/GameAssets.d.ts +0 -2
- package/lib/typescript/src/GameAssets.d.ts.map +0 -1
- package/lib/typescript/src/GameAssets.nitro.d.ts +0 -12
- package/lib/typescript/src/GameAssets.nitro.d.ts.map +0 -1
- package/nitrogen/generated/android/c++/JHybridGameAssetsSpec.cpp +0 -86
- package/nitrogen/generated/android/c++/JHybridGameAssetsSpec.hpp +0 -65
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rngine/HybridGameAssetsSpec.kt +0 -63
- package/nitrogen/generated/ios/c++/HybridGameAssetsSpecSwift.cpp +0 -11
- package/nitrogen/generated/ios/c++/HybridGameAssetsSpecSwift.hpp +0 -99
- package/nitrogen/generated/ios/swift/Func_void.swift +0 -46
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +0 -46
- package/nitrogen/generated/ios/swift/HybridGameAssetsSpec.swift +0 -57
- package/nitrogen/generated/ios/swift/HybridGameAssetsSpec_cxx.swift +0 -176
- package/nitrogen/generated/shared/c++/HybridGameAssetsSpec.cpp +0 -23
- package/nitrogen/generated/shared/c++/HybridGameAssetsSpec.hpp +0 -65
- package/src/GameAssets.nitro.ts +0 -14
- package/src/GameAssets.ts +0 -47
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2017 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef SkAndroidFrameworkUtils_DEFINED
|
|
9
|
+
#define SkAndroidFrameworkUtils_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkColor.h"
|
|
12
|
+
#include "include/core/SkPoint.h"
|
|
13
|
+
#include "include/core/SkRefCnt.h"
|
|
14
|
+
#include "include/core/SkTileMode.h"
|
|
15
|
+
|
|
16
|
+
class SkCanvas;
|
|
17
|
+
struct SkIRect;
|
|
18
|
+
struct SkRect;
|
|
19
|
+
class SkSurface;
|
|
20
|
+
class SkShader;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* SkAndroidFrameworkUtils expose private APIs used only by Android framework.
|
|
24
|
+
*/
|
|
25
|
+
class SkAndroidFrameworkUtils {
|
|
26
|
+
public:
|
|
27
|
+
|
|
28
|
+
#if defined(SK_GANESH)
|
|
29
|
+
/**
|
|
30
|
+
* clipWithStencil draws the current clip into a stencil buffer with reference value and mask
|
|
31
|
+
* set to 0x1. This function works only on a GPU canvas.
|
|
32
|
+
*
|
|
33
|
+
* @param canvas A GPU canvas that has a non-empty clip.
|
|
34
|
+
*
|
|
35
|
+
* @return true on success or false if clip is empty or not a GPU canvas.
|
|
36
|
+
*/
|
|
37
|
+
static bool clipWithStencil(SkCanvas* canvas);
|
|
38
|
+
#endif //defined(SK_GANESH)
|
|
39
|
+
|
|
40
|
+
static void SafetyNetLog(const char*);
|
|
41
|
+
|
|
42
|
+
static int SaveBehind(SkCanvas* canvas, const SkRect* subset);
|
|
43
|
+
|
|
44
|
+
// Operating within the canvas' clip stack, this resets the geometry of the clip to be wide
|
|
45
|
+
// open modula any device clip restriction that was set outside of the clip stack.
|
|
46
|
+
static void ResetClip(SkCanvas* canvas);
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Unrolls a chain of nested SkPaintFilterCanvas to return the base wrapped canvas.
|
|
50
|
+
*
|
|
51
|
+
* @param canvas A SkPaintFilterCanvas or any other SkCanvas subclass.
|
|
52
|
+
*
|
|
53
|
+
* @return SkCanvas that was found in the innermost SkPaintFilterCanvas.
|
|
54
|
+
*/
|
|
55
|
+
static SkCanvas* getBaseWrappedCanvas(SkCanvas* canvas);
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* If the shader represents a linear gradient ShaderAsALinearGradient
|
|
59
|
+
* returns true and if info is not null, ShaderAsALinearGradient populates
|
|
60
|
+
* info with the parameters for the gradient. fColorCount is both an input
|
|
61
|
+
* and output parameter. On input, it indicates how many entries in
|
|
62
|
+
* fColors and fColorOffsets can be used, if they are not nullptr. After
|
|
63
|
+
* asAGradient has run, fColorCount indicates how many color-offset pairs
|
|
64
|
+
* there are in the gradient. fColorOffsets specifies where on the range of
|
|
65
|
+
* 0 to 1 to transition to the given color. fPoints represent the endpoints
|
|
66
|
+
* of the gradient.
|
|
67
|
+
*/
|
|
68
|
+
struct LinearGradientInfo {
|
|
69
|
+
int fColorCount = 0; //!< In-out parameter, specifies passed size
|
|
70
|
+
// of fColors/fColorOffsets on input, and
|
|
71
|
+
// actual number of colors/offsets on
|
|
72
|
+
// output.
|
|
73
|
+
SkColor4f* fColors = nullptr; //!< The colors in the gradient.
|
|
74
|
+
SkScalar* fColorOffsets = nullptr; //!< The unit offset for color transitions.
|
|
75
|
+
SkPoint fPoints[2]; //!< Type specific, see above.
|
|
76
|
+
SkTileMode fTileMode;
|
|
77
|
+
uint32_t fGradientFlags = 0; //!< see SkGradientShader::Flags
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
static bool ShaderAsALinearGradient(SkShader* shader, LinearGradientInfo*);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
#endif // SkAndroidFrameworkUtils_DEFINED
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2018 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef SkAnimatedImage_DEFINED
|
|
9
|
+
#define SkAnimatedImage_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/codec/SkCodecAnimation.h"
|
|
12
|
+
#include "include/core/SkBitmap.h"
|
|
13
|
+
#include "include/core/SkDrawable.h"
|
|
14
|
+
#include "include/core/SkMatrix.h"
|
|
15
|
+
#include "include/core/SkRect.h"
|
|
16
|
+
|
|
17
|
+
class SkAndroidCodec;
|
|
18
|
+
class SkImage;
|
|
19
|
+
class SkPicture;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Thread unsafe drawable for drawing animated images (e.g. GIF).
|
|
23
|
+
*/
|
|
24
|
+
class SK_API SkAnimatedImage : public SkDrawable {
|
|
25
|
+
public:
|
|
26
|
+
/**
|
|
27
|
+
* Create an SkAnimatedImage from the SkAndroidCodec.
|
|
28
|
+
*
|
|
29
|
+
* Returns null on failure to allocate pixels. On success, this will
|
|
30
|
+
* decode the first frame.
|
|
31
|
+
*
|
|
32
|
+
* @param info Width and height may require scaling.
|
|
33
|
+
* @param cropRect Rectangle to crop to after scaling.
|
|
34
|
+
* @param postProcess Picture to apply after scaling and cropping.
|
|
35
|
+
*/
|
|
36
|
+
static sk_sp<SkAnimatedImage> Make(std::unique_ptr<SkAndroidCodec>,
|
|
37
|
+
const SkImageInfo& info, SkIRect cropRect, sk_sp<SkPicture> postProcess);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Simpler version that uses the default size, no cropping, and no postProcess.
|
|
41
|
+
*/
|
|
42
|
+
static sk_sp<SkAnimatedImage> Make(std::unique_ptr<SkAndroidCodec>);
|
|
43
|
+
|
|
44
|
+
~SkAnimatedImage() override;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Reset the animation to the beginning.
|
|
48
|
+
*/
|
|
49
|
+
void reset();
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Whether the animation completed.
|
|
53
|
+
*
|
|
54
|
+
* Returns true after all repetitions are complete, or an error stops the
|
|
55
|
+
* animation. Gets reset to false if the animation is restarted.
|
|
56
|
+
*/
|
|
57
|
+
bool isFinished() const { return fFinished; }
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Returned by decodeNextFrame and currentFrameDuration if the animation
|
|
61
|
+
* is not running.
|
|
62
|
+
*/
|
|
63
|
+
static constexpr int kFinished = -1;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Decode the next frame.
|
|
67
|
+
*
|
|
68
|
+
* If the animation is on the last frame or has hit an error, returns
|
|
69
|
+
* kFinished.
|
|
70
|
+
*/
|
|
71
|
+
int decodeNextFrame();
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Returns the current frame as an SkImage. The SkImage will not change
|
|
75
|
+
* after it has been returned.
|
|
76
|
+
* If there is no current frame, nullptr will be returned.
|
|
77
|
+
*/
|
|
78
|
+
sk_sp<SkImage> getCurrentFrame();
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* How long to display the current frame.
|
|
82
|
+
*
|
|
83
|
+
* Useful for the first frame, for which decodeNextFrame is called
|
|
84
|
+
* internally.
|
|
85
|
+
*/
|
|
86
|
+
int currentFrameDuration() {
|
|
87
|
+
return fCurrentFrameDuration;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Change the repetition count.
|
|
92
|
+
*
|
|
93
|
+
* By default, the image will repeat the number of times indicated in the
|
|
94
|
+
* encoded data.
|
|
95
|
+
*
|
|
96
|
+
* Use SkCodec::kRepetitionCountInfinite for infinite, and 0 to show all
|
|
97
|
+
* frames once and then stop.
|
|
98
|
+
*/
|
|
99
|
+
void setRepetitionCount(int count);
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Return the currently set repetition count.
|
|
103
|
+
*/
|
|
104
|
+
int getRepetitionCount() const {
|
|
105
|
+
return fRepetitionCount;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Return the total number of frames in the animation.
|
|
110
|
+
*/
|
|
111
|
+
int getFrameCount() const { return fFrameCount; }
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Change the filter mode.
|
|
115
|
+
*
|
|
116
|
+
* By default, the image will apply bilinear filtering when drawing in the
|
|
117
|
+
* OnDraw method.
|
|
118
|
+
*/
|
|
119
|
+
void setFilterMode(SkFilterMode filterMode);
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Return the filter mode used for sampling when drawing.
|
|
123
|
+
*/
|
|
124
|
+
SkFilterMode getFilterMode() const { return fFilterMode; }
|
|
125
|
+
|
|
126
|
+
protected:
|
|
127
|
+
SkRect onGetBounds() override;
|
|
128
|
+
void onDraw(SkCanvas*) override;
|
|
129
|
+
|
|
130
|
+
private:
|
|
131
|
+
struct Frame {
|
|
132
|
+
SkBitmap fBitmap;
|
|
133
|
+
int fIndex;
|
|
134
|
+
SkCodecAnimation::DisposalMethod fDisposalMethod;
|
|
135
|
+
|
|
136
|
+
// init() may have to create a new SkPixelRef, if the
|
|
137
|
+
// current one is already in use by another owner (e.g.
|
|
138
|
+
// an SkPicture). This determines whether to copy the
|
|
139
|
+
// existing one to the new one.
|
|
140
|
+
enum class OnInit {
|
|
141
|
+
// Restore the image from the old SkPixelRef to the
|
|
142
|
+
// new one.
|
|
143
|
+
kRestoreIfNecessary,
|
|
144
|
+
// No need to restore.
|
|
145
|
+
kNoRestore,
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
Frame();
|
|
149
|
+
bool init(const SkImageInfo& info, OnInit);
|
|
150
|
+
bool copyTo(Frame*) const;
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
std::unique_ptr<SkAndroidCodec> fCodec;
|
|
154
|
+
SkImageInfo fDecodeInfo;
|
|
155
|
+
const SkIRect fCropRect;
|
|
156
|
+
const sk_sp<SkPicture> fPostProcess;
|
|
157
|
+
const int fFrameCount;
|
|
158
|
+
SkMatrix fMatrix;
|
|
159
|
+
int fSampleSize;
|
|
160
|
+
|
|
161
|
+
bool fFinished;
|
|
162
|
+
int fCurrentFrameDuration;
|
|
163
|
+
Frame fDisplayFrame;
|
|
164
|
+
Frame fDecodingFrame;
|
|
165
|
+
Frame fRestoreFrame;
|
|
166
|
+
int fRepetitionCount;
|
|
167
|
+
int fRepetitionsCompleted;
|
|
168
|
+
SkFilterMode fFilterMode = SkFilterMode::kLinear;
|
|
169
|
+
|
|
170
|
+
SkAnimatedImage(std::unique_ptr<SkAndroidCodec>, const SkImageInfo& requestedInfo,
|
|
171
|
+
SkIRect cropRect, sk_sp<SkPicture> postProcess);
|
|
172
|
+
|
|
173
|
+
int computeNextFrame(int current, bool* animationEnded);
|
|
174
|
+
double finish();
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* True if there is no crop, orientation, or post decoding scaling.
|
|
178
|
+
*/
|
|
179
|
+
bool simple() const { return fMatrix.isIdentity() && !fPostProcess
|
|
180
|
+
&& fCropRect == fDecodeInfo.bounds(); }
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Returns the current frame as an SkImage.
|
|
184
|
+
*
|
|
185
|
+
* Like getCurrentFrame, but only returns the raw data from the internal SkBitmap. (i.e. no
|
|
186
|
+
* scaling, orientation-correction or cropping.) If simple(), this is the final output.
|
|
187
|
+
*/
|
|
188
|
+
sk_sp<SkImage> getCurrentFrameSimple();
|
|
189
|
+
|
|
190
|
+
using INHERITED = SkDrawable;
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
#endif // SkAnimatedImage_DEFINED
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef SkCanvasAndroid_DEFINED
|
|
9
|
+
#define SkCanvasAndroid_DEFINED
|
|
10
|
+
|
|
11
|
+
class SkCanvas;
|
|
12
|
+
struct SkIRect;
|
|
13
|
+
class GrBackendRenderTarget;
|
|
14
|
+
|
|
15
|
+
namespace skgpu::ganesh {
|
|
16
|
+
SkIRect TopLayerBounds(const SkCanvas*);
|
|
17
|
+
GrBackendRenderTarget TopLayerBackendRenderTarget(const SkCanvas*);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
#endif
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef SkImageAndroid_DEFINED
|
|
9
|
+
#define SkImageAndroid_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkImage.h"
|
|
12
|
+
#include "include/core/SkRefCnt.h"
|
|
13
|
+
#include "include/gpu/ganesh/GrTypes.h"
|
|
14
|
+
|
|
15
|
+
class SkColorSpace;
|
|
16
|
+
class GrDirectContext;
|
|
17
|
+
class GrRecordingContext;
|
|
18
|
+
class SkPixmap;
|
|
19
|
+
struct AHardwareBuffer;
|
|
20
|
+
|
|
21
|
+
namespace SkImages {
|
|
22
|
+
|
|
23
|
+
/** (See skbug.com/40038695)
|
|
24
|
+
Creates SkImage from Android hardware buffer.
|
|
25
|
+
Returned SkImage takes a reference on the buffer.
|
|
26
|
+
Only available on Android, when __ANDROID_API__ is defined to be 26 or greater.
|
|
27
|
+
@param hardwareBuffer AHardwareBuffer Android hardware buffer
|
|
28
|
+
@param colorSpace range of colors; may be nullptr
|
|
29
|
+
@return created SkImage, or nullptr
|
|
30
|
+
*/
|
|
31
|
+
SK_API sk_sp<SkImage> DeferredFromAHardwareBuffer(AHardwareBuffer* hardwareBuffer,
|
|
32
|
+
SkAlphaType alphaType = kPremul_SkAlphaType);
|
|
33
|
+
SK_API sk_sp<SkImage> DeferredFromAHardwareBuffer(
|
|
34
|
+
AHardwareBuffer* hardwareBuffer,
|
|
35
|
+
SkAlphaType alphaType,
|
|
36
|
+
sk_sp<SkColorSpace> colorSpace,
|
|
37
|
+
GrSurfaceOrigin surfaceOrigin = kTopLeft_GrSurfaceOrigin);
|
|
38
|
+
|
|
39
|
+
/** Creates SkImage from Android hardware buffer and uploads the data from the SkPixmap to it.
|
|
40
|
+
Returned SkImage takes a reference on the buffer.
|
|
41
|
+
Only available on Android, when __ANDROID_API__ is defined to be 26 or greater.
|
|
42
|
+
@param context GPU context
|
|
43
|
+
@param pixmap SkPixmap that contains data to be uploaded to the AHardwareBuffer
|
|
44
|
+
@param hardwareBuffer AHardwareBuffer Android hardware buffer
|
|
45
|
+
@param surfaceOrigin surface origin for resulting image
|
|
46
|
+
@return created SkImage, or nullptr
|
|
47
|
+
*/
|
|
48
|
+
SK_API sk_sp<SkImage> TextureFromAHardwareBufferWithData(
|
|
49
|
+
GrDirectContext* context,
|
|
50
|
+
const SkPixmap& pixmap,
|
|
51
|
+
AHardwareBuffer* hardwareBuffer,
|
|
52
|
+
GrSurfaceOrigin surfaceOrigin = kTopLeft_GrSurfaceOrigin);
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Like SkImage::MakeFromBitmap, except this can be pinned using
|
|
56
|
+
* skgpu::ganesh::PinAsTexture and Skia will *not* copy the bitmap.
|
|
57
|
+
*/
|
|
58
|
+
SK_API sk_sp<SkImage> PinnableRasterFromBitmap(const SkBitmap&);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Like SkImage::MakeFromBitmap, except and Skia will *not* copy the bitmap.
|
|
62
|
+
*/
|
|
63
|
+
SK_API sk_sp<SkImage> RasterFromBitmapNoCopy(const SkBitmap&);
|
|
64
|
+
|
|
65
|
+
} // namespace SkImages
|
|
66
|
+
|
|
67
|
+
namespace skgpu::ganesh {
|
|
68
|
+
/**
|
|
69
|
+
* Will attempt to upload and lock the contents of the image as a texture, so that subsequent
|
|
70
|
+
* draws to a gpu-target will come from that texture (and not by looking at the original image
|
|
71
|
+
* src). In particular this is intended to use the texture even if the image's original content
|
|
72
|
+
* changes subsequent to this call (i.e. the src is mutable!).
|
|
73
|
+
*
|
|
74
|
+
* Only compatible with SkImages created from SkImages::PinnableRasterFromBitmap.
|
|
75
|
+
*
|
|
76
|
+
* All successful calls must be balanced by an equal number of calls to UnpinTexture().
|
|
77
|
+
*
|
|
78
|
+
* Once in this "pinned" state, the image has all of the same thread restrictions that exist
|
|
79
|
+
* for a natively created gpu image (e.g. SkImage::MakeFromTexture)
|
|
80
|
+
* - all drawing, pinning, unpinning must happen in the same thread as the GrContext.
|
|
81
|
+
*
|
|
82
|
+
* @return true if the image was successfully uploaded and locked into a texture
|
|
83
|
+
*/
|
|
84
|
+
bool PinAsTexture(GrRecordingContext*, SkImage*);
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* The balancing call to a successful invocation of PinAsTexture. When a balanced
|
|
88
|
+
* number of calls have been made, then the "pinned" texture is free to be purged, etc. This
|
|
89
|
+
* also means that a subsequent "pin" call will look at the original content again, and if
|
|
90
|
+
* its uniqueID/generationID has changed, then a newer texture will be uploaded/pinned.
|
|
91
|
+
*
|
|
92
|
+
* Only compatible with SkImages created from SkImages::PinnableRasterFromBitmap.
|
|
93
|
+
*
|
|
94
|
+
* The context passed to unpin must match the one passed to pin.
|
|
95
|
+
*/
|
|
96
|
+
void UnpinTexture(GrRecordingContext*, SkImage*);
|
|
97
|
+
|
|
98
|
+
} // namespace skgpu::ganesh
|
|
99
|
+
|
|
100
|
+
#endif
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef SkSurfaceAndroid_DEFINED
|
|
9
|
+
#define SkSurfaceAndroid_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkSurface.h"
|
|
13
|
+
#include "include/gpu/ganesh/GrTypes.h"
|
|
14
|
+
|
|
15
|
+
class SkColorSpace;
|
|
16
|
+
class GrDirectContext;
|
|
17
|
+
class SkPixmap;
|
|
18
|
+
struct AHardwareBuffer;
|
|
19
|
+
|
|
20
|
+
namespace SkSurfaces {
|
|
21
|
+
|
|
22
|
+
/** Private; only to be used by Android Framework.
|
|
23
|
+
Creates SkSurface from Android hardware buffer.
|
|
24
|
+
Returned SkSurface takes a reference on the buffer. The ref on the buffer will be released
|
|
25
|
+
when the SkSurface is destroyed and there is no pending work on the GPU involving the
|
|
26
|
+
buffer.
|
|
27
|
+
|
|
28
|
+
Currently this is only supported for buffers that can be textured as well as rendered to.
|
|
29
|
+
In other words that must have both AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT and
|
|
30
|
+
AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE usage bits.
|
|
31
|
+
|
|
32
|
+
@param context GPU context
|
|
33
|
+
@param hardwareBuffer AHardwareBuffer Android hardware buffer
|
|
34
|
+
@param colorSpace range of colors; may be nullptr
|
|
35
|
+
@param surfaceProps LCD striping orientation and setting for device independent
|
|
36
|
+
fonts; may be nullptr
|
|
37
|
+
@param fromWindow Whether or not the AHardwareBuffer is part of an Android Window.
|
|
38
|
+
Currently only used with Vulkan backend.
|
|
39
|
+
@return created SkSurface, or nullptr
|
|
40
|
+
*/
|
|
41
|
+
SK_API sk_sp<SkSurface> WrapAndroidHardwareBuffer(GrDirectContext* context,
|
|
42
|
+
AHardwareBuffer* hardwareBuffer,
|
|
43
|
+
GrSurfaceOrigin origin,
|
|
44
|
+
sk_sp<SkColorSpace> colorSpace,
|
|
45
|
+
const SkSurfaceProps* surfaceProps,
|
|
46
|
+
bool fromWindow = false);
|
|
47
|
+
|
|
48
|
+
} // namespace SkSurfaces
|
|
49
|
+
|
|
50
|
+
#endif
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef SurfaceAndroid_DEFINED
|
|
9
|
+
#define SurfaceAndroid_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
|
|
13
|
+
struct AHardwareBuffer;
|
|
14
|
+
class SkColorSpace;
|
|
15
|
+
class SkSurface;
|
|
16
|
+
class SkSurfaceProps;
|
|
17
|
+
|
|
18
|
+
namespace skgpu::graphite {
|
|
19
|
+
class Recorder;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
namespace SkSurfaces {
|
|
23
|
+
|
|
24
|
+
using ReleaseContext = void*;
|
|
25
|
+
using BufferReleaseProc = void (*)(ReleaseContext);
|
|
26
|
+
|
|
27
|
+
/** Private; only to be used by Android Framework.
|
|
28
|
+
Creates an SkSurface from an Android hardware buffer.
|
|
29
|
+
|
|
30
|
+
Upon success bufferReleaseProc is called when it is safe to delete the buffer in the
|
|
31
|
+
backend API (accounting only for use of the buffer by this surface). If SkSurface creation
|
|
32
|
+
fails bufferReleaseProc is called before this function returns.
|
|
33
|
+
|
|
34
|
+
Currently this is only supported for buffers that can be textured as well as rendered to.
|
|
35
|
+
In other words the buffer must have both AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT and
|
|
36
|
+
AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE usage bits.
|
|
37
|
+
|
|
38
|
+
@param recorder the applicable Graphite recorder
|
|
39
|
+
@param hardwareBuffer an Android hardware buffer
|
|
40
|
+
@param colorSpace range of colors; may be nullptr
|
|
41
|
+
@param surfaceProps LCD striping orientation and setting for device independent
|
|
42
|
+
fonts; may be nullptr
|
|
43
|
+
@param bufferReleaseProc function called when the buffer can be released
|
|
44
|
+
@param ReleaseContext state passed to bufferReleaseProc
|
|
45
|
+
@param fromWindow Whether or not the AHardwareBuffer is part of an Android Window.
|
|
46
|
+
Currently only used with Vulkan backend.
|
|
47
|
+
@return created SkSurface, or nullptr
|
|
48
|
+
*/
|
|
49
|
+
SK_API sk_sp<SkSurface> WrapAndroidHardwareBuffer(skgpu::graphite::Recorder* recorder,
|
|
50
|
+
AHardwareBuffer* hardwareBuffer,
|
|
51
|
+
sk_sp<SkColorSpace> colorSpace,
|
|
52
|
+
const SkSurfaceProps* surfaceProps,
|
|
53
|
+
BufferReleaseProc = nullptr,
|
|
54
|
+
ReleaseContext = nullptr,
|
|
55
|
+
bool fromWindow = false);
|
|
56
|
+
|
|
57
|
+
} // namespace SkSurfaces
|
|
58
|
+
|
|
59
|
+
#endif // SurfaceAndroid_DEFINED
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Google LLC
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
* found in the LICENSE file.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef AndroidVulkanMemoryAllocator_DEFINED
|
|
9
|
+
#define AndroidVulkanMemoryAllocator_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/private/SkAPI.h"
|
|
13
|
+
|
|
14
|
+
namespace skgpu {
|
|
15
|
+
struct VulkanBackendContext;
|
|
16
|
+
class VulkanMemoryAllocator;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
namespace SkiaVMA {
|
|
20
|
+
|
|
21
|
+
struct Options {
|
|
22
|
+
bool fThreadSafe = true;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// Returns a concrete implementation of a memory allocator using some hard-coded settings.
|
|
26
|
+
// If Android Framework ever wants to make their own, they can stop using this.
|
|
27
|
+
sk_sp<skgpu::VulkanMemoryAllocator> Make(const skgpu::VulkanBackendContext&, Options);
|
|
28
|
+
|
|
29
|
+
} // namespace SkiaVMA
|
|
30
|
+
|
|
31
|
+
#endif
|