@shopify/react-native-skia 0.1.192 → 0.1.194
Sign up to get free protection for your applications and to get access to all the features.
- package/android/CMakeLists.txt +1 -1
- package/android/build.gradle +1 -0
- package/android/cpp/jni/JniPlatformContext.cpp +1 -1
- package/android/src/main/java/com/shopify/reactnative/skia/ViewScreenshotService.java +104 -103
- package/cpp/api/JsiSkImage.h +25 -4
- package/cpp/api/JsiSkImageFactory.h +2 -2
- package/cpp/api/JsiSkPath.h +8 -6
- package/cpp/rnskia/dom/base/Declaration.h +5 -7
- package/cpp/rnskia/dom/base/JsiDomDrawingNode.h +3 -1
- package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +1 -0
- package/cpp/rnskia/dom/nodes/JsiPathNode.h +2 -2
- package/cpp/rnskia/dom/props/BoxShadowProps.h +2 -0
- package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +2 -8
- package/cpp/skia/include/android/SkImageAndroid.h +101 -0
- package/cpp/skia/include/codec/SkAndroidCodec.h +26 -8
- package/cpp/skia/include/codec/SkCodec.h +31 -17
- package/cpp/skia/include/codec/SkEncodedImageFormat.h +36 -0
- package/cpp/skia/include/codec/SkPixmapUtils.h +31 -0
- package/cpp/skia/include/config/SkUserConfig.h +61 -29
- package/cpp/skia/include/core/SkBitmap.h +25 -25
- package/cpp/skia/include/core/SkBlurTypes.h +0 -2
- package/cpp/skia/include/core/SkCanvas.h +32 -15
- package/cpp/skia/include/core/SkCapabilities.h +2 -2
- package/cpp/skia/include/core/SkColor.h +2 -0
- package/cpp/skia/include/core/SkColorPriv.h +19 -4
- package/cpp/skia/include/core/SkColorSpace.h +14 -17
- package/cpp/skia/include/core/SkColorType.h +1 -0
- package/cpp/skia/include/core/SkContourMeasure.h +1 -1
- package/cpp/skia/include/core/SkCoverageMode.h +0 -2
- package/cpp/skia/include/core/SkCubicMap.h +2 -0
- package/cpp/skia/include/core/SkData.h +5 -2
- package/cpp/skia/include/core/SkDataTable.h +6 -2
- package/cpp/skia/include/core/SkDeferredDisplayList.h +11 -10
- package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +9 -8
- package/cpp/skia/include/core/SkDrawable.h +10 -2
- package/cpp/skia/include/core/SkEncodedImageFormat.h +3 -30
- package/cpp/skia/include/core/SkFlattenable.h +4 -2
- package/cpp/skia/include/core/SkFont.h +1 -0
- package/cpp/skia/include/core/SkFontMetrics.h +1 -0
- package/cpp/skia/include/core/SkFontMgr.h +20 -29
- package/cpp/skia/include/core/SkFontStyle.h +4 -1
- package/cpp/skia/include/core/SkGraphics.h +21 -18
- package/cpp/skia/include/core/SkICC.h +3 -13
- package/cpp/skia/include/core/SkImage.h +395 -717
- package/cpp/skia/include/core/SkImageGenerator.h +19 -74
- package/cpp/skia/include/core/SkImageInfo.h +7 -5
- package/cpp/skia/include/core/SkM44.h +11 -0
- package/cpp/skia/include/core/SkMaskFilter.h +6 -3
- package/cpp/skia/include/core/SkMatrix.h +14 -4
- package/cpp/skia/include/core/SkMesh.h +52 -18
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkPaint.h +11 -34
- package/cpp/skia/include/core/SkPath.h +23 -4
- package/cpp/skia/include/core/SkPathBuilder.h +13 -5
- package/cpp/skia/include/core/SkPathMeasure.h +1 -1
- package/cpp/skia/include/core/SkPathTypes.h +0 -2
- package/cpp/skia/include/core/SkPathUtils.h +42 -0
- package/cpp/skia/include/core/SkPicture.h +3 -2
- package/cpp/skia/include/core/SkPictureRecorder.h +2 -0
- package/cpp/skia/include/core/SkPixelRef.h +4 -8
- package/cpp/skia/include/core/SkPixmap.h +12 -20
- package/cpp/skia/include/core/SkPoint.h +4 -2
- package/cpp/skia/include/core/SkPromiseImageTexture.h +2 -2
- package/cpp/skia/include/core/SkRRect.h +5 -1
- package/cpp/skia/include/core/SkRect.h +6 -3
- package/cpp/skia/include/core/SkRefCnt.h +9 -14
- package/cpp/skia/include/core/SkRegion.h +1 -1
- package/cpp/skia/include/core/SkScalar.h +2 -4
- package/cpp/skia/include/core/SkSerialProcs.h +18 -10
- package/cpp/skia/include/core/SkShader.h +1 -64
- package/cpp/skia/include/core/SkSize.h +2 -0
- package/cpp/skia/include/core/SkSpan.h +4 -112
- package/cpp/skia/include/core/SkStream.h +11 -12
- package/cpp/skia/include/core/SkString.h +9 -25
- package/cpp/skia/include/core/SkStrokeRec.h +1 -1
- package/cpp/skia/include/core/SkSurface.h +83 -61
- package/cpp/skia/include/core/SkSurfaceCharacterization.h +3 -3
- package/cpp/skia/include/core/SkSurfaceProps.h +9 -1
- package/cpp/skia/include/core/SkTextBlob.h +2 -2
- package/cpp/skia/include/core/SkTextureCompressionType.h +30 -0
- package/cpp/skia/include/core/SkTime.h +1 -1
- package/cpp/skia/include/core/SkTypeface.h +9 -2
- package/cpp/skia/include/core/SkTypes.h +37 -466
- package/cpp/skia/include/core/SkVertices.h +2 -0
- package/cpp/skia/include/core/SkYUVAInfo.h +4 -0
- package/cpp/skia/include/core/SkYUVAPixmaps.h +7 -1
- package/cpp/skia/include/docs/SkPDFDocument.h +12 -1
- package/cpp/skia/include/effects/SkColorMatrix.h +2 -1
- package/cpp/skia/include/effects/SkGradientShader.h +65 -14
- package/cpp/skia/include/effects/SkImageFilters.h +0 -11
- package/cpp/skia/include/effects/SkRuntimeEffect.h +41 -11
- package/cpp/skia/include/encode/SkEncoder.h +7 -3
- package/cpp/skia/include/encode/SkICC.h +36 -0
- package/cpp/skia/include/encode/SkJpegEncoder.h +102 -71
- package/cpp/skia/include/encode/SkPngEncoder.h +89 -71
- package/cpp/skia/include/encode/SkWebpEncoder.h +65 -38
- package/cpp/skia/include/gpu/GpuTypes.h +23 -1
- package/cpp/skia/include/gpu/GrBackendSurface.h +9 -7
- package/cpp/skia/include/gpu/GrContextOptions.h +28 -9
- package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +6 -4
- package/cpp/skia/include/gpu/GrDirectContext.h +84 -63
- package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +2 -1
- package/cpp/skia/include/gpu/GrRecordingContext.h +9 -5
- package/cpp/skia/include/gpu/GrTypes.h +18 -18
- package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +4 -4
- package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +3 -3
- package/cpp/skia/include/gpu/ganesh/GrTextureGenerator.h +77 -0
- package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +385 -0
- package/cpp/skia/include/gpu/gl/GrGLExtensions.h +3 -3
- package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
- package/cpp/skia/include/gpu/gl/GrGLInterface.h +0 -3
- package/cpp/skia/include/gpu/gl/GrGLTypes.h +2 -1
- package/cpp/skia/include/gpu/graphite/BackendTexture.h +72 -3
- package/cpp/skia/include/gpu/graphite/Context.h +85 -32
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +15 -11
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +55 -5
- package/cpp/skia/include/gpu/graphite/ImageProvider.h +6 -4
- package/cpp/skia/include/gpu/graphite/Recorder.h +41 -11
- package/cpp/skia/include/gpu/graphite/Recording.h +50 -3
- package/cpp/skia/include/gpu/graphite/TextureInfo.h +47 -8
- package/cpp/skia/include/gpu/graphite/YUVABackendTextures.h +139 -0
- package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +40 -0
- package/cpp/skia/include/gpu/graphite/dawn/DawnUtils.h +28 -0
- package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +1 -1
- package/cpp/skia/include/gpu/graphite/mtl/{MtlTypes.h → MtlGraphiteTypes.h} +7 -6
- package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h +27 -0
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +4 -9
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h +28 -0
- package/cpp/skia/include/gpu/mock/GrMockTypes.h +17 -13
- package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
- package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
- package/cpp/skia/include/gpu/vk/GrVkTypes.h +3 -3
- package/cpp/skia/include/gpu/vk/VulkanExtensions.h +3 -3
- package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +5 -7
- package/cpp/skia/include/pathops/SkPathOps.h +3 -3
- package/cpp/skia/include/ports/SkFontMgr_data.h +22 -0
- package/cpp/skia/include/ports/SkFontMgr_indirect.h +14 -14
- package/cpp/skia/include/ports/SkRemotableFontMgr.h +2 -2
- package/cpp/skia/include/ports/SkTypeface_win.h +2 -1
- package/cpp/skia/include/private/SkChecksum.h +32 -7
- package/cpp/skia/include/private/SkColorData.h +1 -26
- package/cpp/skia/include/private/SkGainmapInfo.h +97 -0
- package/cpp/skia/include/private/SkGainmapShader.h +53 -0
- package/cpp/skia/include/private/SkIDChangeListener.h +4 -3
- package/cpp/skia/include/private/SkJpegGainmapEncoder.h +71 -0
- package/cpp/skia/include/private/SkJpegMetadataDecoder.h +61 -0
- package/cpp/skia/include/private/SkOpts_spi.h +3 -1
- package/cpp/skia/include/private/SkPathRef.h +64 -47
- package/cpp/skia/include/private/SkSLDefines.h +5 -5
- package/cpp/skia/include/private/SkSLSampleUsage.h +0 -4
- package/cpp/skia/include/private/SkSpinlock.h +1 -1
- package/cpp/skia/include/private/SkWeakRefCnt.h +3 -0
- package/cpp/skia/include/private/{SingleOwner.h → base/SingleOwner.h} +8 -5
- package/cpp/skia/include/private/base/SkAPI.h +52 -0
- package/cpp/skia/include/private/base/SkAlign.h +39 -0
- package/cpp/skia/include/private/base/SkAlignedStorage.h +32 -0
- package/cpp/skia/include/private/base/SkAssert.h +92 -0
- package/cpp/skia/include/private/base/SkAttributes.h +102 -0
- package/cpp/skia/include/private/base/SkCPUTypes.h +25 -0
- package/cpp/skia/include/private/base/SkContainers.h +46 -0
- package/cpp/skia/include/private/base/SkDebug.h +27 -0
- package/cpp/skia/include/private/{SkDeque.h → base/SkDeque.h} +3 -1
- package/cpp/skia/include/private/base/SkFeatures.h +151 -0
- package/cpp/skia/include/private/{SkFixed.h → base/SkFixed.h} +9 -7
- package/cpp/skia/include/private/{SkFloatBits.h → base/SkFloatBits.h} +2 -3
- package/cpp/skia/include/private/{SkFloatingPoint.h → base/SkFloatingPoint.h} +18 -9
- package/cpp/skia/include/private/base/SkLoadUserConfig.h +63 -0
- package/cpp/skia/include/private/{SkMacros.h → base/SkMacros.h} +17 -2
- package/cpp/skia/include/private/{SkMalloc.h → base/SkMalloc.h} +4 -7
- package/cpp/skia/include/{core → private/base}/SkMath.h +25 -2
- package/cpp/skia/include/private/{SkMutex.h → base/SkMutex.h} +5 -5
- package/cpp/skia/include/private/{SkNoncopyable.h → base/SkNoncopyable.h} +2 -2
- package/cpp/skia/include/private/{SkOnce.h → base/SkOnce.h} +3 -1
- package/cpp/skia/include/private/base/SkPathEnums.h +25 -0
- package/cpp/skia/include/private/{SkSafe32.h → base/SkSafe32.h} +16 -1
- package/cpp/skia/include/private/{SkSemaphore.h → base/SkSemaphore.h} +4 -3
- package/cpp/skia/include/private/base/SkSpan_impl.h +129 -0
- package/cpp/skia/include/private/base/SkTArray.h +694 -0
- package/cpp/skia/include/private/{SkTDArray.h → base/SkTDArray.h} +17 -54
- package/cpp/skia/include/private/{SkTFitsIn.h → base/SkTFitsIn.h} +14 -8
- package/cpp/skia/include/private/{SkTLogic.h → base/SkTLogic.h} +1 -1
- package/cpp/skia/include/private/{SkTemplates.h → base/SkTemplates.h} +63 -88
- package/cpp/skia/include/private/{SkThreadID.h → base/SkThreadID.h} +5 -2
- package/cpp/skia/include/private/{SkTo.h → base/SkTo.h} +13 -2
- package/cpp/skia/include/private/base/SkTypeTraits.h +33 -0
- package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +130 -0
- package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +5 -9
- package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +70 -0
- package/cpp/skia/include/private/chromium/Slug.h +0 -9
- package/cpp/skia/include/private/gpu/ganesh/GrContext_Base.h +2 -1
- package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrImageContext.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +3 -2
- package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +17 -23
- package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -2
- package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +38 -0
- package/cpp/skia/include/private/gpu/graphite/{MtlTypesPriv.h → MtlGraphiteTypesPriv.h} +5 -5
- package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +1 -9
- package/cpp/skia/include/private/gpu/vk/SkiaVulkan.h +4 -0
- package/cpp/skia/include/utils/SkCamera.h +1 -1
- package/cpp/skia/include/utils/SkCustomTypeface.h +7 -1
- package/cpp/skia/include/utils/SkNWayCanvas.h +6 -6
- package/cpp/skia/include/utils/SkOrderedFontMgr.h +7 -6
- package/cpp/skia/include/utils/SkPaintFilterCanvas.h +2 -2
- package/cpp/skia/include/utils/SkParsePath.h +1 -1
- package/cpp/skia/modules/skcms/skcms.h +14 -0
- package/cpp/skia/modules/skcms/src/Transform_inl.h +19 -0
- package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -2
- package/cpp/skia/modules/skparagraph/include/Paragraph.h +72 -2
- package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +1 -11
- package/cpp/skia/modules/skparagraph/include/ParagraphPainter.h +63 -0
- package/cpp/skia/modules/skparagraph/include/TextStyle.h +27 -4
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +13 -13
- package/cpp/skia/modules/skresources/include/SkResources.h +18 -4
- package/cpp/skia/modules/svg/include/SkSVGAttribute.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGContainer.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGDOM.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGGradient.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGIDMapper.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +3 -3
- package/cpp/skia/modules/svg/include/SkSVGSVG.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGTypes.h +22 -21
- package/cpp/skia/modules/svg/include/SkSVGValue.h +1 -1
- package/cpp/skia/{include/private → src/core}/SkTHash.h +41 -37
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +1 -2
- package/ios/RNSkia-iOS/ViewScreenshotService.mm +1 -1
- package/libs/android/arm64-v8a/libskia.a +0 -0
- package/libs/android/arm64-v8a/libskottie.a +0 -0
- package/libs/android/arm64-v8a/libsksg.a +0 -0
- package/libs/android/arm64-v8a/libskshaper.a +0 -0
- package/libs/android/arm64-v8a/libsvg.a +0 -0
- package/libs/android/armeabi-v7a/libskia.a +0 -0
- package/libs/android/armeabi-v7a/libskottie.a +0 -0
- package/libs/android/armeabi-v7a/libsksg.a +0 -0
- package/libs/android/armeabi-v7a/libskshaper.a +0 -0
- package/libs/android/armeabi-v7a/libsvg.a +0 -0
- package/libs/android/x86/libskia.a +0 -0
- package/libs/android/x86/libskottie.a +0 -0
- package/libs/android/x86/libsksg.a +0 -0
- package/libs/android/x86/libskshaper.a +0 -0
- package/libs/android/x86/libsvg.a +0 -0
- package/libs/android/x86_64/libskia.a +0 -0
- package/libs/android/x86_64/libskottie.a +0 -0
- package/libs/android/x86_64/libsksg.a +0 -0
- package/libs/android/x86_64/libskshaper.a +0 -0
- package/libs/android/x86_64/libsvg.a +0 -0
- package/libs/ios/libskia.xcframework/Info.plist +5 -5
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/package.json +1 -1
- package/react-native-skia.podspec +1 -1
- package/scripts/install-npm.js +11 -1
- package/cpp/skia/include/core/SkImageEncoder.h +0 -71
- package/cpp/skia/include/gpu/GrConfig.h +0 -53
- package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +0 -195
- package/cpp/skia/include/private/SkHalf.h +0 -38
- package/cpp/skia/include/private/SkImageInfoPriv.h +0 -199
- package/cpp/skia/include/private/SkSLIRNode.h +0 -64
- package/cpp/skia/include/private/SkSLLayout.h +0 -144
- package/cpp/skia/include/private/SkSLModifiers.h +0 -178
- package/cpp/skia/include/private/SkSLProgramElement.h +0 -77
- package/cpp/skia/include/private/SkSLProgramKind.h +0 -35
- package/cpp/skia/include/private/SkSLStatement.h +0 -86
- package/cpp/skia/include/private/SkSLString.h +0 -41
- package/cpp/skia/include/private/SkSLSymbol.h +0 -94
- package/cpp/skia/include/private/SkSafe_math.h +0 -52
- package/cpp/skia/include/private/SkStringView.h +0 -51
- package/cpp/skia/include/private/SkTArray.h +0 -655
- package/cpp/skia/include/private/SkUniquePaintParamsID.h +0 -35
- package/cpp/skia/include/private/SkVx.h +0 -1026
- package/cpp/skia/include/sksl/DSL.h +0 -37
- package/cpp/skia/include/sksl/DSLBlock.h +0 -58
- package/cpp/skia/include/sksl/DSLCase.h +0 -62
- package/cpp/skia/include/sksl/DSLCore.h +0 -492
- package/cpp/skia/include/sksl/DSLExpression.h +0 -241
- package/cpp/skia/include/sksl/DSLFunction.h +0 -113
- package/cpp/skia/include/sksl/DSLLayout.h +0 -92
- package/cpp/skia/include/sksl/DSLModifiers.h +0 -69
- package/cpp/skia/include/sksl/DSLStatement.h +0 -82
- package/cpp/skia/include/sksl/DSLSymbols.h +0 -61
- package/cpp/skia/include/sksl/DSLType.h +0 -271
- package/cpp/skia/include/sksl/DSLVar.h +0 -231
- package/cpp/skia/include/sksl/SkSLErrorReporter.h +0 -65
- package/cpp/skia/include/sksl/SkSLOperator.h +0 -154
- package/cpp/skia/include/sksl/SkSLPosition.h +0 -104
- package/cpp/skia/include/utils/SkRandom.h +0 -169
- package/cpp/skia/src/core/SkLRUCache.h +0 -126
- package/cpp/skia/src/core/SkTInternalLList.h +0 -302
- /package/cpp/skia/include/{core → codec}/SkPngChunkReader.h +0 -0
- /package/cpp/skia/include/private/{SkTPin.h → base/SkTPin.h} +0 -0
- /package/cpp/skia/include/private/{SkThreadAnnotations.h → base/SkThreadAnnotations.h} +0 -0
@@ -9,17 +9,14 @@
|
|
9
9
|
#ifndef SkNWayCanvas_DEFINED
|
10
10
|
#define SkNWayCanvas_DEFINED
|
11
11
|
|
12
|
-
#include "include/core/SkBlendMode.h"
|
13
|
-
#include "include/core/SkCanvas.h"
|
14
12
|
#include "include/core/SkCanvasVirtualEnforcer.h"
|
15
|
-
#include "include/core/SkClipOp.h"
|
16
13
|
#include "include/core/SkColor.h"
|
17
14
|
#include "include/core/SkM44.h"
|
18
15
|
#include "include/core/SkRefCnt.h"
|
19
16
|
#include "include/core/SkSamplingOptions.h"
|
20
17
|
#include "include/core/SkScalar.h"
|
21
18
|
#include "include/core/SkTypes.h"
|
22
|
-
#include "include/private/SkTDArray.h"
|
19
|
+
#include "include/private/base/SkTDArray.h"
|
23
20
|
#include "include/utils/SkNoDrawCanvas.h"
|
24
21
|
|
25
22
|
#include <cstddef>
|
@@ -28,6 +25,7 @@ namespace sktext {
|
|
28
25
|
class GlyphRunList;
|
29
26
|
}
|
30
27
|
|
28
|
+
class SkCanvas;
|
31
29
|
class SkData;
|
32
30
|
class SkDrawable;
|
33
31
|
class SkImage;
|
@@ -40,12 +38,14 @@ class SkRegion;
|
|
40
38
|
class SkShader;
|
41
39
|
class SkTextBlob;
|
42
40
|
class SkVertices;
|
41
|
+
enum class SkBlendMode;
|
42
|
+
enum class SkClipOp;
|
43
43
|
struct SkDrawShadowRec;
|
44
44
|
struct SkPoint;
|
45
45
|
struct SkRSXform;
|
46
46
|
struct SkRect;
|
47
47
|
|
48
|
-
#if
|
48
|
+
#if defined(SK_GANESH)
|
49
49
|
namespace sktext::gpu {
|
50
50
|
class Slug;
|
51
51
|
}
|
@@ -77,7 +77,7 @@ protected:
|
|
77
77
|
void onDrawGlyphRunList(const sktext::GlyphRunList&, const SkPaint&) override;
|
78
78
|
void onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y,
|
79
79
|
const SkPaint& paint) override;
|
80
|
-
#if
|
80
|
+
#if defined(SK_GANESH)
|
81
81
|
void onDrawSlug(const sktext::gpu::Slug* slug) override;
|
82
82
|
#endif
|
83
83
|
void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
|
@@ -39,14 +39,15 @@ public:
|
|
39
39
|
protected:
|
40
40
|
int onCountFamilies() const override;
|
41
41
|
void onGetFamilyName(int index, SkString* familyName) const override;
|
42
|
-
SkFontStyleSet
|
42
|
+
sk_sp<SkFontStyleSet> onCreateStyleSet(int index)const override;
|
43
43
|
|
44
|
-
SkFontStyleSet
|
44
|
+
sk_sp<SkFontStyleSet> onMatchFamily(const char familyName[]) const override;
|
45
45
|
|
46
|
-
SkTypeface
|
47
|
-
|
48
|
-
|
49
|
-
|
46
|
+
sk_sp<SkTypeface> onMatchFamilyStyle(const char familyName[],
|
47
|
+
const SkFontStyle&) const override;
|
48
|
+
sk_sp<SkTypeface> onMatchFamilyStyleCharacter(const char familyName[], const SkFontStyle&,
|
49
|
+
const char* bcp47[], int bcp47Count,
|
50
|
+
SkUnichar character) const override;
|
50
51
|
|
51
52
|
// Note: all of these always return null
|
52
53
|
sk_sp<SkTypeface> onMakeFromData(sk_sp<SkData>, int ttcIndex) const override;
|
@@ -8,7 +8,6 @@
|
|
8
8
|
#ifndef SkPaintFilterCanvas_DEFINED
|
9
9
|
#define SkPaintFilterCanvas_DEFINED
|
10
10
|
|
11
|
-
#include "include/core/SkBlendMode.h"
|
12
11
|
#include "include/core/SkCanvas.h"
|
13
12
|
#include "include/core/SkCanvasVirtualEnforcer.h"
|
14
13
|
#include "include/core/SkColor.h"
|
@@ -18,7 +17,7 @@
|
|
18
17
|
#include "include/core/SkScalar.h"
|
19
18
|
#include "include/core/SkSize.h"
|
20
19
|
#include "include/core/SkTypes.h"
|
21
|
-
#include "include/private/SkTDArray.h"
|
20
|
+
#include "include/private/base/SkTDArray.h"
|
22
21
|
#include "include/utils/SkNWayCanvas.h"
|
23
22
|
|
24
23
|
#include <cstddef>
|
@@ -42,6 +41,7 @@ class SkSurface;
|
|
42
41
|
class SkSurfaceProps;
|
43
42
|
class SkTextBlob;
|
44
43
|
class SkVertices;
|
44
|
+
enum class SkBlendMode;
|
45
45
|
struct SkDrawShadowRec;
|
46
46
|
struct SkPoint;
|
47
47
|
struct SkRSXform;
|
@@ -19,7 +19,7 @@ public:
|
|
19
19
|
static bool FromSVGString(const char str[], SkPath*);
|
20
20
|
|
21
21
|
enum class PathEncoding { Absolute, Relative };
|
22
|
-
static
|
22
|
+
static SkString ToSVGString(const SkPath&, PathEncoding = PathEncoding::Absolute);
|
23
23
|
};
|
24
24
|
|
25
25
|
#endif
|
@@ -51,6 +51,17 @@ SKCMS_API float skcms_TransferFunction_eval (const skcms_TransferFunction*, flo
|
|
51
51
|
SKCMS_API bool skcms_TransferFunction_invert(const skcms_TransferFunction*,
|
52
52
|
skcms_TransferFunction*);
|
53
53
|
|
54
|
+
typedef enum skcms_TFType {
|
55
|
+
skcms_TFType_Invalid,
|
56
|
+
skcms_TFType_sRGBish,
|
57
|
+
skcms_TFType_PQish,
|
58
|
+
skcms_TFType_HLGish,
|
59
|
+
skcms_TFType_HLGinvish,
|
60
|
+
} skcms_TFType;
|
61
|
+
|
62
|
+
// Identify which kind of transfer function is encoded in an skcms_TransferFunction
|
63
|
+
SKCMS_API skcms_TFType skcms_TransferFunction_getType(const skcms_TransferFunction*);
|
64
|
+
|
54
65
|
// We can jam a couple alternate transfer function forms into skcms_TransferFunction,
|
55
66
|
// including those matching the general forms of the SMPTE ST 2084 PQ function or HLG.
|
56
67
|
//
|
@@ -307,6 +318,9 @@ typedef enum skcms_PixelFormat {
|
|
307
318
|
skcms_PixelFormat_BGR_fff, // Pointers must be 32-bit aligned.
|
308
319
|
skcms_PixelFormat_RGBA_ffff,
|
309
320
|
skcms_PixelFormat_BGRA_ffff,
|
321
|
+
|
322
|
+
skcms_PixelFormat_RGB_101010x_XR, // Note: This is located here to signal no clamping.
|
323
|
+
skcms_PixelFormat_BGR_101010x_XR, // Compatible with MTLPixelFormatBGR10_XR.
|
310
324
|
} skcms_PixelFormat;
|
311
325
|
|
312
326
|
// We always store any alpha channel linearly. In the chart below, tf-1() is the inverse
|
@@ -903,6 +903,16 @@ static void exec_ops(const Op* ops, const void** args,
|
|
903
903
|
a = cast<F>((rgba >> 30) & 0x3 ) * (1/ 3.0f);
|
904
904
|
} break;
|
905
905
|
|
906
|
+
case Op_load_101010x_XR:{
|
907
|
+
static constexpr float min = -0.752941f;
|
908
|
+
static constexpr float max = 1.25098f;
|
909
|
+
static constexpr float range = max - min;
|
910
|
+
U32 rgba = load<U32>(src + 4*i);
|
911
|
+
r = cast<F>((rgba >> 0) & 0x3ff) * (1/1023.0f) * range + min;
|
912
|
+
g = cast<F>((rgba >> 10) & 0x3ff) * (1/1023.0f) * range + min;
|
913
|
+
b = cast<F>((rgba >> 20) & 0x3ff) * (1/1023.0f) * range + min;
|
914
|
+
} break;
|
915
|
+
|
906
916
|
case Op_load_161616LE:{
|
907
917
|
uintptr_t ptr = (uintptr_t)(src + 6*i);
|
908
918
|
assert( (ptr & 1) == 0 ); // src must be 2-byte aligned for this
|
@@ -1313,6 +1323,15 @@ static void exec_ops(const Op* ops, const void** args,
|
|
1313
1323
|
| cast<U32>(to_fixed(a * 255)) << 24);
|
1314
1324
|
} return;
|
1315
1325
|
|
1326
|
+
case Op_store_101010x_XR: {
|
1327
|
+
static constexpr float min = -0.752941f;
|
1328
|
+
static constexpr float max = 1.25098f;
|
1329
|
+
static constexpr float range = max - min;
|
1330
|
+
store(dst + 4*i, cast<U32>(to_fixed(((r - min) / range) * 1023)) << 0
|
1331
|
+
| cast<U32>(to_fixed(((g - min) / range) * 1023)) << 10
|
1332
|
+
| cast<U32>(to_fixed(((b - min) / range) * 1023)) << 20);
|
1333
|
+
return;
|
1334
|
+
}
|
1316
1335
|
case Op_store_1010102: {
|
1317
1336
|
store(dst + 4*i, cast<U32>(to_fixed(r * 1023)) << 0
|
1318
1337
|
| cast<U32>(to_fixed(g * 1023)) << 10
|
@@ -7,10 +7,10 @@
|
|
7
7
|
#include <set>
|
8
8
|
#include "include/core/SkFontMgr.h"
|
9
9
|
#include "include/core/SkRefCnt.h"
|
10
|
-
#include "include/private/SkTHash.h"
|
11
10
|
#include "modules/skparagraph/include/FontArguments.h"
|
12
11
|
#include "modules/skparagraph/include/ParagraphCache.h"
|
13
12
|
#include "modules/skparagraph/include/TextStyle.h"
|
13
|
+
#include "src/core/SkTHash.h"
|
14
14
|
|
15
15
|
namespace skia {
|
16
16
|
namespace textlayout {
|
@@ -69,7 +69,7 @@ private:
|
|
69
69
|
};
|
70
70
|
|
71
71
|
bool fEnableFontFallback;
|
72
|
-
|
72
|
+
skia_private::THashMap<FamilyKey, std::vector<sk_sp<SkTypeface>>, FamilyKey::Hasher> fTypefaces;
|
73
73
|
sk_sp<SkFontMgr> fDefaultFontManager;
|
74
74
|
sk_sp<SkFontMgr> fAssetFontManager;
|
75
75
|
sk_sp<SkFontMgr> fDynamicFontManager;
|
@@ -12,6 +12,8 @@ class SkCanvas;
|
|
12
12
|
namespace skia {
|
13
13
|
namespace textlayout {
|
14
14
|
|
15
|
+
class ParagraphPainter;
|
16
|
+
|
15
17
|
class Paragraph {
|
16
18
|
|
17
19
|
public:
|
@@ -39,6 +41,8 @@ public:
|
|
39
41
|
|
40
42
|
virtual void paint(SkCanvas* canvas, SkScalar x, SkScalar y) = 0;
|
41
43
|
|
44
|
+
virtual void paint(ParagraphPainter* painter, SkScalar x, SkScalar y) = 0;
|
45
|
+
|
42
46
|
// Returns a vector of bounding boxes that enclose all text between
|
43
47
|
// start and end glyph indexes, including start and excluding end
|
44
48
|
virtual std::vector<TextBox> getRectsForRange(unsigned start,
|
@@ -66,9 +70,9 @@ public:
|
|
66
70
|
// -1 if not applicable (has not been shaped yet - valid case)
|
67
71
|
virtual int32_t unresolvedGlyphs() = 0;
|
68
72
|
|
69
|
-
// Experimental API that allows fast way to update "immutable" paragraph
|
73
|
+
// Experimental API that allows fast way to update some of "immutable" paragraph attributes
|
74
|
+
// but not the text itself
|
70
75
|
virtual void updateTextAlign(TextAlign textAlign) = 0;
|
71
|
-
virtual void updateText(size_t from, SkString text) = 0;
|
72
76
|
virtual void updateFontSize(size_t from, size_t to, SkScalar fontSize) = 0;
|
73
77
|
virtual void updateForegroundPaint(size_t from, size_t to, SkPaint paint) = 0;
|
74
78
|
virtual void updateBackgroundPaint(size_t from, size_t to, SkPaint paint) = 0;
|
@@ -91,6 +95,72 @@ public:
|
|
91
95
|
using Visitor = std::function<void(int lineNumber, const VisitorInfo*)>;
|
92
96
|
virtual void visit(const Visitor&) = 0;
|
93
97
|
|
98
|
+
// Editing API
|
99
|
+
virtual int getLineNumberAt(TextIndex codeUnitIndex) const = 0;
|
100
|
+
|
101
|
+
/* Returns line metrics info for the line
|
102
|
+
*
|
103
|
+
* @param lineNumber a line number
|
104
|
+
* @param lineMetrics an address to return the info (in case of null just skipped)
|
105
|
+
* @return true if the line is found; false if not
|
106
|
+
*/
|
107
|
+
virtual bool getLineMetricsAt(int lineNumber, LineMetrics* lineMetrics) const = 0;
|
108
|
+
|
109
|
+
/* Returns the visible text on the line (excluding a possible ellipsis)
|
110
|
+
*
|
111
|
+
* @param lineNumber a line number
|
112
|
+
* @param includeSpaces indicates if the whitespaces should be included
|
113
|
+
* @return the range of the text that is shown in the line
|
114
|
+
*/
|
115
|
+
virtual TextRange getActualTextRange(int lineNumber, bool includeSpaces) const = 0;
|
116
|
+
|
117
|
+
struct GlyphClusterInfo {
|
118
|
+
SkRect fBounds;
|
119
|
+
TextRange fClusterTextRange;
|
120
|
+
TextDirection fGlyphClusterPosition;
|
121
|
+
};
|
122
|
+
|
123
|
+
/** Finds a glyph cluster for text index
|
124
|
+
*
|
125
|
+
* @param codeUnitIndex a text index
|
126
|
+
* @param glyphInfo a glyph cluster info filled if not null
|
127
|
+
* @return true if glyph cluster was found; false if not
|
128
|
+
*/
|
129
|
+
virtual bool getGlyphClusterAt(TextIndex codeUnitIndex, GlyphClusterInfo* glyphInfo) = 0;
|
130
|
+
|
131
|
+
/** Finds the closest glyph cluster for a visual text position
|
132
|
+
*
|
133
|
+
* @param dx x coordinate
|
134
|
+
* @param dy y coordinate
|
135
|
+
* @param glyphInfo a glyph cluster info filled if not null
|
136
|
+
* @return
|
137
|
+
*/
|
138
|
+
virtual bool getClosestGlyphClusterAt(SkScalar dx,
|
139
|
+
SkScalar dy,
|
140
|
+
GlyphClusterInfo* glyphInfo) = 0;
|
141
|
+
|
142
|
+
struct FontInfo {
|
143
|
+
FontInfo(const SkFont font, const TextRange textRange)
|
144
|
+
: fFont(font), fTextRange(textRange) { }
|
145
|
+
virtual ~FontInfo() = default;
|
146
|
+
FontInfo(const FontInfo& ) = default;
|
147
|
+
SkFont fFont;
|
148
|
+
TextRange fTextRange;
|
149
|
+
};
|
150
|
+
|
151
|
+
/** Returns the font that is used to shape the text at the position
|
152
|
+
*
|
153
|
+
* @param codeUnitIndex text index
|
154
|
+
* @return font info or an empty font info if the text is not found
|
155
|
+
*/
|
156
|
+
virtual SkFont getFontAt(TextIndex codeUnitIndex) const = 0;
|
157
|
+
|
158
|
+
/** Returns the information about all the fonts used to shape the paragraph text
|
159
|
+
*
|
160
|
+
* @return a list of fonts and text ranges
|
161
|
+
*/
|
162
|
+
virtual std::vector<FontInfo> getFonts() const = 0;
|
163
|
+
|
94
164
|
protected:
|
95
165
|
sk_sp<FontCollection> fFontCollection;
|
96
166
|
ParagraphStyle fParagraphStyle;
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#ifndef ParagraphCache_DEFINED
|
3
3
|
#define ParagraphCache_DEFINED
|
4
4
|
|
5
|
-
#include "include/private/SkMutex.h"
|
5
|
+
#include "include/private/base/SkMutex.h"
|
6
6
|
#include "src/core/SkLRUCache.h"
|
7
7
|
#include <functional> // std::function
|
8
8
|
|
@@ -11,16 +11,6 @@
|
|
11
11
|
namespace skia {
|
12
12
|
namespace textlayout {
|
13
13
|
|
14
|
-
enum InternalState {
|
15
|
-
kUnknown = 0,
|
16
|
-
kShaped = 2,
|
17
|
-
kClusterized = 3,
|
18
|
-
kMarked = 4,
|
19
|
-
kLineBroken = 5,
|
20
|
-
kFormatted = 6,
|
21
|
-
kDrawn = 7
|
22
|
-
};
|
23
|
-
|
24
14
|
class ParagraphImpl;
|
25
15
|
class ParagraphCacheKey;
|
26
16
|
class ParagraphCacheValue;
|
@@ -0,0 +1,63 @@
|
|
1
|
+
// Copyright 2019 Google LLC.
|
2
|
+
#ifndef ParagraphPainter_DEFINED
|
3
|
+
#define ParagraphPainter_DEFINED
|
4
|
+
|
5
|
+
#include "include/core/SkPaint.h"
|
6
|
+
#include "include/core/SkTextBlob.h"
|
7
|
+
|
8
|
+
#include <optional>
|
9
|
+
#include <variant>
|
10
|
+
|
11
|
+
namespace skia {
|
12
|
+
namespace textlayout {
|
13
|
+
|
14
|
+
class ParagraphPainter {
|
15
|
+
public:
|
16
|
+
typedef int PaintID;
|
17
|
+
typedef std::variant<SkPaint, PaintID> SkPaintOrID;
|
18
|
+
|
19
|
+
struct DashPathEffect {
|
20
|
+
DashPathEffect(SkScalar onLength, SkScalar offLength);
|
21
|
+
|
22
|
+
SkScalar fOnLength;
|
23
|
+
SkScalar fOffLength;
|
24
|
+
};
|
25
|
+
|
26
|
+
class DecorationStyle {
|
27
|
+
public:
|
28
|
+
DecorationStyle();
|
29
|
+
DecorationStyle(SkColor color, SkScalar strokeWidth,
|
30
|
+
std::optional<DashPathEffect> dashPathEffect);
|
31
|
+
|
32
|
+
SkColor getColor() const { return fColor; }
|
33
|
+
SkScalar getStrokeWidth() const { return fStrokeWidth; }
|
34
|
+
std::optional<DashPathEffect> getDashPathEffect() const { return fDashPathEffect; }
|
35
|
+
const SkPaint& skPaint() const { return fPaint; }
|
36
|
+
|
37
|
+
private:
|
38
|
+
SkColor fColor;
|
39
|
+
SkScalar fStrokeWidth;
|
40
|
+
std::optional<DashPathEffect> fDashPathEffect;
|
41
|
+
SkPaint fPaint;
|
42
|
+
};
|
43
|
+
|
44
|
+
virtual ~ParagraphPainter() = default;
|
45
|
+
|
46
|
+
virtual void drawTextBlob(const sk_sp<SkTextBlob>& blob, SkScalar x, SkScalar y, const SkPaintOrID& paint) = 0;
|
47
|
+
virtual void drawTextShadow(const sk_sp<SkTextBlob>& blob, SkScalar x, SkScalar y, SkColor color, SkScalar blurSigma) = 0;
|
48
|
+
virtual void drawRect(const SkRect& rect, const SkPaintOrID& paint) = 0;
|
49
|
+
virtual void drawFilledRect(const SkRect& rect, const DecorationStyle& decorStyle) = 0;
|
50
|
+
virtual void drawPath(const SkPath& path, const DecorationStyle& decorStyle) = 0;
|
51
|
+
virtual void drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1, const DecorationStyle& decorStyle) = 0;
|
52
|
+
|
53
|
+
virtual void clipRect(const SkRect& rect) = 0;
|
54
|
+
virtual void translate(SkScalar dx, SkScalar dy) = 0;
|
55
|
+
|
56
|
+
virtual void save() = 0;
|
57
|
+
virtual void restore() = 0;
|
58
|
+
};
|
59
|
+
|
60
|
+
} // namespace textlayout
|
61
|
+
} // namespace skia
|
62
|
+
|
63
|
+
#endif // ParagraphPainter_DEFINED
|
@@ -12,6 +12,7 @@
|
|
12
12
|
#include "include/core/SkScalar.h"
|
13
13
|
#include "modules/skparagraph/include/DartTypes.h"
|
14
14
|
#include "modules/skparagraph/include/FontArguments.h"
|
15
|
+
#include "modules/skparagraph/include/ParagraphPainter.h"
|
15
16
|
#include "modules/skparagraph/include/TextShadow.h"
|
16
17
|
|
17
18
|
// TODO: Make it external so the other platforms (Android) could use it
|
@@ -165,19 +166,41 @@ public:
|
|
165
166
|
void setColor(SkColor color) { fColor = color; }
|
166
167
|
|
167
168
|
bool hasForeground() const { return fHasForeground; }
|
168
|
-
SkPaint getForeground() const {
|
169
|
+
SkPaint getForeground() const {
|
170
|
+
const SkPaint* paint = std::get_if<SkPaint>(&fForeground);
|
171
|
+
return paint ? *paint : SkPaint();
|
172
|
+
}
|
173
|
+
ParagraphPainter::SkPaintOrID getForegroundPaintOrID() const {
|
174
|
+
return fForeground;
|
175
|
+
}
|
169
176
|
void setForegroundColor(SkPaint paint) {
|
170
177
|
fHasForeground = true;
|
171
178
|
fForeground = std::move(paint);
|
172
179
|
}
|
180
|
+
// Set the foreground to a paint ID. This is intended for use by clients
|
181
|
+
// that implement a custom ParagraphPainter that can not accept an SkPaint.
|
182
|
+
void setForegroundPaintID(ParagraphPainter::PaintID paintID) {
|
183
|
+
fHasForeground = true;
|
184
|
+
fForeground = paintID;
|
185
|
+
}
|
173
186
|
void clearForegroundColor() { fHasForeground = false; }
|
174
187
|
|
175
188
|
bool hasBackground() const { return fHasBackground; }
|
176
|
-
SkPaint getBackground() const {
|
189
|
+
SkPaint getBackground() const {
|
190
|
+
const SkPaint* paint = std::get_if<SkPaint>(&fBackground);
|
191
|
+
return paint ? *paint : SkPaint();
|
192
|
+
}
|
193
|
+
ParagraphPainter::SkPaintOrID getBackgroundPaintOrID() const {
|
194
|
+
return fBackground;
|
195
|
+
}
|
177
196
|
void setBackgroundColor(SkPaint paint) {
|
178
197
|
fHasBackground = true;
|
179
198
|
fBackground = std::move(paint);
|
180
199
|
}
|
200
|
+
void setBackgroundPaintID(ParagraphPainter::PaintID paintID) {
|
201
|
+
fHasBackground = true;
|
202
|
+
fBackground = paintID;
|
203
|
+
}
|
181
204
|
void clearBackgroundColor() { fHasBackground = false; }
|
182
205
|
|
183
206
|
// Decorations
|
@@ -291,9 +314,9 @@ private:
|
|
291
314
|
|
292
315
|
SkColor fColor = SK_ColorWHITE;
|
293
316
|
bool fHasBackground = false;
|
294
|
-
|
317
|
+
ParagraphPainter::SkPaintOrID fBackground;
|
295
318
|
bool fHasForeground = false;
|
296
|
-
|
319
|
+
ParagraphPainter::SkPaintOrID fForeground;
|
297
320
|
|
298
321
|
std::vector<TextShadow> fTextShadows;
|
299
322
|
|
@@ -2,8 +2,8 @@
|
|
2
2
|
#ifndef TypefaceFontProvider_DEFINED
|
3
3
|
#define TypefaceFontProvider_DEFINED
|
4
4
|
|
5
|
-
#include "include/private/SkTArray.h"
|
6
|
-
#include "
|
5
|
+
#include "include/private/base/SkTArray.h"
|
6
|
+
#include "src/core/SkTHash.h"
|
7
7
|
#include <string>
|
8
8
|
#include <unordered_map>
|
9
9
|
#include <vector>
|
@@ -20,15 +20,15 @@ public:
|
|
20
20
|
|
21
21
|
int count() override;
|
22
22
|
void getStyle(int index, SkFontStyle*, SkString* name) override;
|
23
|
-
SkTypeface
|
24
|
-
SkTypeface
|
23
|
+
sk_sp<SkTypeface> createTypeface(int index) override;
|
24
|
+
sk_sp<SkTypeface> matchStyle(const SkFontStyle& pattern) override;
|
25
25
|
|
26
26
|
SkString getFamilyName() const { return fFamilyName; }
|
27
27
|
SkString getAlias() const { return fAlias; }
|
28
28
|
void appendTypeface(sk_sp<SkTypeface> typeface);
|
29
29
|
|
30
30
|
private:
|
31
|
-
|
31
|
+
skia_private::TArray<sk_sp<SkTypeface>> fStyles;
|
32
32
|
SkString fFamilyName;
|
33
33
|
SkString fAlias;
|
34
34
|
};
|
@@ -42,15 +42,15 @@ public:
|
|
42
42
|
|
43
43
|
void onGetFamilyName(int index, SkString* familyName) const override;
|
44
44
|
|
45
|
-
SkFontStyleSet
|
45
|
+
sk_sp<SkFontStyleSet> onMatchFamily(const char familyName[]) const override;
|
46
46
|
|
47
|
-
SkFontStyleSet
|
48
|
-
SkTypeface
|
47
|
+
sk_sp<SkFontStyleSet> onCreateStyleSet(int) const override { return nullptr; }
|
48
|
+
sk_sp<SkTypeface> onMatchFamilyStyle(const char[], const SkFontStyle&) const override {
|
49
49
|
return nullptr;
|
50
50
|
}
|
51
|
-
SkTypeface
|
52
|
-
|
53
|
-
|
51
|
+
sk_sp<SkTypeface> onMatchFamilyStyleCharacter(const char[], const SkFontStyle&,
|
52
|
+
const char*[], int,
|
53
|
+
SkUnichar) const override {
|
54
54
|
return nullptr;
|
55
55
|
}
|
56
56
|
|
@@ -71,8 +71,8 @@ public:
|
|
71
71
|
}
|
72
72
|
|
73
73
|
private:
|
74
|
-
|
75
|
-
|
74
|
+
skia_private::THashMap<SkString, sk_sp<TypefaceFontStyleSet>> fRegisteredFamilies;
|
75
|
+
skia_private::TArray<SkString> fFamilyNames;
|
76
76
|
};
|
77
77
|
|
78
78
|
} // namespace textlayout
|
@@ -15,8 +15,8 @@
|
|
15
15
|
#include "include/core/SkString.h"
|
16
16
|
#include "include/core/SkTypeface.h"
|
17
17
|
#include "include/core/SkTypes.h"
|
18
|
-
#include "include/private/SkMutex.h"
|
19
|
-
#include "
|
18
|
+
#include "include/private/base/SkMutex.h"
|
19
|
+
#include "src/core/SkTHash.h"
|
20
20
|
|
21
21
|
#include <memory>
|
22
22
|
|
@@ -50,6 +50,18 @@ public:
|
|
50
50
|
*/
|
51
51
|
virtual sk_sp<SkImage> getFrame(float t);
|
52
52
|
|
53
|
+
// Describes how the frame image is to be scaled to the animation-declared asset size.
|
54
|
+
enum class SizeFit {
|
55
|
+
// See SkMatrix::ScaleToFit
|
56
|
+
kFill = SkMatrix::kFill_ScaleToFit,
|
57
|
+
kStart = SkMatrix::kStart_ScaleToFit,
|
58
|
+
kCenter = SkMatrix::kCenter_ScaleToFit,
|
59
|
+
kEnd = SkMatrix::kEnd_ScaleToFit,
|
60
|
+
|
61
|
+
// No scaling.
|
62
|
+
kNone,
|
63
|
+
};
|
64
|
+
|
53
65
|
struct FrameData {
|
54
66
|
// SkImage payload.
|
55
67
|
sk_sp<SkImage> image;
|
@@ -57,6 +69,8 @@ public:
|
|
57
69
|
SkSamplingOptions sampling;
|
58
70
|
// Additional image transform to be applied before AE scaling rules.
|
59
71
|
SkMatrix matrix = SkMatrix::I();
|
72
|
+
// Strategy for image size -> AE asset size scaling.
|
73
|
+
SizeFit scaling = SizeFit::kCenter;
|
60
74
|
};
|
61
75
|
|
62
76
|
/**
|
@@ -227,8 +241,8 @@ private:
|
|
227
241
|
|
228
242
|
sk_sp<ImageAsset> loadImageAsset(const char[], const char[], const char[]) const override;
|
229
243
|
|
230
|
-
mutable SkMutex
|
231
|
-
mutable
|
244
|
+
mutable SkMutex fMutex;
|
245
|
+
mutable skia_private::THashMap<SkString, sk_sp<ImageAsset>> fImageCache;
|
232
246
|
|
233
247
|
using INHERITED = ResourceProviderProxyBase;
|
234
248
|
};
|
@@ -10,9 +10,9 @@
|
|
10
10
|
|
11
11
|
#include <vector>
|
12
12
|
|
13
|
-
#include "include/private/SkNoncopyable.h"
|
13
|
+
#include "include/private/base/SkNoncopyable.h"
|
14
14
|
#include "modules/svg/include/SkSVGTypes.h"
|
15
|
-
#include "src/
|
15
|
+
#include "src/base/SkTLazy.h"
|
16
16
|
|
17
17
|
class SkSVGAttributeParser : public SkNoncopyable {
|
18
18
|
public:
|
@@ -8,7 +8,7 @@
|
|
8
8
|
#ifndef SkSVGContainer_DEFINED
|
9
9
|
#define SkSVGContainer_DEFINED
|
10
10
|
|
11
|
-
#include "include/private/SkTArray.h"
|
11
|
+
#include "include/private/base/SkTArray.h"
|
12
12
|
#include "modules/svg/include/SkSVGTransformableNode.h"
|
13
13
|
|
14
14
|
class SkSVGContainer : public SkSVGTransformableNode {
|
@@ -27,7 +27,7 @@ protected:
|
|
27
27
|
bool hasChildren() const final;
|
28
28
|
|
29
29
|
// TODO: add some sort of child iterator, and hide the container.
|
30
|
-
|
30
|
+
skia_private::STArray<1, sk_sp<SkSVGNode>, true> fChildren;
|
31
31
|
|
32
32
|
private:
|
33
33
|
using INHERITED = SkSVGTransformableNode;
|
@@ -11,7 +11,7 @@
|
|
11
11
|
#include "include/core/SkFontMgr.h"
|
12
12
|
#include "include/core/SkRefCnt.h"
|
13
13
|
#include "include/core/SkSize.h"
|
14
|
-
#include "include/private/SkTemplates.h"
|
14
|
+
#include "include/private/base/SkTemplates.h"
|
15
15
|
#include "modules/skresources/include/SkResources.h"
|
16
16
|
#include "modules/svg/include/SkSVGIDMapper.h"
|
17
17
|
|
@@ -11,8 +11,8 @@
|
|
11
11
|
#include "include/core/SkRect.h"
|
12
12
|
#include "include/core/SkRefCnt.h"
|
13
13
|
#include "include/core/SkString.h"
|
14
|
-
#include "include/private/SkTHash.h"
|
15
14
|
#include "modules/svg/include/SkSVGTypes.h"
|
15
|
+
#include "src/core/SkTHash.h"
|
16
16
|
|
17
17
|
class SkImageFilter;
|
18
18
|
class SkSVGFeInputType;
|
@@ -61,7 +61,7 @@ private:
|
|
61
61
|
|
62
62
|
SkSVGObjectBoundingBoxUnits fPrimitiveUnits;
|
63
63
|
|
64
|
-
|
64
|
+
skia_private::THashMap<SkSVGStringType, Result> fResults;
|
65
65
|
|
66
66
|
Result fPreviousResult;
|
67
67
|
};
|
@@ -37,8 +37,8 @@ protected:
|
|
37
37
|
SkTileMode, const SkMatrix& localMatrix) const = 0;
|
38
38
|
|
39
39
|
private:
|
40
|
-
using StopPositionArray =
|
41
|
-
using StopColorArray =
|
40
|
+
using StopPositionArray = skia_private::STArray<2, SkScalar , true>;
|
41
|
+
using StopColorArray = skia_private::STArray<2, SkColor4f, true>;
|
42
42
|
void collectColorStops(const SkSVGRenderContext&, StopPositionArray*, StopColorArray*) const;
|
43
43
|
SkColor4f resolveStopColor(const SkSVGRenderContext&, const SkSVGStop&) const;
|
44
44
|
|
@@ -9,11 +9,11 @@
|
|
9
9
|
#define SkSVGIDMapper_DEFINED
|
10
10
|
|
11
11
|
#include "include/core/SkRefCnt.h"
|
12
|
-
#include "
|
12
|
+
#include "src/core/SkTHash.h"
|
13
13
|
|
14
14
|
class SkString;
|
15
15
|
class SkSVGNode;
|
16
16
|
|
17
|
-
using SkSVGIDMapper =
|
17
|
+
using SkSVGIDMapper = skia_private::THashMap<SkString, sk_sp<SkSVGNode>>;
|
18
18
|
|
19
19
|
#endif // SkSVGIDMapper_DEFINED
|