rngine 0.7.2 → 0.8.1
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 +51 -26
- 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 +46 -2
- 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 +2 -1
- package/lib/typescript/src/GameMethods.d.ts.map +1 -1
- package/lib/typescript/src/GameMethods.nitro.d.ts +5 -2
- package/lib/typescript/src/GameMethods.nitro.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/nativeTypes.d.ts +12 -0
- package/lib/typescript/src/nativeTypes.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +7 -10
- package/lib/typescript/src/types.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 +10 -2
- package/nitrogen/generated/shared/c++/EntityUpdate.hpp +10 -2
- package/nitrogen/generated/shared/c++/HybridGameMethodsSpec.cpp +4 -1
- package/nitrogen/generated/shared/c++/HybridGameMethodsSpec.hpp +8 -1
- package/nitrogen/generated/shared/c++/World.hpp +91 -0
- 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 +142 -51
- package/shared/GameLoop.hpp +10 -14
- package/shared/GameMethods.cpp +101 -10
- package/shared/GameMethods.hpp +19 -1
- package/shared/GameRenderer.cpp +420 -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 +12 -2
- package/src/GameMethods.ts +57 -2
- package/src/index.tsx +1 -1
- package/src/nativeTypes.ts +13 -0
- package/src/types.ts +7 -9
- 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,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 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
|
+
#ifndef SkPDFJPEGHelpers_DEFINED
|
|
8
|
+
#define SkPDFJPEGHelpers_DEFINED
|
|
9
|
+
|
|
10
|
+
#include "include/codec/SkJpegDecoder.h"
|
|
11
|
+
#include "include/core/SkData.h"
|
|
12
|
+
#include "include/core/SkRefCnt.h"
|
|
13
|
+
#include "include/docs/SkPDFDocument.h"
|
|
14
|
+
#include "include/encode/SkJpegEncoder.h"
|
|
15
|
+
|
|
16
|
+
class SkPixmap;
|
|
17
|
+
class SkWStream;
|
|
18
|
+
|
|
19
|
+
#include <memory>
|
|
20
|
+
|
|
21
|
+
namespace SkPDF::JPEG {
|
|
22
|
+
inline std::unique_ptr<SkCodec> Decode(sk_sp<const SkData> data) {
|
|
23
|
+
return SkJpegDecoder::Decode(data, nullptr, nullptr);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
inline bool Encode(SkWStream* dst, const SkPixmap& src, int quality) {
|
|
27
|
+
SkJpegEncoder::Options jOpts;
|
|
28
|
+
jOpts.fQuality = quality;
|
|
29
|
+
return SkJpegEncoder::Encode(dst, src, jOpts);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
inline SkPDF::Metadata MetadataWithCallbacks() {
|
|
33
|
+
SkPDF::Metadata m;
|
|
34
|
+
m.jpegDecoder = SkPDF::JPEG::Decode;
|
|
35
|
+
m.jpegEncoder = SkPDF::JPEG::Encode;
|
|
36
|
+
return m;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
} // namespace SkPDF::JPEG
|
|
40
|
+
|
|
41
|
+
#endif
|
|
@@ -0,0 +1,43 @@
|
|
|
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 SkXPSDocument_DEFINED
|
|
9
|
+
#define SkXPSDocument_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkTypes.h"
|
|
12
|
+
|
|
13
|
+
#ifdef SK_BUILD_FOR_WIN
|
|
14
|
+
|
|
15
|
+
#include "include/core/SkDocument.h"
|
|
16
|
+
|
|
17
|
+
struct IXpsOMObjectFactory;
|
|
18
|
+
class SKWStream;
|
|
19
|
+
class SkPixmap;
|
|
20
|
+
|
|
21
|
+
namespace SkXPS {
|
|
22
|
+
|
|
23
|
+
using EncodePngCallback = bool (*)(SkWStream* dst, const SkPixmap& src);
|
|
24
|
+
|
|
25
|
+
struct Options {
|
|
26
|
+
float dpi = SK_ScalarDefaultRasterDPI;
|
|
27
|
+
|
|
28
|
+
/** Clients can provide a way to encode png. */
|
|
29
|
+
EncodePngCallback pngEncoder = nullptr;
|
|
30
|
+
|
|
31
|
+
/** Skia's XPS support depends on having a png encoder registered to handle
|
|
32
|
+
* XPS image brushes. Clients that create XPS documents without images may
|
|
33
|
+
* set `allowNoPngs` to true to acknowledge this.
|
|
34
|
+
*/
|
|
35
|
+
bool allowNoPngs = false;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
SK_API sk_sp<SkDocument> MakeDocument(SkWStream* stream,
|
|
39
|
+
IXpsOMObjectFactory* xpsFactory,
|
|
40
|
+
Options opts);
|
|
41
|
+
} // namespace SkXPS
|
|
42
|
+
#endif // SK_BUILD_FOR_WIN
|
|
43
|
+
#endif // SkXPSDocument_DEFINED
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2006 The Android Open Source Project
|
|
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 Sk1DPathEffect_DEFINED
|
|
9
|
+
#define Sk1DPathEffect_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkScalar.h"
|
|
13
|
+
#include "include/core/SkTypes.h"
|
|
14
|
+
|
|
15
|
+
class SkPath;
|
|
16
|
+
class SkPathEffect;
|
|
17
|
+
|
|
18
|
+
class SK_API SkPath1DPathEffect {
|
|
19
|
+
public:
|
|
20
|
+
enum Style {
|
|
21
|
+
kTranslate_Style, // translate the shape to each position
|
|
22
|
+
kRotate_Style, // rotate the shape about its center
|
|
23
|
+
kMorph_Style, // transform each point, and turn lines into curves
|
|
24
|
+
|
|
25
|
+
kLastEnum_Style = kMorph_Style,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/** Dash by replicating the specified path.
|
|
29
|
+
@param path The path to replicate (dash)
|
|
30
|
+
@param advance The space between instances of path
|
|
31
|
+
@param phase distance (mod advance) along path for its initial position
|
|
32
|
+
@param style how to transform path at each point (based on the current
|
|
33
|
+
position and tangent)
|
|
34
|
+
*/
|
|
35
|
+
static sk_sp<SkPathEffect> Make(const SkPath& path, SkScalar advance, SkScalar phase, Style);
|
|
36
|
+
|
|
37
|
+
static void RegisterFlattenables();
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
#endif
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2006 The Android Open Source Project
|
|
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 Sk2DPathEffect_DEFINED
|
|
9
|
+
#define Sk2DPathEffect_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkScalar.h"
|
|
13
|
+
#include "include/core/SkTypes.h"
|
|
14
|
+
|
|
15
|
+
class SkMatrix;
|
|
16
|
+
class SkPath;
|
|
17
|
+
class SkPathEffect;
|
|
18
|
+
|
|
19
|
+
class SK_API SkLine2DPathEffect {
|
|
20
|
+
public:
|
|
21
|
+
static sk_sp<SkPathEffect> Make(SkScalar width, const SkMatrix& matrix);
|
|
22
|
+
|
|
23
|
+
static void RegisterFlattenables();
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
class SK_API SkPath2DPathEffect {
|
|
27
|
+
public:
|
|
28
|
+
static sk_sp<SkPathEffect> Make(const SkMatrix& matrix, const SkPath& path);
|
|
29
|
+
|
|
30
|
+
static void RegisterFlattenables();
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
#endif
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2021 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 SkBlenders_DEFINED
|
|
9
|
+
#define SkBlenders_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkBlender.h"
|
|
12
|
+
|
|
13
|
+
class SK_API SkBlenders {
|
|
14
|
+
public:
|
|
15
|
+
/**
|
|
16
|
+
* Create a blender that implements the following:
|
|
17
|
+
* k1 * src * dst + k2 * src + k3 * dst + k4
|
|
18
|
+
* @param k1, k2, k3, k4 The four coefficients.
|
|
19
|
+
* @param enforcePMColor If true, the RGB channels will be clamped to the calculated alpha.
|
|
20
|
+
*/
|
|
21
|
+
static sk_sp<SkBlender> Arithmetic(float k1, float k2, float k3, float k4, bool enforcePremul);
|
|
22
|
+
|
|
23
|
+
private:
|
|
24
|
+
SkBlenders() = delete;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
#endif
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2006 The Android Open Source Project
|
|
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 SkBlurMaskFilter_DEFINED
|
|
9
|
+
#define SkBlurMaskFilter_DEFINED
|
|
10
|
+
|
|
11
|
+
// we include this since our callers will need to at least be able to ref/unref
|
|
12
|
+
#include "include/core/SkBlurTypes.h"
|
|
13
|
+
#include "include/core/SkMaskFilter.h"
|
|
14
|
+
#include "include/core/SkRect.h"
|
|
15
|
+
#include "include/core/SkScalar.h"
|
|
16
|
+
|
|
17
|
+
class SkRRect;
|
|
18
|
+
|
|
19
|
+
class SK_API SkBlurMaskFilter {
|
|
20
|
+
public:
|
|
21
|
+
#ifdef SK_SUPPORT_LEGACY_EMBOSSMASKFILTER
|
|
22
|
+
/** Create an emboss maskfilter
|
|
23
|
+
@param blurSigma standard deviation of the Gaussian blur to apply
|
|
24
|
+
before applying lighting (e.g. 3)
|
|
25
|
+
@param direction array of 3 scalars [x, y, z] specifying the direction of the light source
|
|
26
|
+
@param ambient 0...1 amount of ambient light
|
|
27
|
+
@param specular coefficient for specular highlights (e.g. 8)
|
|
28
|
+
@return the emboss maskfilter
|
|
29
|
+
*/
|
|
30
|
+
static sk_sp<SkMaskFilter> MakeEmboss(SkScalar blurSigma, const SkScalar direction[3],
|
|
31
|
+
SkScalar ambient, SkScalar specular);
|
|
32
|
+
#endif
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
#endif
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2007 The Android Open Source Project
|
|
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 SkColorMatrix_DEFINED
|
|
9
|
+
#define SkColorMatrix_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkTypes.h"
|
|
12
|
+
|
|
13
|
+
#include <algorithm>
|
|
14
|
+
#include <array>
|
|
15
|
+
|
|
16
|
+
enum SkYUVColorSpace : int;
|
|
17
|
+
|
|
18
|
+
class SK_API SkColorMatrix {
|
|
19
|
+
public:
|
|
20
|
+
constexpr SkColorMatrix() : SkColorMatrix(1, 0, 0, 0, 0,
|
|
21
|
+
0, 1, 0, 0, 0,
|
|
22
|
+
0, 0, 1, 0, 0,
|
|
23
|
+
0, 0, 0, 1, 0) {}
|
|
24
|
+
|
|
25
|
+
constexpr SkColorMatrix(float m00, float m01, float m02, float m03, float m04,
|
|
26
|
+
float m10, float m11, float m12, float m13, float m14,
|
|
27
|
+
float m20, float m21, float m22, float m23, float m24,
|
|
28
|
+
float m30, float m31, float m32, float m33, float m34)
|
|
29
|
+
: fMat { m00, m01, m02, m03, m04,
|
|
30
|
+
m10, m11, m12, m13, m14,
|
|
31
|
+
m20, m21, m22, m23, m24,
|
|
32
|
+
m30, m31, m32, m33, m34 } {}
|
|
33
|
+
|
|
34
|
+
static SkColorMatrix RGBtoYUV(SkYUVColorSpace);
|
|
35
|
+
static SkColorMatrix YUVtoRGB(SkYUVColorSpace);
|
|
36
|
+
|
|
37
|
+
void setIdentity();
|
|
38
|
+
void setScale(float rScale, float gScale, float bScale, float aScale = 1.0f);
|
|
39
|
+
|
|
40
|
+
void postTranslate(float dr, float dg, float db, float da);
|
|
41
|
+
|
|
42
|
+
void setConcat(const SkColorMatrix& a, const SkColorMatrix& b);
|
|
43
|
+
void preConcat(const SkColorMatrix& mat) { this->setConcat(*this, mat); }
|
|
44
|
+
void postConcat(const SkColorMatrix& mat) { this->setConcat(mat, *this); }
|
|
45
|
+
|
|
46
|
+
void setSaturation(float sat);
|
|
47
|
+
|
|
48
|
+
void setRowMajor(const float src[20]) { std::copy_n(src, 20, fMat.begin()); }
|
|
49
|
+
void getRowMajor(float dst[20]) const { std::copy_n(fMat.begin(), 20, dst); }
|
|
50
|
+
|
|
51
|
+
private:
|
|
52
|
+
std::array<float, 20> fMat;
|
|
53
|
+
|
|
54
|
+
friend class SkColorFilters;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
#endif
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2007 The Android Open Source Project
|
|
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 SkColorMatrixFilter_DEFINED
|
|
9
|
+
#define SkColorMatrixFilter_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkColorFilter.h"
|
|
12
|
+
|
|
13
|
+
// (DEPRECATED) This factory function is deprecated. Please use the one in
|
|
14
|
+
// SkColorFilters (i.e., Lighting).
|
|
15
|
+
class SK_API SkColorMatrixFilter : public SkColorFilter {
|
|
16
|
+
public:
|
|
17
|
+
static sk_sp<SkColorFilter> MakeLightingFilter(SkColor mul, SkColor add) {
|
|
18
|
+
return SkColorFilters::Lighting(mul, add);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
#endif
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2006 The Android Open Source Project
|
|
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 SkCornerPathEffect_DEFINED
|
|
9
|
+
#define SkCornerPathEffect_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/core/SkScalar.h"
|
|
13
|
+
#include "include/core/SkTypes.h"
|
|
14
|
+
|
|
15
|
+
class SkPathEffect;
|
|
16
|
+
|
|
17
|
+
/** \class SkCornerPathEffect
|
|
18
|
+
|
|
19
|
+
SkCornerPathEffect is a subclass of SkPathEffect that can turn sharp corners
|
|
20
|
+
into various treatments (e.g. rounded corners)
|
|
21
|
+
*/
|
|
22
|
+
class SK_API SkCornerPathEffect {
|
|
23
|
+
public:
|
|
24
|
+
/** radius must be > 0 to have an effect. It specifies the distance from each corner
|
|
25
|
+
that should be "rounded".
|
|
26
|
+
*/
|
|
27
|
+
static sk_sp<SkPathEffect> Make(SkScalar radius);
|
|
28
|
+
|
|
29
|
+
static void RegisterFlattenables();
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
#endif
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2006 The Android Open Source Project
|
|
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 SkDashPathEffect_DEFINED
|
|
9
|
+
#define SkDashPathEffect_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkPathEffect.h" // IWYU pragma: keep (for unspanned apis)
|
|
12
|
+
#include "include/core/SkRefCnt.h"
|
|
13
|
+
#include "include/core/SkScalar.h"
|
|
14
|
+
#include "include/core/SkSpan.h"
|
|
15
|
+
#include "include/core/SkTypes.h"
|
|
16
|
+
|
|
17
|
+
class SK_API SkDashPathEffect {
|
|
18
|
+
public:
|
|
19
|
+
/** intervals: array containing an even number of entries (>=2), with
|
|
20
|
+
the even indices specifying the length of "on" intervals, and the odd
|
|
21
|
+
indices specifying the length of "off" intervals. This array will be
|
|
22
|
+
copied in Make, and can be disposed of freely after.
|
|
23
|
+
count: number of elements in the intervals array
|
|
24
|
+
phase: offset into the intervals array (mod the sum of all of the
|
|
25
|
+
intervals).
|
|
26
|
+
|
|
27
|
+
For example: if intervals[] = {10, 20}, count = 2, and phase = 25,
|
|
28
|
+
this will set up a dashed path like so:
|
|
29
|
+
5 pixels off
|
|
30
|
+
10 pixels on
|
|
31
|
+
20 pixels off
|
|
32
|
+
10 pixels on
|
|
33
|
+
20 pixels off
|
|
34
|
+
...
|
|
35
|
+
A phase of -5, 25, 55, 85, etc. would all result in the same path,
|
|
36
|
+
because the sum of all the intervals is 30.
|
|
37
|
+
|
|
38
|
+
Note: only affects stroked paths.
|
|
39
|
+
*/
|
|
40
|
+
static sk_sp<SkPathEffect> Make(SkSpan<const SkScalar> intervals, SkScalar phase);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
#endif
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2006 The Android Open Source Project
|
|
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 SkDiscretePathEffect_DEFINED
|
|
9
|
+
#define SkDiscretePathEffect_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkPathEffect.h"
|
|
12
|
+
|
|
13
|
+
/** \class SkDiscretePathEffect
|
|
14
|
+
|
|
15
|
+
This path effect chops a path into discrete segments, and randomly displaces them.
|
|
16
|
+
*/
|
|
17
|
+
class SK_API SkDiscretePathEffect {
|
|
18
|
+
public:
|
|
19
|
+
/** Break the path into segments of segLength length, and randomly move the endpoints
|
|
20
|
+
away from the original path by a maximum of deviation.
|
|
21
|
+
Note: works on filled or framed paths
|
|
22
|
+
|
|
23
|
+
@param seedAssist This is a caller-supplied seedAssist that modifies
|
|
24
|
+
the seed value that is used to randomize the path
|
|
25
|
+
segments' endpoints. If not supplied it defaults to 0,
|
|
26
|
+
in which case filtering a path multiple times will
|
|
27
|
+
result in the same set of segments (this is useful for
|
|
28
|
+
testing). If a caller does not want this behaviour
|
|
29
|
+
they can pass in a different seedAssist to get a
|
|
30
|
+
different set of path segments.
|
|
31
|
+
*/
|
|
32
|
+
static sk_sp<SkPathEffect> Make(SkScalar segLength, SkScalar dev, uint32_t seedAssist = 0);
|
|
33
|
+
|
|
34
|
+
static void RegisterFlattenables();
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
#endif
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 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 SkGradient_DEFINED
|
|
9
|
+
#define SkGradient_DEFINED
|
|
10
|
+
|
|
11
|
+
#include "include/core/SkColor.h"
|
|
12
|
+
#include "include/core/SkColorSpace.h"
|
|
13
|
+
#include "include/core/SkPoint.h"
|
|
14
|
+
#include "include/core/SkShader.h"
|
|
15
|
+
#include "include/core/SkSpan.h"
|
|
16
|
+
#include "include/core/SkTileMode.h"
|
|
17
|
+
#include "include/private/SkAPI.h"
|
|
18
|
+
|
|
19
|
+
class SkMatrix;
|
|
20
|
+
|
|
21
|
+
class SkGradient {
|
|
22
|
+
public:
|
|
23
|
+
struct Interpolation {
|
|
24
|
+
enum class InPremul : bool { kNo = false, kYes = true };
|
|
25
|
+
|
|
26
|
+
enum class ColorSpace : uint8_t {
|
|
27
|
+
// Default Skia behavior: interpolate in the color space of the destination surface
|
|
28
|
+
kDestination,
|
|
29
|
+
|
|
30
|
+
// https://www.w3.org/TR/css-color-4/#interpolation-space
|
|
31
|
+
kSRGBLinear,
|
|
32
|
+
kLab,
|
|
33
|
+
kOKLab,
|
|
34
|
+
// This is the same as kOKLab, except it has a simplified version of the CSS gamut
|
|
35
|
+
// mapping algorithm (https://www.w3.org/TR/css-color-4/#css-gamut-mapping)
|
|
36
|
+
// into Rec2020 space applied to it.
|
|
37
|
+
// Warning: This space is experimental and should not be used in production.
|
|
38
|
+
kOKLabGamutMap,
|
|
39
|
+
kLCH,
|
|
40
|
+
kOKLCH,
|
|
41
|
+
// This is the same as kOKLCH, except it has the same gamut mapping applied to it
|
|
42
|
+
// as kOKLabGamutMap does.
|
|
43
|
+
// Warning: This space is experimental and should not be used in production.
|
|
44
|
+
kOKLCHGamutMap,
|
|
45
|
+
kSRGB,
|
|
46
|
+
kHSL,
|
|
47
|
+
kHWB,
|
|
48
|
+
|
|
49
|
+
kDisplayP3,
|
|
50
|
+
kRec2020,
|
|
51
|
+
kProphotoRGB,
|
|
52
|
+
kA98RGB,
|
|
53
|
+
|
|
54
|
+
kLastColorSpace = kA98RGB,
|
|
55
|
+
};
|
|
56
|
+
static constexpr int kColorSpaceCount = static_cast<int>(ColorSpace::kLastColorSpace) + 1;
|
|
57
|
+
|
|
58
|
+
enum class HueMethod : uint8_t {
|
|
59
|
+
// https://www.w3.org/TR/css-color-4/#hue-interpolation
|
|
60
|
+
kShorter,
|
|
61
|
+
kLonger,
|
|
62
|
+
kIncreasing,
|
|
63
|
+
kDecreasing,
|
|
64
|
+
|
|
65
|
+
kLastHueMethod = kDecreasing,
|
|
66
|
+
};
|
|
67
|
+
static constexpr int kHueMethodCount = static_cast<int>(HueMethod::kLastHueMethod) + 1;
|
|
68
|
+
|
|
69
|
+
InPremul fInPremul = InPremul::kNo;
|
|
70
|
+
ColorSpace fColorSpace = ColorSpace::kDestination;
|
|
71
|
+
HueMethod fHueMethod = HueMethod::kShorter; // Only relevant for LCH, OKLCH, HSL, or HWB
|
|
72
|
+
|
|
73
|
+
// legacy compatibility -- remove when we can
|
|
74
|
+
static Interpolation FromFlags(uint32_t flags) {
|
|
75
|
+
return {flags & 1 ? InPremul::kYes : InPremul::kNo,
|
|
76
|
+
ColorSpace::kDestination,
|
|
77
|
+
HueMethod::kShorter};
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Specification for the colors in a gradient.
|
|
83
|
+
*
|
|
84
|
+
* @param colors The span of colors for the gradient.
|
|
85
|
+
* @param pos Relative positions of each color across the gradient. If empty,
|
|
86
|
+
* the the colors are distributed evenly. If this is not null, the values
|
|
87
|
+
* must lie between 0.0 and 1.0, and be strictly increasing. If the first
|
|
88
|
+
* value is not 0.0, then an additional color stop is added at position 0.0,
|
|
89
|
+
* with the same color as colors[0]. If the the last value is less than 1.0,
|
|
90
|
+
* then an additional color stop is added at position 1.0, with the same color
|
|
91
|
+
* as colors[count - 1].
|
|
92
|
+
* @param mode Tiling mode for the gradient.
|
|
93
|
+
* @param cs Optional colorspace associated with the span of colors. If this is null,
|
|
94
|
+
* the colors are treated as sRGB.
|
|
95
|
+
*/
|
|
96
|
+
class Colors {
|
|
97
|
+
public:
|
|
98
|
+
Colors() {}
|
|
99
|
+
Colors(SkSpan<const SkColor4f> colors,
|
|
100
|
+
SkSpan<const float> pos,
|
|
101
|
+
SkTileMode mode,
|
|
102
|
+
sk_sp<SkColorSpace> cs = nullptr)
|
|
103
|
+
: fColors(colors), fPos(pos), fColorSpace(std::move(cs)), fTileMode(mode) {
|
|
104
|
+
SkASSERT(fPos.size() == 0 || fPos.size() == fColors.size());
|
|
105
|
+
|
|
106
|
+
// throw away inconsistent inputs
|
|
107
|
+
if (fPos.size() != fColors.size()) {
|
|
108
|
+
fPos = {};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
Colors(SkSpan<const SkColor4f> colors, SkTileMode tm, sk_sp<SkColorSpace> cs = nullptr)
|
|
113
|
+
: Colors(colors, {}, tm, std::move(cs)) {}
|
|
114
|
+
|
|
115
|
+
SkSpan<const SkColor4f> colors() const { return fColors; }
|
|
116
|
+
SkSpan<const float> positions() const { return fPos; }
|
|
117
|
+
const sk_sp<SkColorSpace>& colorSpace() const { return fColorSpace; }
|
|
118
|
+
SkTileMode tileMode() const { return fTileMode; }
|
|
119
|
+
|
|
120
|
+
private:
|
|
121
|
+
SkSpan<const SkColor4f> fColors;
|
|
122
|
+
SkSpan<const float> fPos;
|
|
123
|
+
sk_sp<SkColorSpace> fColorSpace;
|
|
124
|
+
SkTileMode fTileMode = SkTileMode::kClamp;
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
SkGradient() {}
|
|
128
|
+
SkGradient(const Colors& colors, const Interpolation& interp)
|
|
129
|
+
: fColors(colors), fInterpolation(interp) {}
|
|
130
|
+
|
|
131
|
+
const Colors& colors() const { return fColors; }
|
|
132
|
+
const Interpolation& interpolation() const { return fInterpolation; }
|
|
133
|
+
|
|
134
|
+
private:
|
|
135
|
+
Colors fColors;
|
|
136
|
+
Interpolation fInterpolation;
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
namespace SkShaders {
|
|
140
|
+
/** Returns a shader that generates a linear gradient between the two specified points.
|
|
141
|
+
* If the inputs are invalid, this will return nullptr.
|
|
142
|
+
* @param points Array of 2 points, the end-points of the line segment
|
|
143
|
+
* @param grad Description of the colors and interpolation method
|
|
144
|
+
* @param lm Optional local matrix, may be null
|
|
145
|
+
*/
|
|
146
|
+
SK_API sk_sp<SkShader> LinearGradient(const SkPoint pts[2],
|
|
147
|
+
const SkGradient&,
|
|
148
|
+
const SkMatrix* lm = nullptr);
|
|
149
|
+
|
|
150
|
+
/** Returns a shader that generates a radial gradient given the center and radius.
|
|
151
|
+
* @param center The center of the circle for this gradient
|
|
152
|
+
* @param radius Must be positive. The radius of the circle for this gradient
|
|
153
|
+
* @param grad Description of the colors and interpolation method
|
|
154
|
+
* @param lm Optional local matrix, may be null
|
|
155
|
+
*/
|
|
156
|
+
SK_API sk_sp<SkShader> RadialGradient(SkPoint center,
|
|
157
|
+
float radius,
|
|
158
|
+
const SkGradient& grad,
|
|
159
|
+
const SkMatrix* lm = nullptr);
|
|
160
|
+
|
|
161
|
+
/** Returns a shader that generates a conical gradient given two circles, or
|
|
162
|
+
* returns null if the inputs are invalid. The gradient interprets the
|
|
163
|
+
* two circles according to the following HTML spec.
|
|
164
|
+
* http://dev.w3.org/html5/2dcontext/#dom-context-2d-createradialgradient
|
|
165
|
+
* @param start The center of the circle for this gradient
|
|
166
|
+
* @param startRadius Must be positive. The radius of the circle for this gradient
|
|
167
|
+
* @param end The center of the circle for this gradient
|
|
168
|
+
* @param startRadius Must be positive. The radius of the circle for this gradient
|
|
169
|
+
* @param grad Description of the colors and interpolation method
|
|
170
|
+
* @param lm Optional local matrix, may be null
|
|
171
|
+
*/
|
|
172
|
+
SK_API sk_sp<SkShader> TwoPointConicalGradient(SkPoint start,
|
|
173
|
+
float startRadius,
|
|
174
|
+
SkPoint end,
|
|
175
|
+
float endRadius,
|
|
176
|
+
const SkGradient& grad,
|
|
177
|
+
const SkMatrix* lm = nullptr);
|
|
178
|
+
|
|
179
|
+
/** Returns a shader that generates a sweep gradient given a center.
|
|
180
|
+
* The shader accepts negative angles and angles larger than 360, draws
|
|
181
|
+
* between 0 and 360 degrees, similar to the CSS conic-gradient
|
|
182
|
+
* semantics. 0 degrees means horizontal positive x axis. The start angle
|
|
183
|
+
* must be less than the end angle, otherwise a null pointer is
|
|
184
|
+
* returned. If color stops do not contain 0 and 1 but are within this
|
|
185
|
+
* range, the respective outer color stop is repeated for 0 and 1. Color
|
|
186
|
+
* stops less than 0 are clamped to 0, and greater than 1 are clamped to 1.
|
|
187
|
+
* @param center The center of the sweep
|
|
188
|
+
* @param startAngle Start of the angular range, corresponding to pos == 0.
|
|
189
|
+
* @param endAngle End of the angular range, corresponding to pos == 1.
|
|
190
|
+
* @param grad Description of the colors and interpolation method
|
|
191
|
+
* @param lm Optional local matrix, may be null
|
|
192
|
+
*/
|
|
193
|
+
SK_API sk_sp<SkShader> SweepGradient(SkPoint center,
|
|
194
|
+
float startAngle,
|
|
195
|
+
float endAngle,
|
|
196
|
+
const SkGradient&,
|
|
197
|
+
const SkMatrix* lm = nullptr);
|
|
198
|
+
static inline sk_sp<SkShader> SweepGradient(SkPoint center,
|
|
199
|
+
const SkGradient& grad,
|
|
200
|
+
const SkMatrix* lm = nullptr) {
|
|
201
|
+
return SweepGradient(center, 0, 360, grad, lm);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
} // namespace SkShaders
|
|
205
|
+
|
|
206
|
+
#endif
|