@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
|
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
# optional - use expanded license entry instead:
|
|
18
18
|
# s.license = { :type => "MIT", :file => "LICENSE" }
|
|
19
19
|
s.authors = { "Your Name" => "yourname@email.com" }
|
|
20
|
-
s.platforms = { :ios => "
|
|
20
|
+
s.platforms = { :ios => "12.0" }
|
|
21
21
|
s.source = { :git => "https://github.com/shopify/react-native-skia/react-native-skia.git", :tag => "#{s.version}" }
|
|
22
22
|
|
|
23
23
|
s.requires_arc = true
|
|
@@ -4,8 +4,12 @@ import type { RectCtor, RectDef, RRectCtor, RRectDef } from "../../types";
|
|
|
4
4
|
|
|
5
5
|
import { processRadius } from "./Radius";
|
|
6
6
|
|
|
7
|
-
export const isEdge = (pos: Vector, b: SkRect) =>
|
|
8
|
-
|
|
7
|
+
export const isEdge = (pos: Vector, b: SkRect) => {
|
|
8
|
+
"worklet";
|
|
9
|
+
return (
|
|
10
|
+
pos.x === b.x || pos.y === b.y || pos.x === b.width || pos.y === b.height
|
|
11
|
+
);
|
|
12
|
+
};
|
|
9
13
|
|
|
10
14
|
// We have an issue to check property existence on JSI backed instances
|
|
11
15
|
const isRRectCtor = (def: RRectDef): def is RRectCtor =>
|
|
@@ -36,14 +36,6 @@ export function throwOnMissingReanimated() {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
function throwOnMissingReanimated3() {
|
|
40
|
-
if (!HAS_REANIMATED3) {
|
|
41
|
-
throw new Error(
|
|
42
|
-
`Reanimated version ${reanimatedVersion} is not supported, please upgrade to 3.0.0 or newer.`
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
39
|
export const useSharedValue =
|
|
48
40
|
Reanimated2?.useSharedValue ||
|
|
49
41
|
((value: number) => useMemo(() => ({ value }), [value]));
|
|
@@ -56,6 +48,10 @@ export const runOnJS = Reanimated2?.runOnJS || throwOnMissingReanimated;
|
|
|
56
48
|
export const isSharedValue = <T>(
|
|
57
49
|
value: unknown
|
|
58
50
|
): value is SharedValueType<T> => {
|
|
59
|
-
|
|
60
|
-
|
|
51
|
+
return (
|
|
52
|
+
!!value &&
|
|
53
|
+
(Reanimated3
|
|
54
|
+
? Reanimated3.isSharedValue(value)
|
|
55
|
+
: (value as any).value !== undefined)
|
|
56
|
+
);
|
|
61
57
|
};
|
|
@@ -9,12 +9,14 @@ import {
|
|
|
9
9
|
stopMapper,
|
|
10
10
|
isSharedValue,
|
|
11
11
|
HAS_REANIMATED3,
|
|
12
|
+
HAS_REANIMATED2,
|
|
13
|
+
runOnJS,
|
|
12
14
|
} from "./moduleWrapper";
|
|
13
15
|
|
|
14
16
|
const _bindings = new WeakMap<Node<unknown>, unknown>();
|
|
15
17
|
|
|
16
18
|
export function extractReanimatedProps(props: AnimatedProps<any>) {
|
|
17
|
-
if (!HAS_REANIMATED3) {
|
|
19
|
+
if (!HAS_REANIMATED3 && !HAS_REANIMATED2) {
|
|
18
20
|
return [props, {}];
|
|
19
21
|
}
|
|
20
22
|
const reanimatedProps = {} as AnimatedProps<any>;
|
|
@@ -34,11 +36,49 @@ export function extractReanimatedProps(props: AnimatedProps<any>) {
|
|
|
34
36
|
return [otherProps, reanimatedProps];
|
|
35
37
|
}
|
|
36
38
|
|
|
39
|
+
function bindReanimatedProps2(
|
|
40
|
+
container: Container,
|
|
41
|
+
node: Node<any>,
|
|
42
|
+
reanimatedProps: AnimatedProps<any>
|
|
43
|
+
) {
|
|
44
|
+
const sharedValues = Object.values(reanimatedProps);
|
|
45
|
+
const previousMapperId = _bindings.get(node);
|
|
46
|
+
if (previousMapperId !== undefined) {
|
|
47
|
+
stopMapper(previousMapperId);
|
|
48
|
+
}
|
|
49
|
+
if (sharedValues.length > 0) {
|
|
50
|
+
const viewId = container.getNativeId();
|
|
51
|
+
const { SkiaViewApi } = global;
|
|
52
|
+
const updateProps = () => {
|
|
53
|
+
for (const propName in reanimatedProps) {
|
|
54
|
+
node && node.setProp(propName, reanimatedProps[propName].value);
|
|
55
|
+
}
|
|
56
|
+
// On React Native we use the SkiaViewApi to redraw because it can
|
|
57
|
+
// run on the worklet thread (container.redraw can't)
|
|
58
|
+
// if SkiaViewApi is undefined, we are on web and container.redraw()
|
|
59
|
+
// can safely be invoked
|
|
60
|
+
if (SkiaViewApi) {
|
|
61
|
+
SkiaViewApi.requestRedraw(viewId);
|
|
62
|
+
} else {
|
|
63
|
+
container.redraw();
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
const mapperId = startMapper(() => {
|
|
67
|
+
"worklet";
|
|
68
|
+
runOnJS(updateProps)();
|
|
69
|
+
}, sharedValues);
|
|
70
|
+
_bindings.set(node, mapperId);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
37
74
|
export function bindReanimatedProps(
|
|
38
75
|
container: Container,
|
|
39
76
|
node: Node<any>,
|
|
40
77
|
reanimatedProps: AnimatedProps<any>
|
|
41
78
|
) {
|
|
79
|
+
if (HAS_REANIMATED2) {
|
|
80
|
+
return bindReanimatedProps2(container, node, reanimatedProps);
|
|
81
|
+
}
|
|
42
82
|
if (!HAS_REANIMATED3) {
|
|
43
83
|
return;
|
|
44
84
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useEffect, type DependencyList } from "react";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
useSharedValue,
|
|
5
|
+
runOnJS,
|
|
6
|
+
startMapper,
|
|
7
|
+
stopMapper,
|
|
8
|
+
} from "./moduleWrapper";
|
|
9
|
+
|
|
10
|
+
export const useDerivedValueOnJS = (
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
|
+
fn: () => any,
|
|
13
|
+
deps?: DependencyList
|
|
14
|
+
) => {
|
|
15
|
+
const value = useSharedValue(fn());
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const mapperId = startMapper(() => {
|
|
18
|
+
"worklet";
|
|
19
|
+
runOnJS(fn)();
|
|
20
|
+
}, deps);
|
|
21
|
+
return () => stopMapper(mapperId);
|
|
22
|
+
}, [deps, fn]);
|
|
23
|
+
return value;
|
|
24
|
+
};
|
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
runOnJS,
|
|
9
9
|
startMapper,
|
|
10
10
|
stopMapper,
|
|
11
|
-
HAS_REANIMATED3,
|
|
12
11
|
} from "./moduleWrapper";
|
|
13
12
|
|
|
14
13
|
/**
|
|
@@ -22,12 +21,10 @@ export const useSharedValueEffect = <T = number>(
|
|
|
22
21
|
value: SharedValueType<T>,
|
|
23
22
|
...values: SharedValueType<T>[]
|
|
24
23
|
) => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
);
|
|
30
|
-
}
|
|
24
|
+
console.warn(
|
|
25
|
+
`useSharedValueEffect() is deprecated and will be removed in the next release
|
|
26
|
+
Learn more at https://shopify.github.io/react-native-skia/docs/animations/animations.`
|
|
27
|
+
);
|
|
31
28
|
const input = useSharedValue(0);
|
|
32
29
|
|
|
33
30
|
useEffect(() => {
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2017 Google Inc.
|
|
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
|
-
// TODO(kjlubick, robertphillips) migrate Chromium to use the new location and name
|
|
9
|
-
#include "include/private/chromium/GrDeferredDisplayList.h" // IWYU pragma: export
|
|
10
|
-
|
|
11
|
-
class GrDeferredDisplayListRecorder;
|
|
12
|
-
class GrSurfaceCharacterization;
|
|
13
|
-
using SkDeferredDisplayList = GrDeferredDisplayList;
|
|
14
|
-
using SkDeferredDisplayListRecorder = GrDeferredDisplayListRecorder;
|
|
15
|
-
using SkSurfaceCharacterization = GrSurfaceCharacterization;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2017 Google Inc.
|
|
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
|
-
// TODO(kjlubick, robertphillips) migrate Chromium to use the new location
|
|
9
|
-
#include "include/private/chromium/GrDeferredDisplayListRecorder.h" // IWYU pragma: export
|
|
10
|
-
|
|
11
|
-
class GrDeferredDisplayList;
|
|
12
|
-
class GrSurfaceCharacterization;
|
|
13
|
-
using SkDeferredDisplayList = GrDeferredDisplayList;
|
|
14
|
-
using SkDeferredDisplayListRecorder = GrDeferredDisplayListRecorder;
|
|
15
|
-
using SkSurfaceCharacterization = GrSurfaceCharacterization;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2017 Google Inc.
|
|
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 SkPromiseImageTexture_DEFINED
|
|
9
|
-
#define SkPromiseImageTexture_DEFINED
|
|
10
|
-
|
|
11
|
-
#include "include/core/SkTypes.h"
|
|
12
|
-
|
|
13
|
-
// TODO(kjlubick) remove this shim header after clients are migrated
|
|
14
|
-
#if defined(SK_GANESH)
|
|
15
|
-
#include "include/private/chromium/GrPromiseImageTexture.h"
|
|
16
|
-
|
|
17
|
-
typedef GrPromiseImageTexture SkPromiseImageTexture;
|
|
18
|
-
#endif
|
|
19
|
-
|
|
20
|
-
#endif // SkPromiseImageTexture_DEFINED
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2017 Google Inc.
|
|
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
|
-
// TODO(kjlubick, robertphillips) migrate Chromium to use the new location and name
|
|
9
|
-
#include "include/private/chromium/GrSurfaceCharacterization.h" // IWYU pragma: export
|
|
10
|
-
|
|
11
|
-
class GrDeferredDisplayList;
|
|
12
|
-
class GrDeferredDisplayListRecorder;
|
|
13
|
-
using SkDeferredDisplayList = GrDeferredDisplayList;
|
|
14
|
-
using SkDeferredDisplayListRecorder = GrDeferredDisplayListRecorder;
|
|
15
|
-
using SkSurfaceCharacterization = GrSurfaceCharacterization;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
/*
|
|
3
|
-
* Copyright 2006 The Android Open Source Project
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by a BSD-style license that can be
|
|
6
|
-
* found in the LICENSE file.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
#ifndef SkTime_DEFINED
|
|
11
|
-
#define SkTime_DEFINED
|
|
12
|
-
|
|
13
|
-
#include "include/core/SkTypes.h"
|
|
14
|
-
#include "include/private/base/SkMacros.h"
|
|
15
|
-
|
|
16
|
-
#include <cinttypes>
|
|
17
|
-
|
|
18
|
-
class SkString;
|
|
19
|
-
|
|
20
|
-
/** \class SkTime
|
|
21
|
-
Platform-implemented utilities to return time of day, and millisecond counter.
|
|
22
|
-
*/
|
|
23
|
-
class SK_API SkTime {
|
|
24
|
-
public:
|
|
25
|
-
struct DateTime {
|
|
26
|
-
int16_t fTimeZoneMinutes; // The number of minutes that GetDateTime()
|
|
27
|
-
// is ahead of or behind UTC.
|
|
28
|
-
uint16_t fYear; //!< e.g. 2005
|
|
29
|
-
uint8_t fMonth; //!< 1..12
|
|
30
|
-
uint8_t fDayOfWeek; //!< 0..6, 0==Sunday
|
|
31
|
-
uint8_t fDay; //!< 1..31
|
|
32
|
-
uint8_t fHour; //!< 0..23
|
|
33
|
-
uint8_t fMinute; //!< 0..59
|
|
34
|
-
uint8_t fSecond; //!< 0..59
|
|
35
|
-
|
|
36
|
-
void toISO8601(SkString* dst) const;
|
|
37
|
-
};
|
|
38
|
-
static void GetDateTime(DateTime*);
|
|
39
|
-
|
|
40
|
-
static double GetSecs() { return GetNSecs() * 1e-9; }
|
|
41
|
-
static double GetMSecs() { return GetNSecs() * 1e-6; }
|
|
42
|
-
static double GetNSecs();
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
///////////////////////////////////////////////////////////////////////////////
|
|
46
|
-
|
|
47
|
-
class SkAutoTime {
|
|
48
|
-
public:
|
|
49
|
-
// The label is not deep-copied, so its address must remain valid for the
|
|
50
|
-
// lifetime of this object
|
|
51
|
-
SkAutoTime(const char* label = nullptr)
|
|
52
|
-
: fLabel(label)
|
|
53
|
-
, fNow(SkTime::GetMSecs()) {}
|
|
54
|
-
~SkAutoTime() {
|
|
55
|
-
uint64_t dur = static_cast<uint64_t>(SkTime::GetMSecs() - fNow);
|
|
56
|
-
SkDebugf("%s %" PRIu64 "\n", fLabel ? fLabel : "", dur);
|
|
57
|
-
}
|
|
58
|
-
private:
|
|
59
|
-
const char* fLabel;
|
|
60
|
-
double fNow;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
#endif
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2018 Google Inc.
|
|
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 SkOpPathEffect_DEFINED
|
|
9
|
-
#define SkOpPathEffect_DEFINED
|
|
10
|
-
|
|
11
|
-
#include "include/core/SkPaint.h"
|
|
12
|
-
#include "include/core/SkRefCnt.h"
|
|
13
|
-
#include "include/core/SkScalar.h"
|
|
14
|
-
#include "include/core/SkTypes.h"
|
|
15
|
-
#include "include/pathops/SkPathOps.h"
|
|
16
|
-
|
|
17
|
-
class SkMatrix;
|
|
18
|
-
class SkPathEffect;
|
|
19
|
-
|
|
20
|
-
class SK_API SkMergePathEffect {
|
|
21
|
-
public:
|
|
22
|
-
/* Defers to two other patheffects, and then combines their outputs using the specified op.
|
|
23
|
-
* e.g.
|
|
24
|
-
* result = output_one op output_two
|
|
25
|
-
*
|
|
26
|
-
* If either one or two is nullptr, then the original path is passed through to the op.
|
|
27
|
-
*/
|
|
28
|
-
static sk_sp<SkPathEffect> Make(sk_sp<SkPathEffect> one, sk_sp<SkPathEffect> two, SkPathOp op);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
class SK_API SkMatrixPathEffect {
|
|
32
|
-
public:
|
|
33
|
-
static sk_sp<SkPathEffect> MakeTranslate(SkScalar dx, SkScalar dy);
|
|
34
|
-
static sk_sp<SkPathEffect> Make(const SkMatrix&);
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
class SK_API SkStrokePathEffect {
|
|
38
|
-
public:
|
|
39
|
-
static sk_sp<SkPathEffect> Make(SkScalar width, SkPaint::Join, SkPaint::Cap,
|
|
40
|
-
SkScalar miter = 4);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
#endif
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2020 Google Inc.
|
|
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 SkStrokeAndFillPathEffect_DEFINED
|
|
9
|
-
#define SkStrokeAndFillPathEffect_DEFINED
|
|
10
|
-
|
|
11
|
-
#include "include/core/SkPaint.h"
|
|
12
|
-
#include "include/core/SkPathEffect.h"
|
|
13
|
-
#include "include/pathops/SkPathOps.h"
|
|
14
|
-
|
|
15
|
-
class SK_API SkStrokeAndFillPathEffect {
|
|
16
|
-
public:
|
|
17
|
-
/* If the paint is set to stroke, this will add the stroke and fill geometries
|
|
18
|
-
* together (hoping that the winding-direction works out).
|
|
19
|
-
*
|
|
20
|
-
* If the paint is set to fill, this effect is ignored.
|
|
21
|
-
*
|
|
22
|
-
* Note that if the paint is set to stroke and the stroke-width is 0, then
|
|
23
|
-
* this will turn the geometry into just a fill.
|
|
24
|
-
*/
|
|
25
|
-
static sk_sp<SkPathEffect> Make();
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
#endif
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2020 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 GrBackendSurfaceMutableState_DEFINED
|
|
9
|
-
#define GrBackendSurfaceMutableState_DEFINED
|
|
10
|
-
|
|
11
|
-
#include "include/gpu/MutableTextureState.h"
|
|
12
|
-
|
|
13
|
-
#ifdef SK_VULKAN
|
|
14
|
-
#include "include/private/gpu/vk/SkiaVulkan.h"
|
|
15
|
-
|
|
16
|
-
#include <cstdint>
|
|
17
|
-
#endif
|
|
18
|
-
|
|
19
|
-
class GrBackendSurfaceMutableState : public skgpu::MutableTextureState {
|
|
20
|
-
public:
|
|
21
|
-
GrBackendSurfaceMutableState() = default;
|
|
22
|
-
|
|
23
|
-
#ifdef SK_VULKAN
|
|
24
|
-
GrBackendSurfaceMutableState(VkImageLayout layout, uint32_t queueFamilyIndex)
|
|
25
|
-
: skgpu::MutableTextureState(layout, queueFamilyIndex) {}
|
|
26
|
-
#endif
|
|
27
|
-
|
|
28
|
-
GrBackendSurfaceMutableState(const GrBackendSurfaceMutableState& that)
|
|
29
|
-
: skgpu::MutableTextureState(that) {}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
#endif
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2019 Google Inc.
|
|
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 GrDawnTypes_DEFINED
|
|
9
|
-
#define GrDawnTypes_DEFINED
|
|
10
|
-
|
|
11
|
-
#include "include/gpu/GpuTypes.h"
|
|
12
|
-
|
|
13
|
-
#ifdef Always
|
|
14
|
-
#undef Always
|
|
15
|
-
static constexpr int Always = 2;
|
|
16
|
-
#endif
|
|
17
|
-
#ifdef Success
|
|
18
|
-
#undef Success
|
|
19
|
-
static constexpr int Success = 0;
|
|
20
|
-
#endif
|
|
21
|
-
#ifdef None
|
|
22
|
-
#undef None
|
|
23
|
-
static constexpr int None = 0L;
|
|
24
|
-
#endif
|
|
25
|
-
#include "webgpu/webgpu_cpp.h" // IWYU pragma: export
|
|
26
|
-
|
|
27
|
-
struct GrDawnTextureInfo {
|
|
28
|
-
wgpu::Texture fTexture;
|
|
29
|
-
wgpu::TextureFormat fFormat;
|
|
30
|
-
uint32_t fLevelCount;
|
|
31
|
-
GrDawnTextureInfo() : fTexture(nullptr), fFormat(), fLevelCount(0) {
|
|
32
|
-
}
|
|
33
|
-
GrDawnTextureInfo(const GrDawnTextureInfo& other)
|
|
34
|
-
: fTexture(other.fTexture)
|
|
35
|
-
, fFormat(other.fFormat)
|
|
36
|
-
, fLevelCount(other.fLevelCount) {
|
|
37
|
-
}
|
|
38
|
-
GrDawnTextureInfo& operator=(const GrDawnTextureInfo& other) {
|
|
39
|
-
fTexture = other.fTexture;
|
|
40
|
-
fFormat = other.fFormat;
|
|
41
|
-
fLevelCount = other.fLevelCount;
|
|
42
|
-
return *this;
|
|
43
|
-
}
|
|
44
|
-
bool operator==(const GrDawnTextureInfo& other) const {
|
|
45
|
-
return fTexture.Get() == other.fTexture.Get() &&
|
|
46
|
-
fFormat == other.fFormat &&
|
|
47
|
-
fLevelCount == other.fLevelCount;
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
// GrDawnRenderTargetInfo holds a reference to a (1-mip) TextureView. This means that, for now,
|
|
52
|
-
// GrDawnRenderTarget is suitable for rendering, but not readPixels() or writePixels(). Also,
|
|
53
|
-
// backdrop filters and certain blend modes requiring copying the destination framebuffer
|
|
54
|
-
// will not work.
|
|
55
|
-
struct GrDawnRenderTargetInfo {
|
|
56
|
-
wgpu::TextureView fTextureView;
|
|
57
|
-
wgpu::TextureFormat fFormat;
|
|
58
|
-
uint32_t fLevelCount;
|
|
59
|
-
GrDawnRenderTargetInfo() : fTextureView(nullptr), fFormat(), fLevelCount(0) {
|
|
60
|
-
}
|
|
61
|
-
GrDawnRenderTargetInfo(const GrDawnRenderTargetInfo& other)
|
|
62
|
-
: fTextureView(other.fTextureView)
|
|
63
|
-
, fFormat(other.fFormat)
|
|
64
|
-
, fLevelCount(other.fLevelCount) {
|
|
65
|
-
}
|
|
66
|
-
explicit GrDawnRenderTargetInfo(const GrDawnTextureInfo& texInfo)
|
|
67
|
-
: fFormat(texInfo.fFormat)
|
|
68
|
-
, fLevelCount(1) {
|
|
69
|
-
wgpu::TextureViewDescriptor desc;
|
|
70
|
-
desc.format = texInfo.fFormat;
|
|
71
|
-
desc.mipLevelCount = 1;
|
|
72
|
-
fTextureView = texInfo.fTexture.CreateView(&desc);
|
|
73
|
-
}
|
|
74
|
-
GrDawnRenderTargetInfo& operator=(const GrDawnRenderTargetInfo& other) {
|
|
75
|
-
fTextureView = other.fTextureView;
|
|
76
|
-
fFormat = other.fFormat;
|
|
77
|
-
fLevelCount = other.fLevelCount;
|
|
78
|
-
return *this;
|
|
79
|
-
}
|
|
80
|
-
bool operator==(const GrDawnRenderTargetInfo& other) const {
|
|
81
|
-
return fTextureView.Get() == other.fTextureView.Get() &&
|
|
82
|
-
fFormat == other.fFormat &&
|
|
83
|
-
fLevelCount == other.fLevelCount;
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
struct GrDawnSurfaceInfo {
|
|
88
|
-
uint32_t fSampleCount = 1;
|
|
89
|
-
uint32_t fLevelCount = 0;
|
|
90
|
-
skgpu::Protected fProtected = skgpu::Protected::kNo;
|
|
91
|
-
|
|
92
|
-
wgpu::TextureFormat fFormat;
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
#endif
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2016 Google Inc.
|
|
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 SkEnumOperators_DEFINED
|
|
8
|
-
#define SkEnumOperators_DEFINED
|
|
9
|
-
|
|
10
|
-
#include <type_traits>
|
|
11
|
-
|
|
12
|
-
namespace sknonstd {
|
|
13
|
-
template <typename T> struct is_bitmask_enum : std::false_type {};
|
|
14
|
-
|
|
15
|
-
template <typename E>
|
|
16
|
-
std::enable_if_t<sknonstd::is_bitmask_enum<E>::value, bool> constexpr Any(E e) {
|
|
17
|
-
return static_cast<std::underlying_type_t<E>>(e) != 0;
|
|
18
|
-
}
|
|
19
|
-
} // namespace sknonstd
|
|
20
|
-
|
|
21
|
-
template <typename E>
|
|
22
|
-
std::enable_if_t<sknonstd::is_bitmask_enum<E>::value, E> constexpr operator|(E l, E r) {
|
|
23
|
-
using U = std::underlying_type_t<E>;
|
|
24
|
-
return static_cast<E>(static_cast<U>(l) | static_cast<U>(r));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
template <typename E>
|
|
28
|
-
std::enable_if_t<sknonstd::is_bitmask_enum<E>::value, E&> constexpr operator|=(E& l, E r) {
|
|
29
|
-
return l = l | r;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
template <typename E>
|
|
33
|
-
std::enable_if_t<sknonstd::is_bitmask_enum<E>::value, E> constexpr operator&(E l, E r) {
|
|
34
|
-
using U = std::underlying_type_t<E>;
|
|
35
|
-
return static_cast<E>(static_cast<U>(l) & static_cast<U>(r));
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
template <typename E>
|
|
39
|
-
std::enable_if_t<sknonstd::is_bitmask_enum<E>::value, E&> constexpr operator&=(E& l, E r) {
|
|
40
|
-
return l = l & r;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
template <typename E>
|
|
44
|
-
std::enable_if_t<sknonstd::is_bitmask_enum<E>::value, E> constexpr operator^(E l, E r) {
|
|
45
|
-
using U = std::underlying_type_t<E>;
|
|
46
|
-
return static_cast<E>(static_cast<U>(l) ^ static_cast<U>(r));
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
template <typename E>
|
|
50
|
-
std::enable_if_t<sknonstd::is_bitmask_enum<E>::value, E&> constexpr operator^=(E& l, E r) {
|
|
51
|
-
return l = l ^ r;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
template <typename E>
|
|
55
|
-
std::enable_if_t<sknonstd::is_bitmask_enum<E>::value, E> constexpr operator~(E e) {
|
|
56
|
-
return static_cast<E>(~static_cast<std::underlying_type_t<E>>(e));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
#endif // SkEnumOperators_DEFINED
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2019 Google Inc.
|
|
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 SKSL_DEFINES
|
|
9
|
-
#define SKSL_DEFINES
|
|
10
|
-
|
|
11
|
-
#include <cstdint>
|
|
12
|
-
|
|
13
|
-
#include "include/core/SkTypes.h"
|
|
14
|
-
#include "include/private/base/SkTArray.h"
|
|
15
|
-
|
|
16
|
-
using SKSL_INT = int64_t;
|
|
17
|
-
using SKSL_FLOAT = float;
|
|
18
|
-
|
|
19
|
-
namespace SkSL {
|
|
20
|
-
|
|
21
|
-
class Expression;
|
|
22
|
-
class Statement;
|
|
23
|
-
|
|
24
|
-
using ComponentArray = skia_private::STArray<4, int8_t>; // for Swizzles
|
|
25
|
-
|
|
26
|
-
class ExpressionArray : public skia_private::STArray<2, std::unique_ptr<Expression>> {
|
|
27
|
-
public:
|
|
28
|
-
using STArray::STArray;
|
|
29
|
-
|
|
30
|
-
/** Returns a new ExpressionArray containing a clone of every element. */
|
|
31
|
-
ExpressionArray clone() const;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
using StatementArray = skia_private::STArray<2, std::unique_ptr<Statement>>;
|
|
35
|
-
|
|
36
|
-
// Functions larger than this (measured in IR nodes) will not be inlined. This growth factor
|
|
37
|
-
// accounts for the number of calls being inlined--i.e., a function called five times (that is, with
|
|
38
|
-
// five inlining opportunities) would be considered 5x larger than if it were called once. This
|
|
39
|
-
// default threshold value is arbitrary, but tends to work well in practice.
|
|
40
|
-
static constexpr int kDefaultInlineThreshold = 50;
|
|
41
|
-
|
|
42
|
-
// A hard upper limit on the number of variable slots allowed in a function/global scope.
|
|
43
|
-
// This is an arbitrary limit, but is needed to prevent code generation from taking unbounded
|
|
44
|
-
// amounts of time or space.
|
|
45
|
-
static constexpr int kVariableSlotLimit = 100000;
|
|
46
|
-
|
|
47
|
-
// The SwizzleComponent namespace is used both by the SkSL::Swizzle expression, and the DSL swizzle.
|
|
48
|
-
// This namespace is injected into SkSL::dsl so that `using namespace SkSL::dsl` enables DSL code
|
|
49
|
-
// like `Swizzle(var, X, Y, ONE)` to compile without any extra qualifications.
|
|
50
|
-
namespace SwizzleComponent {
|
|
51
|
-
|
|
52
|
-
enum Type : int8_t {
|
|
53
|
-
X = 0, Y = 1, Z = 2, W = 3,
|
|
54
|
-
R = 4, G = 5, B = 6, A = 7,
|
|
55
|
-
S = 8, T = 9, P = 10, Q = 11,
|
|
56
|
-
UL = 12, UT = 13, UR = 14, UB = 15,
|
|
57
|
-
ZERO,
|
|
58
|
-
ONE
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
} // namespace SwizzleComponent
|
|
62
|
-
} // namespace SkSL
|
|
63
|
-
|
|
64
|
-
#endif
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2017 Google Inc.
|
|
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 SkShadowFlags_DEFINED
|
|
9
|
-
#define SkShadowFlags_DEFINED
|
|
10
|
-
|
|
11
|
-
// A set of flags shared between the SkAmbientShadowMaskFilter and the SkSpotShadowMaskFilter
|
|
12
|
-
enum SkShadowFlags {
|
|
13
|
-
kNone_ShadowFlag = 0x00,
|
|
14
|
-
/** The occluding object is not opaque. Knowing that the occluder is opaque allows
|
|
15
|
-
* us to cull shadow geometry behind it and improve performance. */
|
|
16
|
-
kTransparentOccluder_ShadowFlag = 0x01,
|
|
17
|
-
/** Don't try to use analytic shadows. */
|
|
18
|
-
kGeometricOnly_ShadowFlag = 0x02,
|
|
19
|
-
/** Light position represents a direction, light radius is blur radius at elevation 1 */
|
|
20
|
-
kDirectionalLight_ShadowFlag = 0x04,
|
|
21
|
-
/** Concave paths will only use blur to generate the shadow */
|
|
22
|
-
kConcaveBlurOnly_ShadowFlag = 0x08,
|
|
23
|
-
/** mask for all shadow flags */
|
|
24
|
-
kAll_ShadowFlag = 0x0F
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
#endif
|