@shopify/react-native-skia 0.1.213 → 0.1.214
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/android/cpp/rnskia-android/SkiaOpenGLHelper.h +3 -2
- package/android/cpp/rnskia-android/SkiaOpenGLSurfaceFactory.cpp +9 -2
- package/cpp/api/JsiSkSurface.h +4 -1
- package/cpp/skia/include/android/GrAHardwareBufferUtils.h +99 -0
- package/cpp/skia/include/android/SkHeifDecoder.h +10 -3
- package/cpp/skia/include/codec/SkAvifDecoder.h +1 -0
- package/cpp/skia/include/codec/SkBmpDecoder.h +1 -0
- package/cpp/skia/include/codec/SkCodec.h +4 -3
- package/cpp/skia/include/codec/SkEncodedImageFormat.h +0 -3
- package/cpp/skia/include/codec/SkGifDecoder.h +1 -0
- package/cpp/skia/include/codec/SkIcoDecoder.h +1 -0
- package/cpp/skia/include/codec/SkJpegDecoder.h +1 -0
- package/cpp/skia/include/codec/SkJpegxlDecoder.h +1 -0
- package/cpp/skia/include/codec/SkPngDecoder.h +1 -0
- package/cpp/skia/include/codec/SkRawDecoder.h +1 -0
- package/cpp/skia/include/codec/SkWbmpDecoder.h +1 -0
- package/cpp/skia/include/codec/SkWebpDecoder.h +1 -0
- package/cpp/skia/include/config/SkUserConfig.h +0 -2
- package/cpp/skia/include/core/SkBitmap.h +8 -8
- package/cpp/skia/include/core/SkCanvas.h +37 -50
- package/cpp/skia/include/core/SkCapabilities.h +2 -7
- package/cpp/skia/include/core/SkColor.h +1 -1
- package/cpp/skia/include/core/SkColorFilter.h +6 -0
- package/cpp/skia/include/core/SkColorTable.h +3 -0
- package/cpp/skia/include/core/SkColorType.h +2 -0
- package/cpp/skia/include/core/SkContourMeasure.h +12 -8
- package/cpp/skia/include/core/SkDocument.h +1 -0
- package/cpp/skia/include/core/SkFont.h +11 -2
- package/cpp/skia/include/core/SkFontMgr.h +2 -3
- package/cpp/skia/include/core/SkGraphics.h +3 -13
- package/cpp/skia/include/core/SkImage.h +57 -111
- package/cpp/skia/include/core/SkImageFilter.h +6 -1
- package/cpp/skia/include/core/SkImageGenerator.h +8 -0
- package/cpp/skia/include/core/SkImageInfo.h +0 -2
- package/cpp/skia/include/core/SkM44.h +7 -3
- package/cpp/skia/include/core/SkMallocPixelRef.h +4 -1
- package/cpp/skia/include/core/SkMatrix.h +17 -17
- package/cpp/skia/include/core/SkMesh.h +71 -61
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkOverdrawCanvas.h +25 -0
- package/cpp/skia/include/core/SkPaint.h +1 -1
- package/cpp/skia/include/core/SkPath.h +12 -4
- package/cpp/skia/include/core/SkPathMeasure.h +3 -4
- package/cpp/skia/include/core/SkPicture.h +19 -6
- package/cpp/skia/include/core/SkPictureRecorder.h +6 -6
- package/cpp/skia/include/core/SkPixmap.h +2 -3
- package/cpp/skia/include/core/SkRRect.h +1 -1
- package/cpp/skia/include/core/SkRect.h +107 -110
- package/cpp/skia/include/core/SkRefCnt.h +1 -1
- package/cpp/skia/include/core/SkRegion.h +7 -1
- package/cpp/skia/include/core/SkSerialProcs.h +14 -0
- package/cpp/skia/include/core/SkShader.h +9 -0
- package/cpp/skia/include/core/SkStream.h +9 -9
- package/cpp/skia/include/core/SkString.h +1 -1
- package/cpp/skia/include/core/SkSurface.h +14 -25
- package/cpp/skia/include/core/SkTextBlob.h +17 -4
- package/cpp/skia/include/core/SkTiledImageUtils.h +28 -0
- package/cpp/skia/include/core/SkTypeface.h +7 -2
- package/cpp/skia/include/core/SkTypes.h +4 -12
- package/cpp/skia/include/docs/SkPDFDocument.h +17 -3
- package/cpp/skia/include/effects/SkImageFilters.h +73 -24
- package/cpp/skia/include/effects/SkRuntimeEffect.h +20 -51
- package/cpp/skia/include/gpu/GpuTypes.h +13 -0
- package/cpp/skia/include/gpu/GrBackendSurface.h +95 -262
- package/cpp/skia/include/gpu/GrContextOptions.h +7 -1
- package/cpp/skia/include/gpu/GrDirectContext.h +138 -128
- package/cpp/skia/include/gpu/GrRecordingContext.h +9 -4
- package/cpp/skia/include/gpu/GrSurfaceInfo.h +0 -24
- package/cpp/skia/include/gpu/GrTypes.h +16 -1
- package/cpp/skia/include/gpu/GrYUVABackendTextures.h +4 -4
- package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +2 -2
- package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +44 -12
- package/cpp/skia/include/gpu/ganesh/SkMeshGanesh.h +57 -0
- package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +2 -1
- package/cpp/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +58 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +29 -0
- package/cpp/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h +1 -1
- package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +67 -0
- package/cpp/skia/include/gpu/gl/GrGLInterface.h +2 -2
- package/cpp/skia/include/gpu/graphite/BackendTexture.h +14 -3
- package/cpp/skia/include/gpu/graphite/Context.h +93 -13
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +19 -8
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +23 -0
- package/cpp/skia/include/gpu/graphite/Image.h +56 -0
- package/cpp/skia/include/gpu/graphite/ImageProvider.h +5 -0
- package/cpp/skia/include/gpu/graphite/Recorder.h +26 -9
- package/cpp/skia/include/gpu/graphite/Recording.h +7 -5
- package/cpp/skia/include/gpu/graphite/TextureInfo.h +8 -0
- package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +2 -2
- package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
- package/cpp/skia/include/gpu/vk/GrVkTypes.h +4 -3
- package/cpp/skia/include/ports/SkCFObject.h +1 -1
- package/cpp/skia/include/private/SkGainmapInfo.h +4 -13
- package/cpp/skia/include/private/SkJpegGainmapEncoder.h +1 -24
- package/cpp/skia/include/private/SkWeakRefCnt.h +1 -1
- package/cpp/skia/include/private/base/SkAnySubclass.h +73 -0
- package/cpp/skia/include/private/base/SkAssert.h +106 -12
- package/cpp/skia/include/private/base/SkAttributes.h +0 -12
- package/cpp/skia/include/private/base/SkFeatures.h +0 -3
- package/cpp/skia/include/private/base/SkFloatingPoint.h +58 -105
- package/cpp/skia/include/private/base/SkSpan_impl.h +18 -12
- package/cpp/skia/include/private/base/SkTArray.h +22 -17
- package/cpp/skia/include/private/base/SkTDArray.h +5 -6
- package/cpp/skia/include/private/base/SkTemplates.h +50 -30
- package/cpp/skia/include/private/chromium/GrDeferredDisplayListRecorder.h +5 -2
- package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +2 -2
- package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +13 -8
- package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +1 -1
- package/cpp/skia/include/private/chromium/SkImageChromium.h +16 -3
- package/cpp/skia/include/private/chromium/Slug.h +11 -4
- package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +6 -9
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +29 -13
- package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -28
- package/cpp/skia/include/private/gpu/graphite/ContextOptionsPriv.h +34 -0
- package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +6 -0
- package/cpp/skia/include/private/gpu/graphite/MtlGraphiteTypesPriv.h +8 -0
- package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +10 -0
- package/cpp/skia/include/utils/SkBase64.h +2 -2
- package/cpp/skia/include/utils/SkNWayCanvas.h +1 -11
- package/cpp/skia/include/utils/SkNoDrawCanvas.h +0 -2
- package/cpp/skia/include/utils/SkPaintFilterCanvas.h +1 -2
- package/cpp/skia/include/utils/SkShadowUtils.h +15 -1
- package/cpp/skia/include/utils/SkTextUtils.h +1 -1
- package/cpp/skia/modules/skparagraph/include/Paragraph.h +107 -1
- package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +3 -2
- package/cpp/skia/modules/skparagraph/include/ParagraphStyle.h +4 -0
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +5 -3
- package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +4 -0
- package/cpp/skia/src/core/SkChecksum.h +2 -1
- package/cpp/skia/src/core/SkPathPriv.h +1 -1
- package/cpp/skia/src/core/SkTHash.h +19 -9
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +3 -1
- package/ios/RNSkia-iOS/SkiaMetalSurfaceFactory.mm +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Rect.js +5 -1
- package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/commonjs/external/reanimated/index.d.ts +1 -0
- package/lib/commonjs/external/reanimated/index.js +13 -0
- package/lib/commonjs/external/reanimated/index.js.map +1 -1
- package/lib/commonjs/external/reanimated/moduleWrapper.js +3 -8
- package/lib/commonjs/external/reanimated/moduleWrapper.js.map +1 -1
- package/lib/commonjs/external/reanimated/renderHelpers.js +46 -1
- package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/commonjs/external/reanimated/useDerivedValueOnJS.d.ts +2 -0
- package/lib/commonjs/external/reanimated/useDerivedValueOnJS.js +26 -0
- package/lib/commonjs/external/reanimated/useDerivedValueOnJS.js.map +1 -0
- package/lib/commonjs/external/reanimated/useSharedValueEffect.js +2 -5
- package/lib/commonjs/external/reanimated/useSharedValueEffect.js.map +1 -1
- package/lib/commonjs/skia/types/MaskFilter.js +4 -0
- package/lib/commonjs/skia/types/MaskFilter.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPicture.js +2 -1
- package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
- package/lib/commonjs/views/SkiaBaseWebView.js +1 -1
- package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
- package/lib/commonjs/views/types.js +3 -0
- package/lib/commonjs/views/types.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Rect.js +5 -1
- package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/module/external/reanimated/index.d.ts +1 -0
- package/lib/module/external/reanimated/index.js +1 -0
- package/lib/module/external/reanimated/index.js.map +1 -1
- package/lib/module/external/reanimated/moduleWrapper.js +1 -9
- package/lib/module/external/reanimated/moduleWrapper.js.map +1 -1
- package/lib/module/external/reanimated/renderHelpers.js +48 -2
- package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/module/external/reanimated/useDerivedValueOnJS.d.ts +2 -0
- package/lib/module/external/reanimated/useDerivedValueOnJS.js +15 -0
- package/lib/module/external/reanimated/useDerivedValueOnJS.js.map +1 -0
- package/lib/module/external/reanimated/useSharedValueEffect.js +3 -6
- package/lib/module/external/reanimated/useSharedValueEffect.js.map +1 -1
- package/lib/module/skia/types/MaskFilter.js +3 -0
- package/lib/module/skia/types/MaskFilter.js.map +1 -1
- package/lib/module/views/types.js +3 -0
- package/lib/module/views/types.js.map +1 -1
- package/lib/typescript/src/external/reanimated/index.d.ts +1 -0
- package/lib/typescript/src/external/reanimated/useDerivedValueOnJS.d.ts +2 -0
- package/libs/android/arm64-v8a/libskia.a +0 -0
- package/libs/android/arm64-v8a/libskottie.a +0 -0
- package/libs/android/arm64-v8a/libskparagraph.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/libskunicode.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/libskparagraph.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/libskunicode.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/libskparagraph.a +0 -0
- package/libs/android/x86/libsksg.a +0 -0
- package/libs/android/x86/libskshaper.a +0 -0
- package/libs/android/x86/libskunicode.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/libskparagraph.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/libskunicode.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/libskparagraph.xcframework/Info.plist +5 -5
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/ios/libsksg.xcframework/Info.plist +5 -5
- 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/libskunicode.xcframework/Info.plist +5 -5
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
- package/libs/ios/libsvg.xcframework/Info.plist +5 -5
- 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/src/dom/nodes/datatypes/Rect.ts +6 -2
- package/src/external/reanimated/index.ts +1 -0
- package/src/external/reanimated/moduleWrapper.ts +6 -10
- package/src/external/reanimated/renderHelpers.ts +41 -1
- package/src/external/reanimated/useDerivedValueOnJS.ts +24 -0
- package/src/external/reanimated/useSharedValueEffect.ts +4 -7
- package/cpp/skia/include/core/SkDeferredDisplayList.h +0 -15
- package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +0 -15
- package/cpp/skia/include/core/SkPromiseImageTexture.h +0 -20
- package/cpp/skia/include/core/SkSurfaceCharacterization.h +0 -15
- package/cpp/skia/include/core/SkTime.h +0 -63
- package/cpp/skia/include/effects/SkOpPathEffect.h +0 -43
- package/cpp/skia/include/effects/SkStrokeAndFillPathEffect.h +0 -28
- package/cpp/skia/include/gpu/GrBackendSurfaceMutableState.h +0 -32
- package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +0 -95
- package/cpp/skia/include/private/SkBitmaskEnum.h +0 -59
- package/cpp/skia/include/private/SkSLDefines.h +0 -64
- package/cpp/skia/include/private/SkShadowFlags.h +0 -27
- package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +0 -26
- /package/cpp/skia/{include/private/base → src/core}/SkPathEnums.h +0 -0
|
@@ -47,10 +47,10 @@ class GlyphRunList;
|
|
|
47
47
|
class AutoLayerForImageFilter;
|
|
48
48
|
class GrRecordingContext;
|
|
49
49
|
|
|
50
|
-
class SkBaseDevice;
|
|
51
50
|
class SkBitmap;
|
|
52
51
|
class SkBlender;
|
|
53
52
|
class SkData;
|
|
53
|
+
class SkDevice;
|
|
54
54
|
class SkDrawable;
|
|
55
55
|
class SkFont;
|
|
56
56
|
class SkImage;
|
|
@@ -78,7 +78,7 @@ namespace SkRecords { class Draw; }
|
|
|
78
78
|
SkCanvas provides an interface for drawing, and how the drawing is clipped and transformed.
|
|
79
79
|
SkCanvas contains a stack of SkMatrix and clip values.
|
|
80
80
|
|
|
81
|
-
SkCanvas and SkPaint together provide the state to draw into SkSurface or
|
|
81
|
+
SkCanvas and SkPaint together provide the state to draw into SkSurface or SkDevice.
|
|
82
82
|
Each SkCanvas draw call transforms the geometry of the object by the concatenation of all
|
|
83
83
|
SkMatrix values in the stack. The transformed geometry is clipped by the intersection
|
|
84
84
|
of all of clip values in the stack. The SkCanvas draw calls use SkPaint to supply drawing
|
|
@@ -90,7 +90,7 @@ namespace SkRecords { class Draw; }
|
|
|
90
90
|
SkCanvas generated by GPU surface uses Vulkan or OpenGL to draw to the GPU.
|
|
91
91
|
|
|
92
92
|
To draw to a document, obtain SkCanvas from SVG canvas, document PDF, or SkPictureRecorder.
|
|
93
|
-
SkDocument based SkCanvas and other SkCanvas subclasses reference
|
|
93
|
+
SkDocument based SkCanvas and other SkCanvas subclasses reference SkDevice describing the
|
|
94
94
|
destination.
|
|
95
95
|
|
|
96
96
|
SkCanvas can be constructed to draw to SkBitmap without first creating raster surface.
|
|
@@ -188,7 +188,7 @@ public:
|
|
|
188
188
|
|
|
189
189
|
/** Private. For internal use only.
|
|
190
190
|
*/
|
|
191
|
-
explicit SkCanvas(sk_sp<
|
|
191
|
+
explicit SkCanvas(sk_sp<SkDevice> device);
|
|
192
192
|
|
|
193
193
|
/** Constructs a canvas that draws into bitmap.
|
|
194
194
|
Sets kUnknown_SkPixelGeometry in constructed SkSurface.
|
|
@@ -281,15 +281,6 @@ public:
|
|
|
281
281
|
*/
|
|
282
282
|
SkSurfaceProps getTopProps() const;
|
|
283
283
|
|
|
284
|
-
/** Triggers the immediate execution of all pending draw operations.
|
|
285
|
-
If SkCanvas is associated with GPU surface, resolves all pending GPU operations.
|
|
286
|
-
If SkCanvas is associated with raster surface, has no effect; raster draw
|
|
287
|
-
operations are never deferred.
|
|
288
|
-
|
|
289
|
-
DEPRECATED: Replace usage with GrDirectContext::flush()
|
|
290
|
-
*/
|
|
291
|
-
void flush();
|
|
292
|
-
|
|
293
284
|
/** Gets the size of the base or root layer in global canvas coordinates. The
|
|
294
285
|
origin of the base layer is always (0,0). The area available for drawing may be
|
|
295
286
|
smaller (due to clipping or saveLayer).
|
|
@@ -314,19 +305,20 @@ public:
|
|
|
314
305
|
*/
|
|
315
306
|
sk_sp<SkSurface> makeSurface(const SkImageInfo& info, const SkSurfaceProps* props = nullptr);
|
|
316
307
|
|
|
317
|
-
/** Returns
|
|
308
|
+
/** Returns Ganesh context of the GPU surface associated with SkCanvas.
|
|
318
309
|
|
|
319
310
|
@return GPU context, if available; nullptr otherwise
|
|
320
311
|
|
|
321
312
|
example: https://fiddle.skia.org/c/@Canvas_recordingContext
|
|
322
313
|
*/
|
|
323
|
-
virtual GrRecordingContext* recordingContext();
|
|
314
|
+
virtual GrRecordingContext* recordingContext() const;
|
|
315
|
+
|
|
324
316
|
|
|
325
317
|
/** Returns Recorder for the GPU surface associated with SkCanvas.
|
|
326
318
|
|
|
327
319
|
@return Recorder, if available; nullptr otherwise
|
|
328
320
|
*/
|
|
329
|
-
virtual skgpu::graphite::Recorder* recorder();
|
|
321
|
+
virtual skgpu::graphite::Recorder* recorder() const;
|
|
330
322
|
|
|
331
323
|
/** Sometimes a canvas is owned by a surface. If it is, getSurface() will return a bare
|
|
332
324
|
* pointer to that surface, else this will return nullptr.
|
|
@@ -366,7 +358,7 @@ public:
|
|
|
366
358
|
|
|
367
359
|
/** Returns true if SkCanvas has direct access to its pixels.
|
|
368
360
|
|
|
369
|
-
Pixels are readable when
|
|
361
|
+
Pixels are readable when SkDevice is raster. Pixels are not readable when SkCanvas
|
|
370
362
|
is returned from GPU surface, returned by SkDocument::beginPage, returned by
|
|
371
363
|
SkPictureRecorder::beginRecording, or SkCanvas is the base of a utility class
|
|
372
364
|
like DebugCanvas.
|
|
@@ -389,7 +381,7 @@ public:
|
|
|
389
381
|
Copies each readable pixel intersecting both rectangles, without scaling,
|
|
390
382
|
converting to dstInfo.colorType() and dstInfo.alphaType() if required.
|
|
391
383
|
|
|
392
|
-
Pixels are readable when
|
|
384
|
+
Pixels are readable when SkDevice is raster, or backed by a GPU.
|
|
393
385
|
Pixels are not readable when SkCanvas is returned by SkDocument::beginPage,
|
|
394
386
|
returned by SkPictureRecorder::beginRecording, or SkCanvas is the base of a utility
|
|
395
387
|
class like DebugCanvas.
|
|
@@ -426,7 +418,7 @@ public:
|
|
|
426
418
|
Copies each readable pixel intersecting both rectangles, without scaling,
|
|
427
419
|
converting to pixmap.colorType() and pixmap.alphaType() if required.
|
|
428
420
|
|
|
429
|
-
Pixels are readable when
|
|
421
|
+
Pixels are readable when SkDevice is raster, or backed by a GPU.
|
|
430
422
|
Pixels are not readable when SkCanvas is returned by SkDocument::beginPage,
|
|
431
423
|
returned by SkPictureRecorder::beginRecording, or SkCanvas is the base of a utility
|
|
432
424
|
class like DebugCanvas.
|
|
@@ -463,7 +455,7 @@ public:
|
|
|
463
455
|
Copies each readable pixel intersecting both rectangles, without scaling,
|
|
464
456
|
converting to bitmap.colorType() and bitmap.alphaType() if required.
|
|
465
457
|
|
|
466
|
-
Pixels are readable when
|
|
458
|
+
Pixels are readable when SkDevice is raster, or backed by a GPU.
|
|
467
459
|
Pixels are not readable when SkCanvas is returned by SkDocument::beginPage,
|
|
468
460
|
returned by SkPictureRecorder::beginRecording, or SkCanvas is the base of a utility
|
|
469
461
|
class like DebugCanvas.
|
|
@@ -500,7 +492,7 @@ public:
|
|
|
500
492
|
Copies each readable pixel intersecting both rectangles, without scaling,
|
|
501
493
|
converting to imageInfo().colorType() and imageInfo().alphaType() if required.
|
|
502
494
|
|
|
503
|
-
Pixels are writable when
|
|
495
|
+
Pixels are writable when SkDevice is raster, or backed by a GPU.
|
|
504
496
|
Pixels are not writable when SkCanvas is returned by SkDocument::beginPage,
|
|
505
497
|
returned by SkPictureRecorder::beginRecording, or SkCanvas is the base of a utility
|
|
506
498
|
class like DebugCanvas.
|
|
@@ -539,7 +531,7 @@ public:
|
|
|
539
531
|
Copies each readable pixel intersecting both rectangles, without scaling,
|
|
540
532
|
converting to imageInfo().colorType() and imageInfo().alphaType() if required.
|
|
541
533
|
|
|
542
|
-
Pixels are writable when
|
|
534
|
+
Pixels are writable when SkDevice is raster, or backed by a GPU.
|
|
543
535
|
Pixels are not writable when SkCanvas is returned by SkDocument::beginPage,
|
|
544
536
|
returned by SkPictureRecorder::beginRecording, or SkCanvas is the base of a utility
|
|
545
537
|
class like DebugCanvas.
|
|
@@ -1108,7 +1100,7 @@ public:
|
|
|
1108
1100
|
|
|
1109
1101
|
Unlike getLocalClipBounds(), returned SkIRect is not outset.
|
|
1110
1102
|
|
|
1111
|
-
@return bounds of clip in
|
|
1103
|
+
@return bounds of clip in base device coordinates
|
|
1112
1104
|
|
|
1113
1105
|
example: https://fiddle.skia.org/c/@Canvas_getDeviceClipBounds
|
|
1114
1106
|
*/
|
|
@@ -1169,13 +1161,13 @@ public:
|
|
|
1169
1161
|
such as drawing with SkBlendMode, return undefined results. discard() does
|
|
1170
1162
|
not change clip or SkMatrix.
|
|
1171
1163
|
|
|
1172
|
-
discard() may do nothing, depending on the implementation of SkSurface or
|
|
1164
|
+
discard() may do nothing, depending on the implementation of SkSurface or SkDevice
|
|
1173
1165
|
that created SkCanvas.
|
|
1174
1166
|
|
|
1175
1167
|
discard() allows optimized performance on subsequent draws by removing
|
|
1176
|
-
cached data associated with SkSurface or
|
|
1168
|
+
cached data associated with SkSurface or SkDevice.
|
|
1177
1169
|
It is not necessary to call discard() once done with SkCanvas;
|
|
1178
|
-
any cached data is deleted when owning SkSurface or
|
|
1170
|
+
any cached data is deleted when owning SkSurface or SkDevice is deleted.
|
|
1179
1171
|
*/
|
|
1180
1172
|
void discard() { this->onDiscard(); }
|
|
1181
1173
|
|
|
@@ -1982,11 +1974,11 @@ public:
|
|
|
1982
1974
|
*/
|
|
1983
1975
|
void drawVertices(const sk_sp<SkVertices>& vertices, SkBlendMode mode, const SkPaint& paint);
|
|
1984
1976
|
|
|
1985
|
-
#if defined(SK_ENABLE_SKSL)
|
|
1986
1977
|
/**
|
|
1987
1978
|
Experimental, under active development, and subject to change without notice.
|
|
1988
1979
|
|
|
1989
|
-
Draws a mesh using a user-defined specification (see SkMeshSpecification).
|
|
1980
|
+
Draws a mesh using a user-defined specification (see SkMeshSpecification). Requires
|
|
1981
|
+
a GPU backend or SkSL to be compiled in.
|
|
1990
1982
|
|
|
1991
1983
|
SkBlender is ignored if SkMesh's specification does not output fragment shader color.
|
|
1992
1984
|
Otherwise, it combines
|
|
@@ -2003,7 +1995,6 @@ public:
|
|
|
2003
1995
|
@param paint specifies the SkShader, used as SkVertices texture, may be nullptr
|
|
2004
1996
|
*/
|
|
2005
1997
|
void drawMesh(const SkMesh& mesh, sk_sp<SkBlender> blender, const SkPaint& paint);
|
|
2006
|
-
#endif
|
|
2007
1998
|
|
|
2008
1999
|
/** Draws a Coons patch: the interpolation of four cubics with shared corners,
|
|
2009
2000
|
associating a color, and optionally a texture SkPoint, with each corner.
|
|
@@ -2192,7 +2183,6 @@ protected:
|
|
|
2192
2183
|
virtual bool onAccessTopLayerPixels(SkPixmap* pixmap);
|
|
2193
2184
|
virtual SkImageInfo onImageInfo() const;
|
|
2194
2185
|
virtual bool onGetProps(SkSurfaceProps* props, bool top) const;
|
|
2195
|
-
virtual void onFlush();
|
|
2196
2186
|
|
|
2197
2187
|
// Subclass save/restore notifiers.
|
|
2198
2188
|
// Overriders should call the corresponding INHERITED method up the inheritance chain.
|
|
@@ -2258,9 +2248,7 @@ protected:
|
|
|
2258
2248
|
|
|
2259
2249
|
virtual void onDrawVerticesObject(const SkVertices* vertices, SkBlendMode mode,
|
|
2260
2250
|
const SkPaint& paint);
|
|
2261
|
-
#ifdef SK_ENABLE_SKSL
|
|
2262
2251
|
virtual void onDrawMesh(const SkMesh&, sk_sp<SkBlender>, const SkPaint&);
|
|
2263
|
-
#endif
|
|
2264
2252
|
virtual void onDrawAnnotation(const SkRect& rect, const char key[], SkData* value);
|
|
2265
2253
|
virtual void onDrawShadowRec(const SkPath&, const SkDrawShadowRec&);
|
|
2266
2254
|
|
|
@@ -2305,8 +2293,8 @@ private:
|
|
|
2305
2293
|
// notify our surface (if we have one) that we are about to draw, so it
|
|
2306
2294
|
// can perform copy-on-write or invalidate any cached images
|
|
2307
2295
|
// returns false if the copy failed
|
|
2308
|
-
bool
|
|
2309
|
-
bool
|
|
2296
|
+
[[nodiscard]] bool predrawNotify(bool willOverwritesEntireSurface = false);
|
|
2297
|
+
[[nodiscard]] bool predrawNotify(const SkRect*, const SkPaint*, ShaderOverrideOpacity);
|
|
2310
2298
|
|
|
2311
2299
|
enum class CheckForOverwrite : bool {
|
|
2312
2300
|
kNo = false,
|
|
@@ -2322,25 +2310,25 @@ private:
|
|
|
2322
2310
|
|
|
2323
2311
|
// The bottom-most device in the stack, only changed by init(). Image properties and the final
|
|
2324
2312
|
// canvas pixels are determined by this device.
|
|
2325
|
-
|
|
2326
|
-
SkASSERT(
|
|
2327
|
-
return
|
|
2313
|
+
SkDevice* rootDevice() const {
|
|
2314
|
+
SkASSERT(fRootDevice);
|
|
2315
|
+
return fRootDevice.get();
|
|
2328
2316
|
}
|
|
2329
2317
|
|
|
2330
2318
|
// The top-most device in the stack, will change within saveLayer()'s. All drawing and clipping
|
|
2331
2319
|
// operations should route to this device.
|
|
2332
|
-
|
|
2320
|
+
SkDevice* topDevice() const;
|
|
2333
2321
|
|
|
2334
2322
|
// Canvases maintain a sparse stack of layers, where the top-most layer receives the drawing,
|
|
2335
2323
|
// clip, and matrix commands. There is a layer per call to saveLayer() using the
|
|
2336
2324
|
// kFullLayer_SaveLayerStrategy.
|
|
2337
2325
|
struct Layer {
|
|
2338
|
-
sk_sp<
|
|
2326
|
+
sk_sp<SkDevice> fDevice;
|
|
2339
2327
|
sk_sp<SkImageFilter> fImageFilter; // applied to layer *before* being drawn by paint
|
|
2340
2328
|
SkPaint fPaint;
|
|
2341
2329
|
bool fDiscard;
|
|
2342
2330
|
|
|
2343
|
-
Layer(sk_sp<
|
|
2331
|
+
Layer(sk_sp<SkDevice> device, sk_sp<SkImageFilter> imageFilter, const SkPaint& paint);
|
|
2344
2332
|
};
|
|
2345
2333
|
|
|
2346
2334
|
// Encapsulate state needed to restore from saveBehind()
|
|
@@ -2364,22 +2352,22 @@ private:
|
|
|
2364
2352
|
std::unique_ptr<Layer> fLayer;
|
|
2365
2353
|
|
|
2366
2354
|
// This points to the device of the top-most layer (which may be lower in the stack), or
|
|
2367
|
-
// to the canvas's
|
|
2368
|
-
|
|
2355
|
+
// to the canvas's fRootDevice. The MCRec does not own the device.
|
|
2356
|
+
SkDevice* fDevice;
|
|
2369
2357
|
|
|
2370
2358
|
std::unique_ptr<BackImage> fBackImage;
|
|
2371
2359
|
SkM44 fMatrix;
|
|
2372
2360
|
int fDeferredSaveCount = 0;
|
|
2373
2361
|
|
|
2374
|
-
MCRec(
|
|
2362
|
+
MCRec(SkDevice* device);
|
|
2375
2363
|
MCRec(const MCRec* prev);
|
|
2376
2364
|
~MCRec();
|
|
2377
2365
|
|
|
2378
|
-
void newLayer(sk_sp<
|
|
2366
|
+
void newLayer(sk_sp<SkDevice> layerDevice,
|
|
2379
2367
|
sk_sp<SkImageFilter> filter,
|
|
2380
2368
|
const SkPaint& restorePaint);
|
|
2381
2369
|
|
|
2382
|
-
void reset(
|
|
2370
|
+
void reset(SkDevice* device);
|
|
2383
2371
|
};
|
|
2384
2372
|
|
|
2385
2373
|
// the first N recs that can fit here mean we won't call malloc
|
|
@@ -2393,7 +2381,7 @@ private:
|
|
|
2393
2381
|
MCRec* fMCRec;
|
|
2394
2382
|
|
|
2395
2383
|
// Installed via init()
|
|
2396
|
-
sk_sp<
|
|
2384
|
+
sk_sp<SkDevice> fRootDevice;
|
|
2397
2385
|
const SkSurfaceProps fProps;
|
|
2398
2386
|
|
|
2399
2387
|
int fSaveCount; // value returned by getSaveCount()
|
|
@@ -2441,6 +2429,7 @@ private:
|
|
|
2441
2429
|
SkCanvas& operator=(const SkCanvas&) = delete;
|
|
2442
2430
|
|
|
2443
2431
|
friend class sktext::gpu::Slug;
|
|
2432
|
+
friend class SkPicturePlayback;
|
|
2444
2433
|
/**
|
|
2445
2434
|
* Convert a SkTextBlob to a sktext::gpu::Slug using the current canvas state.
|
|
2446
2435
|
*/
|
|
@@ -2473,7 +2462,7 @@ private:
|
|
|
2473
2462
|
// needs gettotalclip()
|
|
2474
2463
|
friend class SkCanvasStateUtils;
|
|
2475
2464
|
|
|
2476
|
-
void init(sk_sp<
|
|
2465
|
+
void init(sk_sp<SkDevice>);
|
|
2477
2466
|
|
|
2478
2467
|
// All base onDrawX() functions should call this and skip drawing if it returns true.
|
|
2479
2468
|
// If 'matrix' is non-null, it maps the paint's fast bounds before checking for quick rejection
|
|
@@ -2509,7 +2498,7 @@ private:
|
|
|
2509
2498
|
* Must be 1.0 if 'compat' is kYes (i.e. any scale factor has already been baked into the
|
|
2510
2499
|
* relative transforms between the devices).
|
|
2511
2500
|
*/
|
|
2512
|
-
void internalDrawDeviceWithFilter(
|
|
2501
|
+
void internalDrawDeviceWithFilter(SkDevice* src, SkDevice* dst,
|
|
2513
2502
|
const SkImageFilter* filter, const SkPaint& paint,
|
|
2514
2503
|
DeviceCompatibleWithFilter compat,
|
|
2515
2504
|
SkScalar scaleFactor = 1.f);
|
|
@@ -2554,8 +2543,6 @@ private:
|
|
|
2554
2543
|
void validateClip() const;
|
|
2555
2544
|
|
|
2556
2545
|
std::unique_ptr<sktext::GlyphRunBuilder> fScratchGlyphRunBuilder;
|
|
2557
|
-
|
|
2558
|
-
using INHERITED = SkRefCnt;
|
|
2559
2546
|
};
|
|
2560
2547
|
|
|
2561
2548
|
/** \class SkAutoCanvasRestore
|
|
@@ -9,11 +9,10 @@
|
|
|
9
9
|
#define SkCapabilities_DEFINED
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkRefCnt.h"
|
|
12
|
-
|
|
13
|
-
#ifdef SK_ENABLE_SKSL
|
|
12
|
+
#include "include/core/SkTypes.h"
|
|
14
13
|
#include "include/sksl/SkSLVersion.h"
|
|
14
|
+
|
|
15
15
|
namespace SkSL { struct ShaderCaps; }
|
|
16
|
-
#endif
|
|
17
16
|
|
|
18
17
|
#if defined(SK_GRAPHITE)
|
|
19
18
|
namespace skgpu::graphite { class Caps; }
|
|
@@ -23,9 +22,7 @@ class SK_API SkCapabilities : public SkRefCnt {
|
|
|
23
22
|
public:
|
|
24
23
|
static sk_sp<const SkCapabilities> RasterBackend();
|
|
25
24
|
|
|
26
|
-
#ifdef SK_ENABLE_SKSL
|
|
27
25
|
SkSL::Version skslVersion() const { return fSkSLVersion; }
|
|
28
|
-
#endif
|
|
29
26
|
|
|
30
27
|
protected:
|
|
31
28
|
#if defined(SK_GRAPHITE)
|
|
@@ -34,11 +31,9 @@ protected:
|
|
|
34
31
|
|
|
35
32
|
SkCapabilities() = default;
|
|
36
33
|
|
|
37
|
-
#ifdef SK_ENABLE_SKSL
|
|
38
34
|
void initSkCaps(const SkSL::ShaderCaps*);
|
|
39
35
|
|
|
40
36
|
SkSL::Version fSkSLVersion = SkSL::Version::k100;
|
|
41
|
-
#endif
|
|
42
37
|
};
|
|
43
38
|
|
|
44
39
|
#endif
|
|
@@ -79,7 +79,7 @@ static constexpr inline SkColor SkColorSetARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU
|
|
|
79
79
|
@param a alpha: transparent at zero, fully opaque at 255
|
|
80
80
|
@return color with transparency
|
|
81
81
|
*/
|
|
82
|
-
static constexpr inline SkColor
|
|
82
|
+
[[nodiscard]] static constexpr inline SkColor SkColorSetA(SkColor c, U8CPU a) {
|
|
83
83
|
return (c & 0x00FFFFFF) | (a << 24);
|
|
84
84
|
}
|
|
85
85
|
|
|
@@ -64,6 +64,12 @@ public:
|
|
|
64
64
|
*/
|
|
65
65
|
sk_sp<SkColorFilter> makeComposed(sk_sp<SkColorFilter> inner) const;
|
|
66
66
|
|
|
67
|
+
/** Return a colorfilter that will compute this filter in a specific color space. By default all
|
|
68
|
+
* filters operate in the destination (surface) color space. This allows filters like Blend and
|
|
69
|
+
* Matrix, or runtime color filters to perform their math in a known space.
|
|
70
|
+
*/
|
|
71
|
+
sk_sp<SkColorFilter> makeWithWorkingColorSpace(sk_sp<SkColorSpace>) const;
|
|
72
|
+
|
|
67
73
|
static sk_sp<SkColorFilter> Deserialize(const void* data, size_t size,
|
|
68
74
|
const SkDeserialProcs* procs = nullptr);
|
|
69
75
|
|
|
@@ -29,6 +29,8 @@ enum SkColorType : int {
|
|
|
29
29
|
kRGB_101010x_SkColorType, //!< pixel with 10 bits each for red, green, blue; in 32-bit word
|
|
30
30
|
kBGR_101010x_SkColorType, //!< pixel with 10 bits each for blue, green, red; in 32-bit word
|
|
31
31
|
kBGR_101010x_XR_SkColorType, //!< pixel with 10 bits each for blue, green, red; in 32-bit word, extended range
|
|
32
|
+
kRGBA_10x6_SkColorType, //!< pixel with 10 used bits (most significant) followed by 6 unused
|
|
33
|
+
// bits for red, green, blue, alpha; in 64-bit word
|
|
32
34
|
kGray_8_SkColorType, //!< pixel with grayscale level in 8-bit byte
|
|
33
35
|
kRGBA_F16Norm_SkColorType, //!< pixel with half floats in [0,1] for red, green, blue, alpha;
|
|
34
36
|
// in 64-bit word
|
|
@@ -8,11 +8,16 @@
|
|
|
8
8
|
#ifndef SkContourMeasure_DEFINED
|
|
9
9
|
#define SkContourMeasure_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/
|
|
11
|
+
#include "include/core/SkPoint.h"
|
|
12
12
|
#include "include/core/SkRefCnt.h"
|
|
13
|
+
#include "include/core/SkScalar.h"
|
|
14
|
+
#include "include/private/base/SkAPI.h"
|
|
13
15
|
#include "include/private/base/SkTDArray.h"
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
#include <memory>
|
|
18
|
+
|
|
19
|
+
class SkMatrix;
|
|
20
|
+
class SkPath;
|
|
16
21
|
|
|
17
22
|
class SK_API SkContourMeasure : public SkRefCnt {
|
|
18
23
|
public:
|
|
@@ -23,8 +28,7 @@ public:
|
|
|
23
28
|
/** Pins distance to 0 <= distance <= length(), and then computes the corresponding
|
|
24
29
|
* position and tangent.
|
|
25
30
|
*/
|
|
26
|
-
bool
|
|
27
|
-
SkVector* tangent) const;
|
|
31
|
+
[[nodiscard]] bool getPosTan(SkScalar distance, SkPoint* position, SkVector* tangent) const;
|
|
28
32
|
|
|
29
33
|
enum MatrixFlags {
|
|
30
34
|
kGetPosition_MatrixFlag = 0x01,
|
|
@@ -37,8 +41,8 @@ public:
|
|
|
37
41
|
Returns false if there is no path, or a zero-length path was specified, in which case
|
|
38
42
|
matrix is unchanged.
|
|
39
43
|
*/
|
|
40
|
-
bool
|
|
41
|
-
|
|
44
|
+
[[nodiscard]] bool getMatrix(SkScalar distance, SkMatrix* matrix,
|
|
45
|
+
MatrixFlags flags = kGetPosAndTan_MatrixFlag) const;
|
|
42
46
|
|
|
43
47
|
/** Given a start and stop distance, return in dst the intervening segment(s).
|
|
44
48
|
If the segment is zero-length, return false, else return true.
|
|
@@ -46,8 +50,8 @@ public:
|
|
|
46
50
|
then return false (and leave dst untouched).
|
|
47
51
|
Begin the segment with a moveTo if startWithMoveTo is true
|
|
48
52
|
*/
|
|
49
|
-
bool
|
|
50
|
-
|
|
53
|
+
[[nodiscard]] bool getSegment(SkScalar startD, SkScalar stopD, SkPath* dst,
|
|
54
|
+
bool startWithMoveTo) const;
|
|
51
55
|
|
|
52
56
|
/** Return true if the contour is closed()
|
|
53
57
|
*/
|
|
@@ -8,17 +8,26 @@
|
|
|
8
8
|
#ifndef SkFont_DEFINED
|
|
9
9
|
#define SkFont_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/
|
|
11
|
+
#include "include/core/SkRect.h"
|
|
12
|
+
#include "include/core/SkRefCnt.h"
|
|
12
13
|
#include "include/core/SkScalar.h"
|
|
13
14
|
#include "include/core/SkTypeface.h"
|
|
14
|
-
#include "include/
|
|
15
|
+
#include "include/core/SkTypes.h"
|
|
16
|
+
#include "include/private/base/SkTo.h"
|
|
17
|
+
#include "include/private/base/SkTypeTraits.h"
|
|
15
18
|
|
|
19
|
+
#include <cstddef>
|
|
20
|
+
#include <cstdint>
|
|
21
|
+
#include <type_traits>
|
|
16
22
|
#include <vector>
|
|
17
23
|
|
|
18
24
|
class SkMatrix;
|
|
19
25
|
class SkPaint;
|
|
20
26
|
class SkPath;
|
|
27
|
+
enum class SkFontHinting;
|
|
28
|
+
enum class SkTextEncoding;
|
|
21
29
|
struct SkFontMetrics;
|
|
30
|
+
struct SkPoint;
|
|
22
31
|
|
|
23
32
|
/** \class SkFont
|
|
24
33
|
SkFont controls options applied when drawing and measuring text.
|
|
@@ -8,18 +8,17 @@
|
|
|
8
8
|
#ifndef SkFontMgr_DEFINED
|
|
9
9
|
#define SkFontMgr_DEFINED
|
|
10
10
|
|
|
11
|
-
#include "include/core/SkFontArguments.h"
|
|
12
|
-
#include "include/core/SkFontStyle.h"
|
|
13
11
|
#include "include/core/SkRefCnt.h"
|
|
14
12
|
#include "include/core/SkTypes.h"
|
|
15
13
|
|
|
16
14
|
#include <memory>
|
|
17
15
|
|
|
18
16
|
class SkData;
|
|
19
|
-
class
|
|
17
|
+
class SkFontStyle;
|
|
20
18
|
class SkStreamAsset;
|
|
21
19
|
class SkString;
|
|
22
20
|
class SkTypeface;
|
|
21
|
+
struct SkFontArguments;
|
|
23
22
|
|
|
24
23
|
class SK_API SkFontStyleSet : public SkRefCnt {
|
|
25
24
|
public:
|
|
@@ -9,13 +9,15 @@
|
|
|
9
9
|
#define SkGraphics_DEFINED
|
|
10
10
|
|
|
11
11
|
#include "include/core/SkRefCnt.h"
|
|
12
|
+
#include "include/private/base/SkAPI.h"
|
|
12
13
|
|
|
14
|
+
#include <cstddef>
|
|
15
|
+
#include <cstdint>
|
|
13
16
|
#include <memory>
|
|
14
17
|
|
|
15
18
|
class SkData;
|
|
16
19
|
class SkImageGenerator;
|
|
17
20
|
class SkOpenTypeSVGDecoder;
|
|
18
|
-
class SkPath;
|
|
19
21
|
class SkTraceMemoryDump;
|
|
20
22
|
|
|
21
23
|
class SK_API SkGraphics {
|
|
@@ -149,18 +151,6 @@ public:
|
|
|
149
151
|
std::unique_ptr<SkOpenTypeSVGDecoder> (*)(const uint8_t* svg, size_t length);
|
|
150
152
|
static OpenTypeSVGDecoderFactory SetOpenTypeSVGDecoderFactory(OpenTypeSVGDecoderFactory);
|
|
151
153
|
static OpenTypeSVGDecoderFactory GetOpenTypeSVGDecoderFactory();
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Call early in main() to allow Skia to use a JIT to accelerate CPU-bound operations.
|
|
155
|
-
*/
|
|
156
|
-
static void AllowJIT();
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
class SkAutoGraphics {
|
|
160
|
-
public:
|
|
161
|
-
SkAutoGraphics() {
|
|
162
|
-
SkGraphics::Init();
|
|
163
|
-
}
|
|
164
154
|
};
|
|
165
155
|
|
|
166
156
|
#endif
|