@shopify/react-native-skia 0.1.233 → 0.1.236
Sign up to get free protection for your applications and to get access to all the features.
- package/android/CMakeLists.txt +0 -1
- package/android/cpp/jni/JniSkiaManager.cpp +0 -1
- package/android/cpp/rnskia-android/RNSkAndroidView.h +0 -1
- package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp +1 -1
- package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.h +1 -2
- package/cpp/api/JsiSkTypefaceFactory.h +2 -1
- package/cpp/skia/include/android/AHardwareBufferUtils.h +23 -0
- package/cpp/skia/include/android/GrAHardwareBufferUtils.h +2 -0
- package/cpp/skia/include/android/graphite/SurfaceAndroid.h +59 -0
- package/cpp/skia/include/codec/SkAvifDecoder.h +1 -1
- package/cpp/skia/include/codec/SkBmpDecoder.h +1 -1
- package/cpp/skia/include/codec/SkCodec.h +21 -3
- package/cpp/skia/include/codec/SkGifDecoder.h +1 -1
- package/cpp/skia/include/codec/SkIcoDecoder.h +1 -1
- package/cpp/skia/include/codec/SkJpegDecoder.h +1 -1
- package/cpp/skia/include/codec/SkJpegxlDecoder.h +1 -1
- package/cpp/skia/include/codec/SkPngDecoder.h +1 -1
- package/cpp/skia/include/codec/SkRawDecoder.h +1 -1
- package/cpp/skia/include/codec/SkWbmpDecoder.h +1 -1
- package/cpp/skia/include/codec/SkWebpDecoder.h +1 -1
- package/cpp/skia/include/config/SkUserConfig.h +3 -1
- package/cpp/skia/include/core/SkCanvas.h +66 -37
- package/cpp/skia/include/core/SkColorFilter.h +5 -2
- package/cpp/skia/include/core/SkContourMeasure.h +1 -0
- package/cpp/skia/include/core/SkDocument.h +1 -0
- package/cpp/skia/include/core/SkFont.h +14 -24
- package/cpp/skia/include/core/SkFontArguments.h +1 -1
- package/cpp/skia/include/core/SkFontMetrics.h +1 -1
- package/cpp/skia/include/core/SkFontMgr.h +0 -7
- package/cpp/skia/include/core/SkGraphics.h +13 -0
- package/cpp/skia/include/core/SkMesh.h +9 -13
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkPathMeasure.h +2 -0
- package/cpp/skia/include/core/SkSerialProcs.h +29 -11
- package/cpp/skia/include/core/SkSize.h +3 -3
- package/cpp/skia/include/core/SkStream.h +3 -13
- package/cpp/skia/include/core/SkSurface.h +6 -3
- package/cpp/skia/include/core/SkSurfaceProps.h +2 -4
- package/cpp/skia/include/core/SkTraceMemoryDump.h +15 -0
- package/cpp/skia/include/core/SkTypeface.h +8 -56
- package/cpp/skia/include/core/SkTypes.h +8 -0
- package/cpp/skia/include/core/SkVertices.h +1 -1
- package/cpp/skia/include/docs/SkMultiPictureDocument.h +53 -0
- package/cpp/skia/include/docs/SkPDFDocument.h +11 -0
- package/cpp/skia/include/effects/SkGradientShader.h +9 -0
- package/cpp/skia/include/effects/SkRuntimeEffect.h +3 -7
- package/cpp/skia/include/gpu/GrBackendSemaphore.h +33 -47
- package/cpp/skia/include/gpu/GrBackendSurface.h +2 -3
- package/cpp/skia/include/gpu/GrContextOptions.h +0 -6
- package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +44 -28
- package/cpp/skia/include/gpu/GrDirectContext.h +12 -31
- package/cpp/skia/include/gpu/GrTypes.h +1 -16
- package/cpp/skia/include/gpu/MutableTextureState.h +35 -80
- package/cpp/skia/include/gpu/ShaderErrorHandler.h +11 -1
- package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +2 -2
- package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +1 -1
- package/cpp/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +3 -2
- package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +20 -0
- package/cpp/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +30 -0
- package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
- package/cpp/skia/include/gpu/gl/GrGLInterface.h +2 -0
- package/cpp/skia/include/gpu/gl/glx/GrGLMakeGLXInterface.h +6 -0
- package/cpp/skia/include/gpu/graphite/BackendSemaphore.h +3 -3
- package/cpp/skia/include/gpu/graphite/BackendTexture.h +39 -27
- package/cpp/skia/include/gpu/graphite/Context.h +39 -13
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +2 -0
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +2 -1
- package/cpp/skia/include/gpu/graphite/Image.h +106 -87
- package/cpp/skia/include/gpu/graphite/Recorder.h +24 -3
- package/cpp/skia/include/gpu/graphite/Surface.h +7 -2
- package/cpp/skia/include/gpu/graphite/dawn/DawnBackendContext.h +41 -2
- package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +11 -6
- package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +1 -2
- package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +6 -6
- package/cpp/skia/include/gpu/mock/GrMockTypes.h +1 -0
- package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
- package/cpp/skia/include/gpu/vk/GrVkTypes.h +1 -44
- package/cpp/skia/include/gpu/vk/VulkanExtensions.h +1 -1
- package/cpp/skia/include/gpu/vk/VulkanMutableTextureState.h +25 -0
- package/cpp/skia/include/gpu/vk/VulkanTypes.h +44 -0
- package/cpp/skia/include/ports/SkFontConfigInterface.h +3 -6
- package/cpp/skia/include/private/SkEncodedInfo.h +5 -0
- package/cpp/skia/include/private/SkExif.h +102 -0
- package/cpp/skia/include/private/SkGainmapInfo.h +11 -1
- package/cpp/skia/include/private/base/SkAssert.h +16 -0
- package/cpp/skia/include/private/base/SkDeque.h +2 -7
- package/cpp/skia/include/private/base/SkLoadUserConfig.h +1 -1
- package/cpp/skia/include/private/base/SkTArray.h +69 -28
- package/cpp/skia/include/private/base/SkThreadAnnotations.h +18 -5
- package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +26 -30
- package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +4 -3
- package/cpp/skia/include/private/chromium/SkImageChromium.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +8 -6
- package/cpp/skia/include/private/gpu/graphite/ContextOptionsPriv.h +29 -0
- package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +12 -9
- package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +16 -11
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_platform.h +2 -2
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +312 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +77 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +446 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +67 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +36 -0
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan.h +9 -2
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_android.h +31 -3
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_core.h +10624 -5716
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +2 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +2 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +28 -1
- package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +2 -1
- package/cpp/skia/include/utils/mac/SkCGUtils.h +23 -11
- package/cpp/skia/modules/skcms/skcms.h +2 -410
- package/cpp/skia/modules/skcms/src/Transform_inl.h +831 -704
- package/cpp/skia/modules/skcms/src/skcms_Transform.h +161 -0
- package/cpp/skia/modules/skcms/src/skcms_internals.h +136 -0
- package/cpp/skia/modules/skcms/src/skcms_public.h +404 -0
- package/cpp/skia/modules/skparagraph/include/FontArguments.h +1 -1
- package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -0
- package/cpp/skia/modules/skparagraph/include/Paragraph.h +2 -2
- package/cpp/skia/modules/skparagraph/include/TextStyle.h +4 -3
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +1 -3
- package/cpp/skia/modules/skresources/include/SkResources.h +28 -17
- package/cpp/skia/modules/skunicode/include/SkUnicode.h +12 -0
- package/cpp/skia/modules/svg/include/SkSVGDOM.h +4 -1
- package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +4 -1
- package/cpp/skia/src/base/SkUTF.h +7 -0
- package/cpp/skia/src/core/SkTHash.h +20 -8
- package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +3 -2
- package/lib/commonjs/dom/nodes/JsiSkDOM.js +56 -57
- package/lib/commonjs/dom/nodes/JsiSkDOM.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/interpolators.js +16 -2
- package/lib/commonjs/external/reanimated/interpolators.js.map +1 -1
- package/lib/commonjs/external/reanimated/moduleWrapper.d.ts +1 -0
- package/lib/commonjs/external/reanimated/moduleWrapper.js +5 -3
- package/lib/commonjs/external/reanimated/moduleWrapper.js.map +1 -1
- package/lib/commonjs/external/reanimated/textures.d.ts +5 -0
- package/lib/commonjs/external/reanimated/textures.js +52 -0
- package/lib/commonjs/external/reanimated/textures.js.map +1 -0
- package/lib/commonjs/headless/index.js +1 -1
- package/lib/commonjs/headless/index.js.map +1 -1
- package/lib/commonjs/mock/index.js +3 -0
- package/lib/commonjs/mock/index.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.js +6 -5
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/renderer/Container.d.ts +1 -1
- package/lib/commonjs/renderer/Container.js +2 -1
- package/lib/commonjs/renderer/Container.js.map +1 -1
- package/lib/commonjs/renderer/Offscreen.d.ts +1 -0
- package/lib/commonjs/renderer/Offscreen.js +18 -5
- package/lib/commonjs/renderer/Offscreen.js.map +1 -1
- package/lib/commonjs/renderer/Reconciler.d.ts +1 -1
- package/lib/commonjs/renderer/Reconciler.js +7 -4
- package/lib/commonjs/renderer/Reconciler.js.map +1 -1
- package/lib/commonjs/skia/types/Matrix4.d.ts +2 -2
- package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
- package/lib/commonjs/skia/types/Shader/Shader.d.ts +1 -1
- package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPath.d.ts +2 -2
- package/lib/commonjs/skia/web/JsiSkPath.js +10 -2
- package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
- package/lib/commonjs/views/SkiaJSDomView.d.ts +31 -0
- package/lib/commonjs/views/SkiaJSDomView.js +161 -0
- package/lib/commonjs/views/SkiaJSDomView.js.map +1 -0
- package/lib/commonjs/views/SkiaJSDomView.web.d.ts +1 -0
- package/lib/commonjs/views/SkiaJSDomView.web.js +14 -0
- package/lib/commonjs/views/SkiaJSDomView.web.js.map +1 -0
- package/lib/module/dom/nodes/JsiSkDOM.d.ts +3 -2
- package/lib/module/dom/nodes/JsiSkDOM.js +56 -56
- package/lib/module/dom/nodes/JsiSkDOM.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/interpolators.js +15 -2
- package/lib/module/external/reanimated/interpolators.js.map +1 -1
- package/lib/module/external/reanimated/moduleWrapper.d.ts +1 -0
- package/lib/module/external/reanimated/moduleWrapper.js +3 -2
- package/lib/module/external/reanimated/moduleWrapper.js.map +1 -1
- package/lib/module/external/reanimated/textures.d.ts +5 -0
- package/lib/module/external/reanimated/textures.js +35 -0
- package/lib/module/external/reanimated/textures.js.map +1 -0
- package/lib/module/headless/index.js +1 -1
- package/lib/module/headless/index.js.map +1 -1
- package/lib/module/mock/index.js +3 -0
- package/lib/module/mock/index.js.map +1 -1
- package/lib/module/renderer/Canvas.js +5 -4
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/renderer/Container.d.ts +1 -1
- package/lib/module/renderer/Container.js +2 -1
- package/lib/module/renderer/Container.js.map +1 -1
- package/lib/module/renderer/Offscreen.d.ts +1 -0
- package/lib/module/renderer/Offscreen.js +11 -3
- package/lib/module/renderer/Offscreen.js.map +1 -1
- package/lib/module/renderer/Reconciler.d.ts +1 -1
- package/lib/module/renderer/Reconciler.js +7 -4
- package/lib/module/renderer/Reconciler.js.map +1 -1
- package/lib/module/skia/types/Matrix4.d.ts +2 -2
- package/lib/module/skia/types/Matrix4.js.map +1 -1
- package/lib/module/skia/types/Shader/Shader.d.ts +1 -1
- package/lib/module/skia/types/Shader/Shader.js.map +1 -1
- package/lib/module/skia/web/JsiSkPath.d.ts +2 -2
- package/lib/module/skia/web/JsiSkPath.js +10 -2
- package/lib/module/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/views/SkiaJSDomView.d.ts +31 -0
- package/lib/module/views/SkiaJSDomView.js +136 -0
- package/lib/module/views/SkiaJSDomView.js.map +1 -0
- package/lib/module/views/SkiaJSDomView.web.d.ts +1 -0
- package/lib/module/views/SkiaJSDomView.web.js +2 -0
- package/lib/module/views/SkiaJSDomView.web.js.map +1 -0
- package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +3 -2
- package/lib/typescript/src/external/reanimated/index.d.ts +1 -0
- package/lib/typescript/src/external/reanimated/moduleWrapper.d.ts +1 -0
- package/lib/typescript/src/external/reanimated/textures.d.ts +5 -0
- package/lib/typescript/src/renderer/Container.d.ts +1 -1
- package/lib/typescript/src/renderer/Offscreen.d.ts +1 -0
- package/lib/typescript/src/renderer/Reconciler.d.ts +1 -1
- package/lib/typescript/src/skia/types/Matrix4.d.ts +2 -2
- package/lib/typescript/src/skia/types/Shader/Shader.d.ts +1 -1
- package/lib/typescript/src/skia/web/JsiSkPath.d.ts +2 -2
- package/lib/typescript/src/views/SkiaJSDomView.d.ts +31 -0
- package/lib/typescript/src/views/SkiaJSDomView.web.d.ts +1 -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/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/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/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/Info.plist +5 -5
- 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/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/src/dom/nodes/JsiSkDOM.ts +55 -56
- package/src/external/reanimated/index.ts +1 -0
- package/src/external/reanimated/interpolators.ts +17 -3
- package/src/external/reanimated/moduleWrapper.ts +1 -0
- package/src/external/reanimated/textures.tsx +50 -0
- package/src/headless/index.ts +1 -1
- package/src/mock/index.ts +3 -0
- package/src/renderer/Canvas.tsx +4 -3
- package/src/renderer/Container.tsx +3 -2
- package/src/renderer/Offscreen.tsx +12 -3
- package/src/renderer/Reconciler.tsx +5 -2
- package/src/skia/types/Matrix4.ts +2 -2
- package/src/skia/types/Shader/Shader.ts +6 -1
- package/src/skia/web/JsiSkPath.ts +23 -3
- package/src/views/SkiaJSDomView.tsx +126 -0
- package/src/views/SkiaJSDomView.web.tsx +1 -0
- package/android/cpp/jni/include/JniSkiaDrawView.h +0 -90
- package/cpp/rnskia/RNSkJsView.cpp +0 -236
- package/cpp/rnskia/RNSkJsView.h +0 -121
- package/cpp/skia/include/gpu/GrSurfaceInfo.h +0 -142
- package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +0 -107
- package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +0 -32
- package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +0 -83
- package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +0 -47
- package/cpp/skia/include/private/gpu/vk/VulkanTypesPriv.h +0 -57
- package/cpp/skia/include/utils/SkBase64.h +0 -53
- package/cpp/skia/modules/skcms/skcms_internal.h +0 -56
@@ -1,142 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2021 Google LLC
|
3
|
-
*
|
4
|
-
* Use of this source code is governed by a BSD-style license that can be
|
5
|
-
* found in the LICENSE file.
|
6
|
-
*/
|
7
|
-
|
8
|
-
#ifndef GrSurfaceInfo_DEFINED
|
9
|
-
#define GrSurfaceInfo_DEFINED
|
10
|
-
|
11
|
-
#include "include/gpu/GrTypes.h"
|
12
|
-
|
13
|
-
#ifdef SK_GL
|
14
|
-
#include "include/private/gpu/ganesh/GrGLTypesPriv.h"
|
15
|
-
#endif
|
16
|
-
#ifdef SK_VULKAN
|
17
|
-
#include "include/private/gpu/ganesh/GrVkTypesPriv.h"
|
18
|
-
#endif
|
19
|
-
#ifdef SK_DIRECT3D
|
20
|
-
#include "include/private/gpu/ganesh/GrD3DTypesMinimal.h"
|
21
|
-
struct GrD3DSurfaceInfo;
|
22
|
-
#endif
|
23
|
-
#ifdef SK_METAL
|
24
|
-
#include "include/private/gpu/ganesh/GrMtlTypesPriv.h"
|
25
|
-
#endif
|
26
|
-
#include "include/private/gpu/ganesh/GrMockTypesPriv.h"
|
27
|
-
|
28
|
-
class GrSurfaceInfo {
|
29
|
-
public:
|
30
|
-
GrSurfaceInfo() {}
|
31
|
-
#ifdef SK_GL
|
32
|
-
GrSurfaceInfo(const GrGLSurfaceInfo& glInfo)
|
33
|
-
: fBackend(GrBackendApi::kOpenGL)
|
34
|
-
, fValid(true)
|
35
|
-
, fSampleCount(glInfo.fSampleCount)
|
36
|
-
, fLevelCount(glInfo.fLevelCount)
|
37
|
-
, fProtected(glInfo.fProtected)
|
38
|
-
, fGLSpec(glInfo) {}
|
39
|
-
#endif
|
40
|
-
#ifdef SK_VULKAN
|
41
|
-
GrSurfaceInfo(const GrVkSurfaceInfo& vkInfo)
|
42
|
-
: fBackend(GrBackendApi::kVulkan)
|
43
|
-
, fValid(true)
|
44
|
-
, fSampleCount(vkInfo.fSampleCount)
|
45
|
-
, fLevelCount(vkInfo.fLevelCount)
|
46
|
-
, fProtected(vkInfo.fProtected)
|
47
|
-
, fVkSpec(vkInfo) {}
|
48
|
-
#endif
|
49
|
-
#ifdef SK_DIRECT3D
|
50
|
-
GrSurfaceInfo(const GrD3DSurfaceInfo& d3dInfo);
|
51
|
-
#endif
|
52
|
-
#ifdef SK_METAL
|
53
|
-
GrSurfaceInfo(const GrMtlSurfaceInfo& mtlInfo)
|
54
|
-
: fBackend(GrBackendApi::kMetal)
|
55
|
-
, fValid(true)
|
56
|
-
, fSampleCount(mtlInfo.fSampleCount)
|
57
|
-
, fLevelCount(mtlInfo.fLevelCount)
|
58
|
-
, fProtected(mtlInfo.fProtected)
|
59
|
-
, fMtlSpec(mtlInfo) {}
|
60
|
-
#endif
|
61
|
-
GrSurfaceInfo(const GrMockSurfaceInfo& mockInfo)
|
62
|
-
: fBackend(GrBackendApi::kMock)
|
63
|
-
, fValid(true)
|
64
|
-
, fSampleCount(mockInfo.fSampleCount)
|
65
|
-
, fLevelCount(mockInfo.fLevelCount)
|
66
|
-
, fProtected(mockInfo.fProtected)
|
67
|
-
, fMockSpec(mockInfo) {}
|
68
|
-
|
69
|
-
~GrSurfaceInfo();
|
70
|
-
GrSurfaceInfo(const GrSurfaceInfo&) = default;
|
71
|
-
|
72
|
-
bool isValid() const { return fValid; }
|
73
|
-
GrBackendApi backend() const { return fBackend; }
|
74
|
-
|
75
|
-
uint32_t numSamples() const { return fSampleCount; }
|
76
|
-
uint32_t numMipLevels() const { return fLevelCount; }
|
77
|
-
GrProtected isProtected() const { return fProtected; }
|
78
|
-
|
79
|
-
#ifdef SK_GL
|
80
|
-
bool getGLSurfaceInfo(GrGLSurfaceInfo* info) const {
|
81
|
-
if (!this->isValid() || fBackend != GrBackendApi::kOpenGL) {
|
82
|
-
return false;
|
83
|
-
}
|
84
|
-
*info = GrGLTextureSpecToSurfaceInfo(fGLSpec, fSampleCount, fLevelCount, fProtected);
|
85
|
-
return true;
|
86
|
-
}
|
87
|
-
#endif
|
88
|
-
#ifdef SK_VULKAN
|
89
|
-
bool getVkSurfaceInfo(GrVkSurfaceInfo* info) const {
|
90
|
-
if (!this->isValid() || fBackend != GrBackendApi::kVulkan) {
|
91
|
-
return false;
|
92
|
-
}
|
93
|
-
*info = GrVkImageSpecToSurfaceInfo(fVkSpec, fSampleCount, fLevelCount, fProtected);
|
94
|
-
return true;
|
95
|
-
}
|
96
|
-
#endif
|
97
|
-
#ifdef SK_DIRECT3D
|
98
|
-
bool getD3DSurfaceInfo(GrD3DSurfaceInfo*) const;
|
99
|
-
#endif
|
100
|
-
#ifdef SK_METAL
|
101
|
-
bool getMtlSurfaceInfo(GrMtlSurfaceInfo* info) const {
|
102
|
-
if (!this->isValid() || fBackend != GrBackendApi::kMetal) {
|
103
|
-
return false;
|
104
|
-
}
|
105
|
-
*info = GrMtlTextureSpecToSurfaceInfo(fMtlSpec, fSampleCount, fLevelCount, fProtected);
|
106
|
-
return true;
|
107
|
-
}
|
108
|
-
#endif
|
109
|
-
bool getMockSurfaceInfo(GrMockSurfaceInfo* info) const {
|
110
|
-
if (!this->isValid() || fBackend != GrBackendApi::kMock) {
|
111
|
-
return false;
|
112
|
-
}
|
113
|
-
*info = GrMockTextureSpecToSurfaceInfo(fMockSpec, fSampleCount, fLevelCount, fProtected);
|
114
|
-
return true;
|
115
|
-
}
|
116
|
-
|
117
|
-
private:
|
118
|
-
GrBackendApi fBackend = GrBackendApi::kMock;
|
119
|
-
bool fValid = false;
|
120
|
-
|
121
|
-
uint32_t fSampleCount = 1;
|
122
|
-
uint32_t fLevelCount = 0;
|
123
|
-
GrProtected fProtected = GrProtected::kNo;
|
124
|
-
|
125
|
-
union {
|
126
|
-
#ifdef SK_GL
|
127
|
-
GrGLTextureSpec fGLSpec;
|
128
|
-
#endif
|
129
|
-
#ifdef SK_VULKAN
|
130
|
-
GrVkImageSpec fVkSpec;
|
131
|
-
#endif
|
132
|
-
#ifdef SK_DIRECT3D
|
133
|
-
GrD3DTextureResourceSpecHolder fD3DSpec;
|
134
|
-
#endif
|
135
|
-
#ifdef SK_METAL
|
136
|
-
GrMtlTextureSpec fMtlSpec;
|
137
|
-
#endif
|
138
|
-
GrMockTextureSpec fMockSpec;
|
139
|
-
};
|
140
|
-
};
|
141
|
-
|
142
|
-
#endif
|
@@ -1,107 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2019 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
|
-
#include "include/core/SkRefCnt.h"
|
9
|
-
#include "include/gpu/gl/GrGLTypes.h"
|
10
|
-
|
11
|
-
#ifndef GrGLTypesPriv_DEFINED
|
12
|
-
#define GrGLTypesPriv_DEFINED
|
13
|
-
|
14
|
-
// TODO(b/293490566) Move this to src/ after GrSurfaceInfo.h has been decoupled from GL
|
15
|
-
|
16
|
-
static constexpr int kGrGLColorFormatCount = static_cast<int>(GrGLFormat::kLastColorFormat) + 1;
|
17
|
-
|
18
|
-
class GrGLTextureParameters : public SkNVRefCnt<GrGLTextureParameters> {
|
19
|
-
public:
|
20
|
-
// We currently consider texture parameters invalid on all textures
|
21
|
-
// GrContext::resetContext(). We use this type to track whether instances of
|
22
|
-
// GrGLTextureParameters were updated before or after the most recent resetContext(). At 10
|
23
|
-
// resets / frame and 60fps a 64bit timestamp will overflow in about a billion years.
|
24
|
-
// TODO: Require clients to use GrBackendTexture::glTextureParametersModified() to invalidate
|
25
|
-
// texture parameters and get rid of timestamp checking.
|
26
|
-
using ResetTimestamp = uint64_t;
|
27
|
-
|
28
|
-
// This initializes the params to have an expired timestamp. They'll be considered invalid the
|
29
|
-
// first time the texture is used unless set() is called.
|
30
|
-
GrGLTextureParameters() = default;
|
31
|
-
|
32
|
-
// This is texture parameter state that is overridden when a non-zero sampler object is bound.
|
33
|
-
struct SamplerOverriddenState {
|
34
|
-
SamplerOverriddenState();
|
35
|
-
void invalidate();
|
36
|
-
|
37
|
-
GrGLenum fMinFilter;
|
38
|
-
GrGLenum fMagFilter;
|
39
|
-
GrGLenum fWrapS;
|
40
|
-
GrGLenum fWrapT;
|
41
|
-
GrGLfloat fMinLOD;
|
42
|
-
GrGLfloat fMaxLOD;
|
43
|
-
GrGLfloat fMaxAniso;
|
44
|
-
// We always want the border color to be transparent black, so no need to store 4 floats.
|
45
|
-
// Just track if it's been invalidated and no longer the default
|
46
|
-
bool fBorderColorInvalid;
|
47
|
-
};
|
48
|
-
|
49
|
-
// Texture parameter state that is not overridden by a bound sampler object.
|
50
|
-
struct NonsamplerState {
|
51
|
-
NonsamplerState();
|
52
|
-
void invalidate();
|
53
|
-
|
54
|
-
GrGLint fBaseMipMapLevel;
|
55
|
-
GrGLint fMaxMipmapLevel;
|
56
|
-
bool fSwizzleIsRGBA;
|
57
|
-
};
|
58
|
-
|
59
|
-
void invalidate();
|
60
|
-
|
61
|
-
ResetTimestamp resetTimestamp() const { return fResetTimestamp; }
|
62
|
-
const SamplerOverriddenState& samplerOverriddenState() const { return fSamplerOverriddenState; }
|
63
|
-
const NonsamplerState& nonsamplerState() const { return fNonsamplerState; }
|
64
|
-
|
65
|
-
// SamplerOverriddenState is optional because we don't track it when we're using sampler
|
66
|
-
// objects.
|
67
|
-
void set(const SamplerOverriddenState* samplerState,
|
68
|
-
const NonsamplerState& nonsamplerState,
|
69
|
-
ResetTimestamp currTimestamp);
|
70
|
-
|
71
|
-
private:
|
72
|
-
static constexpr ResetTimestamp kExpiredTimestamp = 0;
|
73
|
-
|
74
|
-
SamplerOverriddenState fSamplerOverriddenState;
|
75
|
-
NonsamplerState fNonsamplerState;
|
76
|
-
ResetTimestamp fResetTimestamp = kExpiredTimestamp;
|
77
|
-
};
|
78
|
-
|
79
|
-
class GrGLBackendTextureInfo {
|
80
|
-
public:
|
81
|
-
GrGLBackendTextureInfo(const GrGLTextureInfo& info, sk_sp<GrGLTextureParameters> params)
|
82
|
-
: fInfo(info), fParams(params) {}
|
83
|
-
const GrGLTextureInfo& info() const { return fInfo; }
|
84
|
-
GrGLTextureParameters* parameters() const { return fParams.get(); }
|
85
|
-
sk_sp<GrGLTextureParameters> refParameters() const { return fParams; }
|
86
|
-
|
87
|
-
bool isProtected() const { return fInfo.isProtected(); }
|
88
|
-
|
89
|
-
private:
|
90
|
-
GrGLTextureInfo fInfo;
|
91
|
-
sk_sp<GrGLTextureParameters> fParams; // not const because we might call invalidate() on it.
|
92
|
-
};
|
93
|
-
|
94
|
-
struct GrGLTextureSpec {
|
95
|
-
GrGLTextureSpec() : fTarget(0), fFormat(0) {}
|
96
|
-
GrGLTextureSpec(const GrGLSurfaceInfo& info) : fTarget(info.fTarget), fFormat(info.fFormat) {}
|
97
|
-
|
98
|
-
GrGLenum fTarget;
|
99
|
-
GrGLenum fFormat;
|
100
|
-
};
|
101
|
-
|
102
|
-
GrGLSurfaceInfo GrGLTextureSpecToSurfaceInfo(const GrGLTextureSpec& glSpec,
|
103
|
-
uint32_t sampleCount,
|
104
|
-
uint32_t levelCount,
|
105
|
-
skgpu::Protected isProtected);
|
106
|
-
|
107
|
-
#endif
|
@@ -1,32 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2021 Google LLC
|
3
|
-
*
|
4
|
-
* Use of this source code is governed by a BSD-style license that can be
|
5
|
-
* found in the LICENSE file.
|
6
|
-
*/
|
7
|
-
|
8
|
-
#ifndef GrMockTypesPriv_DEFINED
|
9
|
-
#define GrMockTypesPriv_DEFINED
|
10
|
-
|
11
|
-
#include "include/core/SkTextureCompressionType.h"
|
12
|
-
#include "include/gpu/mock/GrMockTypes.h"
|
13
|
-
|
14
|
-
struct GrMockTextureSpec {
|
15
|
-
GrMockTextureSpec()
|
16
|
-
: fColorType(GrColorType::kUnknown)
|
17
|
-
, fCompressionType(SkTextureCompressionType::kNone) {}
|
18
|
-
GrMockTextureSpec(const GrMockSurfaceInfo& info)
|
19
|
-
: fColorType(info.fColorType)
|
20
|
-
, fCompressionType(info.fCompressionType) {}
|
21
|
-
|
22
|
-
GrColorType fColorType = GrColorType::kUnknown;
|
23
|
-
SkTextureCompressionType fCompressionType = SkTextureCompressionType::kNone;
|
24
|
-
};
|
25
|
-
|
26
|
-
GrMockSurfaceInfo GrMockTextureSpecToSurfaceInfo(const GrMockTextureSpec& mockSpec,
|
27
|
-
uint32_t sampleCount,
|
28
|
-
uint32_t levelCount,
|
29
|
-
GrProtected isProtected);
|
30
|
-
|
31
|
-
#endif
|
32
|
-
|
@@ -1,83 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2021 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 GrMtlTypesPriv_DEFINED
|
9
|
-
#define GrMtlTypesPriv_DEFINED
|
10
|
-
|
11
|
-
#include "include/gpu/GrTypes.h"
|
12
|
-
#include "include/gpu/mtl/GrMtlTypes.h"
|
13
|
-
|
14
|
-
///////////////////////////////////////////////////////////////////////////////
|
15
|
-
|
16
|
-
#ifdef __APPLE__
|
17
|
-
|
18
|
-
#include <TargetConditionals.h>
|
19
|
-
|
20
|
-
#if defined(SK_BUILD_FOR_MAC)
|
21
|
-
#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 130000
|
22
|
-
#define GR_METAL_SDK_VERSION 300
|
23
|
-
#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 120000
|
24
|
-
#define GR_METAL_SDK_VERSION 240
|
25
|
-
#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 110000
|
26
|
-
#define GR_METAL_SDK_VERSION 230
|
27
|
-
#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500
|
28
|
-
#define GR_METAL_SDK_VERSION 220
|
29
|
-
#elif __MAC_OS_X_VERSION_MAX_ALLOWED >= 101400
|
30
|
-
#define GR_METAL_SDK_VERSION 210
|
31
|
-
#else
|
32
|
-
#error Must use at least 10.14 SDK to build Metal backend for MacOS
|
33
|
-
#endif
|
34
|
-
#else
|
35
|
-
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 160000 || __TV_OS_VERSION_MAX_ALLOWED >= 160000
|
36
|
-
#define GR_METAL_SDK_VERSION 300
|
37
|
-
#elif __IPHONE_OS_VERSION_MAX_ALLOWED >= 150000 || __TV_OS_VERSION_MAX_ALLOWED >= 150000
|
38
|
-
#define GR_METAL_SDK_VERSION 240
|
39
|
-
#elif __IPHONE_OS_VERSION_MAX_ALLOWED >= 140000 || __TV_OS_VERSION_MAX_ALLOWED >= 140000
|
40
|
-
#define GR_METAL_SDK_VERSION 230
|
41
|
-
#elif __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000 || __TV_OS_VERSION_MAX_ALLOWED >= 130000
|
42
|
-
#define GR_METAL_SDK_VERSION 220
|
43
|
-
#elif __IPHONE_OS_VERSION_MAX_ALLOWED >= 120000 || __TV_OS_VERSION_MAX_ALLOWED >= 120000
|
44
|
-
#define GR_METAL_SDK_VERSION 210
|
45
|
-
#else
|
46
|
-
#error Must use at least 12.00 SDK to build Metal backend for iOS
|
47
|
-
#endif
|
48
|
-
#endif
|
49
|
-
|
50
|
-
#if __has_feature(objc_arc) && __has_attribute(objc_externally_retained)
|
51
|
-
#define GR_NORETAIN __attribute__((objc_externally_retained))
|
52
|
-
#define GR_NORETAIN_BEGIN \
|
53
|
-
_Pragma("clang attribute push (__attribute__((objc_externally_retained)), apply_to=any(function,objc_method))")
|
54
|
-
#define GR_NORETAIN_END _Pragma("clang attribute pop")
|
55
|
-
#else
|
56
|
-
#define GR_NORETAIN
|
57
|
-
#define GR_NORETAIN_BEGIN
|
58
|
-
#define GR_NORETAIN_END
|
59
|
-
#endif
|
60
|
-
|
61
|
-
struct GrMtlTextureSpec {
|
62
|
-
GrMtlTextureSpec()
|
63
|
-
: fFormat(0)
|
64
|
-
, fUsage(0)
|
65
|
-
, fStorageMode(0) {}
|
66
|
-
GrMtlTextureSpec(const GrMtlSurfaceInfo& info)
|
67
|
-
: fFormat(info.fFormat)
|
68
|
-
, fUsage(info.fUsage)
|
69
|
-
, fStorageMode(info.fStorageMode) {}
|
70
|
-
|
71
|
-
GrMTLPixelFormat fFormat;
|
72
|
-
GrMTLTextureUsage fUsage;
|
73
|
-
GrMTLStorageMode fStorageMode;
|
74
|
-
};
|
75
|
-
|
76
|
-
GrMtlSurfaceInfo GrMtlTextureSpecToSurfaceInfo(const GrMtlTextureSpec& mtlSpec,
|
77
|
-
uint32_t sampleCount,
|
78
|
-
uint32_t levelCount,
|
79
|
-
skgpu::Protected isProtected);
|
80
|
-
|
81
|
-
#endif // __APPLE__
|
82
|
-
|
83
|
-
#endif // GrMtlTypesPriv_DEFINED
|
@@ -1,47 +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 GrVkTypesPriv_DEFINED
|
9
|
-
#define GrVkTypesPriv_DEFINED
|
10
|
-
|
11
|
-
#include "include/core/SkRefCnt.h"
|
12
|
-
#include "include/gpu/vk/GrVkTypes.h"
|
13
|
-
|
14
|
-
namespace skgpu {
|
15
|
-
class MutableTextureStateRef;
|
16
|
-
}
|
17
|
-
|
18
|
-
GrVkImageInfo GrVkImageInfoWithMutableState(const GrVkImageInfo&,
|
19
|
-
const skgpu::MutableTextureStateRef*);
|
20
|
-
|
21
|
-
struct GrVkImageSpec {
|
22
|
-
GrVkImageSpec()
|
23
|
-
: fImageTiling(VK_IMAGE_TILING_OPTIMAL)
|
24
|
-
, fFormat(VK_FORMAT_UNDEFINED)
|
25
|
-
, fImageUsageFlags(0)
|
26
|
-
, fSharingMode(VK_SHARING_MODE_EXCLUSIVE) {}
|
27
|
-
|
28
|
-
GrVkImageSpec(const GrVkSurfaceInfo& info)
|
29
|
-
: fImageTiling(info.fImageTiling)
|
30
|
-
, fFormat(info.fFormat)
|
31
|
-
, fImageUsageFlags(info.fImageUsageFlags)
|
32
|
-
, fYcbcrConversionInfo(info.fYcbcrConversionInfo)
|
33
|
-
, fSharingMode(info.fSharingMode) {}
|
34
|
-
|
35
|
-
VkImageTiling fImageTiling;
|
36
|
-
VkFormat fFormat;
|
37
|
-
VkImageUsageFlags fImageUsageFlags;
|
38
|
-
GrVkYcbcrConversionInfo fYcbcrConversionInfo;
|
39
|
-
VkSharingMode fSharingMode;
|
40
|
-
};
|
41
|
-
|
42
|
-
GrVkSurfaceInfo GrVkImageSpecToSurfaceInfo(const GrVkImageSpec& vkSpec,
|
43
|
-
uint32_t sampleCount,
|
44
|
-
uint32_t levelCount,
|
45
|
-
skgpu::Protected isProtected);
|
46
|
-
|
47
|
-
#endif
|
@@ -1,57 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2022 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 skgpu_VulkanTypesPriv_DEFINED
|
9
|
-
#define skgpu_VulkanTypesPriv_DEFINED
|
10
|
-
|
11
|
-
#include "include/gpu/vk/VulkanTypes.h"
|
12
|
-
|
13
|
-
#include <atomic>
|
14
|
-
|
15
|
-
namespace skgpu {
|
16
|
-
|
17
|
-
class VulkanMutableTextureState {
|
18
|
-
public:
|
19
|
-
VulkanMutableTextureState(VkImageLayout layout, uint32_t queueFamilyIndex)
|
20
|
-
: fLayout(layout)
|
21
|
-
, fQueueFamilyIndex(queueFamilyIndex) {}
|
22
|
-
|
23
|
-
VulkanMutableTextureState& operator=(const VulkanMutableTextureState& that) {
|
24
|
-
fLayout = that.getImageLayout();
|
25
|
-
fQueueFamilyIndex = that.getQueueFamilyIndex();
|
26
|
-
return *this;
|
27
|
-
}
|
28
|
-
|
29
|
-
void setImageLayout(VkImageLayout layout) {
|
30
|
-
// Defaulting to use std::memory_order_seq_cst
|
31
|
-
fLayout.store(layout);
|
32
|
-
}
|
33
|
-
|
34
|
-
VkImageLayout getImageLayout() const {
|
35
|
-
// Defaulting to use std::memory_order_seq_cst
|
36
|
-
return fLayout.load();
|
37
|
-
}
|
38
|
-
|
39
|
-
void setQueueFamilyIndex(uint32_t queueFamilyIndex) {
|
40
|
-
// Defaulting to use std::memory_order_seq_cst
|
41
|
-
fQueueFamilyIndex.store(queueFamilyIndex);
|
42
|
-
}
|
43
|
-
|
44
|
-
uint32_t getQueueFamilyIndex() const {
|
45
|
-
// Defaulting to use std::memory_order_seq_cst
|
46
|
-
return fQueueFamilyIndex.load();
|
47
|
-
}
|
48
|
-
|
49
|
-
private:
|
50
|
-
std::atomic<VkImageLayout> fLayout;
|
51
|
-
std::atomic<uint32_t> fQueueFamilyIndex;
|
52
|
-
};
|
53
|
-
|
54
|
-
} // namespace skgpu
|
55
|
-
|
56
|
-
#endif // skgpu_VulkanGraphiteTypesPriv_DEFINED
|
57
|
-
|
@@ -1,53 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2006 The Android Open Source Project
|
3
|
-
*
|
4
|
-
* Use of this source code is governed by a BSD-style license that can be
|
5
|
-
* found in the LICENSE file.
|
6
|
-
*/
|
7
|
-
|
8
|
-
#ifndef SkBase64_DEFINED
|
9
|
-
#define SkBase64_DEFINED
|
10
|
-
|
11
|
-
#include "include/core/SkTypes.h"
|
12
|
-
|
13
|
-
#include <cstddef>
|
14
|
-
|
15
|
-
struct SkBase64 {
|
16
|
-
public:
|
17
|
-
enum Error {
|
18
|
-
kNoError,
|
19
|
-
kPadError,
|
20
|
-
kBadCharError
|
21
|
-
};
|
22
|
-
|
23
|
-
/**
|
24
|
-
Base64 encodes src into dst.
|
25
|
-
|
26
|
-
Normally this is called once with 'dst' nullptr to get the required size, then again with an
|
27
|
-
allocated 'dst' pointer to do the actual encoding.
|
28
|
-
|
29
|
-
@param dst nullptr or a pointer to a buffer large enough to receive the result
|
30
|
-
|
31
|
-
@param encode nullptr for default encoding or a pointer to at least 65 chars.
|
32
|
-
encode[64] will be used as the pad character.
|
33
|
-
Encodings other than the default encoding cannot be decoded.
|
34
|
-
|
35
|
-
@return the required length of dst for encoding.
|
36
|
-
*/
|
37
|
-
static size_t Encode(const void* src, size_t length, void* dst, const char* encode = nullptr);
|
38
|
-
|
39
|
-
/**
|
40
|
-
Base64 decodes src into dst.
|
41
|
-
|
42
|
-
Normally this is called once with 'dst' nullptr to get the required size, then again with an
|
43
|
-
allocated 'dst' pointer to do the actual encoding.
|
44
|
-
|
45
|
-
@param dst nullptr or a pointer to a buffer large enough to receive the result
|
46
|
-
|
47
|
-
@param dstLength assigned the length dst is required to be. Must not be nullptr.
|
48
|
-
*/
|
49
|
-
[[nodiscard]] static Error Decode(const void* src, size_t srcLength,
|
50
|
-
void* dst, size_t* dstLength);
|
51
|
-
};
|
52
|
-
|
53
|
-
#endif // SkBase64_DEFINED
|
@@ -1,56 +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
|
-
#pragma once
|
9
|
-
|
10
|
-
// skcms_internal.h contains APIs shared by skcms' internals and its test tools.
|
11
|
-
// Please don't use this header from outside the skcms repo.
|
12
|
-
|
13
|
-
#include "skcms.h"
|
14
|
-
#include <stdbool.h>
|
15
|
-
#include <stdint.h>
|
16
|
-
|
17
|
-
#ifdef __cplusplus
|
18
|
-
extern "C" {
|
19
|
-
#endif
|
20
|
-
|
21
|
-
// ~~~~ General Helper Macros ~~~~
|
22
|
-
#define ARRAY_COUNT(arr) (int)(sizeof((arr)) / sizeof(*(arr)))
|
23
|
-
|
24
|
-
typedef struct skcms_ICCTag {
|
25
|
-
uint32_t signature;
|
26
|
-
uint32_t type;
|
27
|
-
uint32_t size;
|
28
|
-
const uint8_t* buf;
|
29
|
-
} skcms_ICCTag;
|
30
|
-
|
31
|
-
void skcms_GetTagByIndex (const skcms_ICCProfile*, uint32_t idx, skcms_ICCTag*);
|
32
|
-
bool skcms_GetTagBySignature(const skcms_ICCProfile*, uint32_t sig, skcms_ICCTag*);
|
33
|
-
|
34
|
-
float skcms_MaxRoundtripError(const skcms_Curve* curve, const skcms_TransferFunction* inv_tf);
|
35
|
-
|
36
|
-
// 252 of a random shuffle of all possible bytes.
|
37
|
-
// 252 is evenly divisible by 3 and 4. Only 192, 10, 241, and 43 are missing.
|
38
|
-
// Used for ICC profile equivalence testing.
|
39
|
-
extern const uint8_t skcms_252_random_bytes[252];
|
40
|
-
|
41
|
-
// ~~~~ Portable Math ~~~~
|
42
|
-
static inline float floorf_(float x) {
|
43
|
-
float roundtrip = (float)((int)x);
|
44
|
-
return roundtrip > x ? roundtrip - 1 : roundtrip;
|
45
|
-
}
|
46
|
-
static inline float fabsf_(float x) { return x < 0 ? -x : x; }
|
47
|
-
float powf_(float, float);
|
48
|
-
|
49
|
-
// ~~~~ Does this pixel format need a palette pointer to be usable? ~~~~
|
50
|
-
static inline bool needs_palette(skcms_PixelFormat fmt) {
|
51
|
-
return (fmt >> 1) == (skcms_PixelFormat_RGBA_8888_Palette8 >> 1);
|
52
|
-
}
|
53
|
-
|
54
|
-
#ifdef __cplusplus
|
55
|
-
}
|
56
|
-
#endif
|