@shopify/react-native-skia 0.1.212 → 0.1.214

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. package/android/build.gradle +5 -0
  2. package/android/cpp/rnskia-android/SkiaOpenGLHelper.h +3 -2
  3. package/android/cpp/rnskia-android/SkiaOpenGLSurfaceFactory.cpp +9 -2
  4. package/cpp/api/JsiSkSurface.h +4 -1
  5. package/cpp/skia/include/android/GrAHardwareBufferUtils.h +99 -0
  6. package/cpp/skia/include/android/SkHeifDecoder.h +10 -3
  7. package/cpp/skia/include/codec/SkAvifDecoder.h +1 -0
  8. package/cpp/skia/include/codec/SkBmpDecoder.h +1 -0
  9. package/cpp/skia/include/codec/SkCodec.h +4 -3
  10. package/cpp/skia/include/codec/SkEncodedImageFormat.h +0 -3
  11. package/cpp/skia/include/codec/SkGifDecoder.h +1 -0
  12. package/cpp/skia/include/codec/SkIcoDecoder.h +1 -0
  13. package/cpp/skia/include/codec/SkJpegDecoder.h +1 -0
  14. package/cpp/skia/include/codec/SkJpegxlDecoder.h +1 -0
  15. package/cpp/skia/include/codec/SkPngDecoder.h +1 -0
  16. package/cpp/skia/include/codec/SkRawDecoder.h +1 -0
  17. package/cpp/skia/include/codec/SkWbmpDecoder.h +1 -0
  18. package/cpp/skia/include/codec/SkWebpDecoder.h +1 -0
  19. package/cpp/skia/include/config/SkUserConfig.h +0 -2
  20. package/cpp/skia/include/core/SkBitmap.h +8 -8
  21. package/cpp/skia/include/core/SkCanvas.h +37 -50
  22. package/cpp/skia/include/core/SkCapabilities.h +2 -7
  23. package/cpp/skia/include/core/SkColor.h +1 -1
  24. package/cpp/skia/include/core/SkColorFilter.h +6 -0
  25. package/cpp/skia/include/core/SkColorTable.h +3 -0
  26. package/cpp/skia/include/core/SkColorType.h +2 -0
  27. package/cpp/skia/include/core/SkContourMeasure.h +12 -8
  28. package/cpp/skia/include/core/SkDocument.h +1 -0
  29. package/cpp/skia/include/core/SkFont.h +11 -2
  30. package/cpp/skia/include/core/SkFontMgr.h +2 -3
  31. package/cpp/skia/include/core/SkGraphics.h +3 -13
  32. package/cpp/skia/include/core/SkImage.h +57 -111
  33. package/cpp/skia/include/core/SkImageFilter.h +6 -1
  34. package/cpp/skia/include/core/SkImageGenerator.h +8 -0
  35. package/cpp/skia/include/core/SkImageInfo.h +0 -2
  36. package/cpp/skia/include/core/SkM44.h +7 -3
  37. package/cpp/skia/include/core/SkMallocPixelRef.h +4 -1
  38. package/cpp/skia/include/core/SkMatrix.h +17 -17
  39. package/cpp/skia/include/core/SkMesh.h +71 -61
  40. package/cpp/skia/include/core/SkMilestone.h +1 -1
  41. package/cpp/skia/include/core/SkOverdrawCanvas.h +25 -0
  42. package/cpp/skia/include/core/SkPaint.h +1 -1
  43. package/cpp/skia/include/core/SkPath.h +12 -4
  44. package/cpp/skia/include/core/SkPathMeasure.h +3 -4
  45. package/cpp/skia/include/core/SkPicture.h +19 -6
  46. package/cpp/skia/include/core/SkPictureRecorder.h +6 -6
  47. package/cpp/skia/include/core/SkPixmap.h +2 -3
  48. package/cpp/skia/include/core/SkRRect.h +1 -1
  49. package/cpp/skia/include/core/SkRect.h +107 -110
  50. package/cpp/skia/include/core/SkRefCnt.h +1 -1
  51. package/cpp/skia/include/core/SkRegion.h +7 -1
  52. package/cpp/skia/include/core/SkSerialProcs.h +14 -0
  53. package/cpp/skia/include/core/SkShader.h +9 -0
  54. package/cpp/skia/include/core/SkStream.h +9 -9
  55. package/cpp/skia/include/core/SkString.h +1 -1
  56. package/cpp/skia/include/core/SkSurface.h +14 -25
  57. package/cpp/skia/include/core/SkTextBlob.h +17 -4
  58. package/cpp/skia/include/core/SkTiledImageUtils.h +28 -0
  59. package/cpp/skia/include/core/SkTypeface.h +7 -2
  60. package/cpp/skia/include/core/SkTypes.h +4 -12
  61. package/cpp/skia/include/docs/SkPDFDocument.h +17 -3
  62. package/cpp/skia/include/effects/SkImageFilters.h +73 -24
  63. package/cpp/skia/include/effects/SkRuntimeEffect.h +20 -51
  64. package/cpp/skia/include/gpu/GpuTypes.h +13 -0
  65. package/cpp/skia/include/gpu/GrBackendSurface.h +95 -262
  66. package/cpp/skia/include/gpu/GrContextOptions.h +7 -1
  67. package/cpp/skia/include/gpu/GrDirectContext.h +138 -128
  68. package/cpp/skia/include/gpu/GrRecordingContext.h +9 -4
  69. package/cpp/skia/include/gpu/GrSurfaceInfo.h +0 -24
  70. package/cpp/skia/include/gpu/GrTypes.h +16 -1
  71. package/cpp/skia/include/gpu/GrYUVABackendTextures.h +4 -4
  72. package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +2 -2
  73. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +44 -12
  74. package/cpp/skia/include/gpu/ganesh/SkMeshGanesh.h +57 -0
  75. package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +2 -1
  76. package/cpp/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +58 -0
  77. package/cpp/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +29 -0
  78. package/cpp/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h +1 -1
  79. package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +67 -0
  80. package/cpp/skia/include/gpu/gl/GrGLInterface.h +2 -2
  81. package/cpp/skia/include/gpu/graphite/BackendTexture.h +14 -3
  82. package/cpp/skia/include/gpu/graphite/Context.h +93 -13
  83. package/cpp/skia/include/gpu/graphite/ContextOptions.h +19 -8
  84. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +23 -0
  85. package/cpp/skia/include/gpu/graphite/Image.h +56 -0
  86. package/cpp/skia/include/gpu/graphite/ImageProvider.h +5 -0
  87. package/cpp/skia/include/gpu/graphite/Recorder.h +26 -9
  88. package/cpp/skia/include/gpu/graphite/Recording.h +7 -5
  89. package/cpp/skia/include/gpu/graphite/TextureInfo.h +8 -0
  90. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +2 -2
  91. package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
  92. package/cpp/skia/include/gpu/vk/GrVkTypes.h +4 -3
  93. package/cpp/skia/include/ports/SkCFObject.h +1 -1
  94. package/cpp/skia/include/private/SkGainmapInfo.h +4 -13
  95. package/cpp/skia/include/private/SkJpegGainmapEncoder.h +1 -24
  96. package/cpp/skia/include/private/SkWeakRefCnt.h +1 -1
  97. package/cpp/skia/include/private/base/SkAnySubclass.h +73 -0
  98. package/cpp/skia/include/private/base/SkAssert.h +106 -12
  99. package/cpp/skia/include/private/base/SkAttributes.h +0 -12
  100. package/cpp/skia/include/private/base/SkFeatures.h +0 -3
  101. package/cpp/skia/include/private/base/SkFloatingPoint.h +58 -105
  102. package/cpp/skia/include/private/base/SkSpan_impl.h +18 -12
  103. package/cpp/skia/include/private/base/SkTArray.h +22 -17
  104. package/cpp/skia/include/private/base/SkTDArray.h +5 -6
  105. package/cpp/skia/include/private/base/SkTemplates.h +50 -30
  106. package/cpp/skia/include/private/chromium/GrDeferredDisplayListRecorder.h +5 -2
  107. package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +2 -2
  108. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +13 -8
  109. package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +1 -1
  110. package/cpp/skia/include/private/chromium/SkImageChromium.h +16 -3
  111. package/cpp/skia/include/private/chromium/Slug.h +11 -4
  112. package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
  113. package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +6 -9
  114. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +29 -13
  115. package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -28
  116. package/cpp/skia/include/private/gpu/graphite/ContextOptionsPriv.h +34 -0
  117. package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +6 -0
  118. package/cpp/skia/include/private/gpu/graphite/MtlGraphiteTypesPriv.h +8 -0
  119. package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +10 -0
  120. package/cpp/skia/include/utils/SkBase64.h +2 -2
  121. package/cpp/skia/include/utils/SkNWayCanvas.h +1 -11
  122. package/cpp/skia/include/utils/SkNoDrawCanvas.h +0 -2
  123. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +1 -2
  124. package/cpp/skia/include/utils/SkShadowUtils.h +15 -1
  125. package/cpp/skia/include/utils/SkTextUtils.h +1 -1
  126. package/cpp/skia/modules/skparagraph/include/Paragraph.h +107 -1
  127. package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +3 -2
  128. package/cpp/skia/modules/skparagraph/include/ParagraphStyle.h +4 -0
  129. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +5 -3
  130. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +4 -0
  131. package/cpp/skia/src/core/SkChecksum.h +2 -1
  132. package/cpp/skia/src/core/SkPathPriv.h +1 -1
  133. package/cpp/skia/src/core/SkTHash.h +19 -9
  134. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +3 -1
  135. package/ios/RNSkia-iOS/SkiaMetalSurfaceFactory.mm +1 -1
  136. package/lib/commonjs/dom/nodes/datatypes/Rect.js +5 -1
  137. package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
  138. package/lib/commonjs/external/reanimated/index.d.ts +1 -0
  139. package/lib/commonjs/external/reanimated/index.js +13 -0
  140. package/lib/commonjs/external/reanimated/index.js.map +1 -1
  141. package/lib/commonjs/external/reanimated/moduleWrapper.js +3 -8
  142. package/lib/commonjs/external/reanimated/moduleWrapper.js.map +1 -1
  143. package/lib/commonjs/external/reanimated/renderHelpers.js +46 -1
  144. package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
  145. package/lib/commonjs/external/reanimated/useDerivedValueOnJS.d.ts +2 -0
  146. package/lib/commonjs/external/reanimated/useDerivedValueOnJS.js +26 -0
  147. package/lib/commonjs/external/reanimated/useDerivedValueOnJS.js.map +1 -0
  148. package/lib/commonjs/external/reanimated/useSharedValueEffect.js +2 -5
  149. package/lib/commonjs/external/reanimated/useSharedValueEffect.js.map +1 -1
  150. package/lib/commonjs/index.d.ts +1 -0
  151. package/lib/commonjs/index.js +21 -0
  152. package/lib/commonjs/index.js.map +1 -1
  153. package/lib/commonjs/skia/types/MaskFilter.js +4 -0
  154. package/lib/commonjs/skia/types/MaskFilter.js.map +1 -1
  155. package/lib/commonjs/skia/web/JsiSkPicture.js +2 -1
  156. package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
  157. package/lib/commonjs/views/SkiaBaseWebView.js +1 -1
  158. package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
  159. package/lib/commonjs/views/types.js +3 -0
  160. package/lib/commonjs/views/types.js.map +1 -1
  161. package/lib/module/dom/nodes/datatypes/Rect.js +5 -1
  162. package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
  163. package/lib/module/external/reanimated/index.d.ts +1 -0
  164. package/lib/module/external/reanimated/index.js +1 -0
  165. package/lib/module/external/reanimated/index.js.map +1 -1
  166. package/lib/module/external/reanimated/moduleWrapper.js +1 -9
  167. package/lib/module/external/reanimated/moduleWrapper.js.map +1 -1
  168. package/lib/module/external/reanimated/renderHelpers.js +48 -2
  169. package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
  170. package/lib/module/external/reanimated/useDerivedValueOnJS.d.ts +2 -0
  171. package/lib/module/external/reanimated/useDerivedValueOnJS.js +15 -0
  172. package/lib/module/external/reanimated/useDerivedValueOnJS.js.map +1 -0
  173. package/lib/module/external/reanimated/useSharedValueEffect.js +3 -6
  174. package/lib/module/external/reanimated/useSharedValueEffect.js.map +1 -1
  175. package/lib/module/index.d.ts +1 -0
  176. package/lib/module/index.js +1 -0
  177. package/lib/module/index.js.map +1 -1
  178. package/lib/module/skia/types/MaskFilter.js +3 -0
  179. package/lib/module/skia/types/MaskFilter.js.map +1 -1
  180. package/lib/module/views/types.js +3 -0
  181. package/lib/module/views/types.js.map +1 -1
  182. package/lib/typescript/src/external/reanimated/index.d.ts +1 -0
  183. package/lib/typescript/src/external/reanimated/useDerivedValueOnJS.d.ts +2 -0
  184. package/lib/typescript/src/index.d.ts +1 -0
  185. package/libs/android/arm64-v8a/libskia.a +0 -0
  186. package/libs/android/arm64-v8a/libskottie.a +0 -0
  187. package/libs/android/arm64-v8a/libskparagraph.a +0 -0
  188. package/libs/android/arm64-v8a/libsksg.a +0 -0
  189. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  190. package/libs/android/arm64-v8a/libskunicode.a +0 -0
  191. package/libs/android/arm64-v8a/libsvg.a +0 -0
  192. package/libs/android/armeabi-v7a/libskia.a +0 -0
  193. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  194. package/libs/android/armeabi-v7a/libskparagraph.a +0 -0
  195. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  196. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  197. package/libs/android/armeabi-v7a/libskunicode.a +0 -0
  198. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  199. package/libs/android/x86/libskia.a +0 -0
  200. package/libs/android/x86/libskottie.a +0 -0
  201. package/libs/android/x86/libskparagraph.a +0 -0
  202. package/libs/android/x86/libsksg.a +0 -0
  203. package/libs/android/x86/libskshaper.a +0 -0
  204. package/libs/android/x86/libskunicode.a +0 -0
  205. package/libs/android/x86/libsvg.a +0 -0
  206. package/libs/android/x86_64/libskia.a +0 -0
  207. package/libs/android/x86_64/libskottie.a +0 -0
  208. package/libs/android/x86_64/libskparagraph.a +0 -0
  209. package/libs/android/x86_64/libsksg.a +0 -0
  210. package/libs/android/x86_64/libskshaper.a +0 -0
  211. package/libs/android/x86_64/libskunicode.a +0 -0
  212. package/libs/android/x86_64/libsvg.a +0 -0
  213. package/libs/ios/libskia.xcframework/Info.plist +5 -5
  214. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  215. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  216. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  217. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  218. package/libs/ios/libskparagraph.xcframework/Info.plist +5 -5
  219. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  220. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  221. package/libs/ios/libsksg.xcframework/Info.plist +5 -5
  222. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  223. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  224. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  225. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  226. package/libs/ios/libskunicode.xcframework/Info.plist +5 -5
  227. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
  228. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
  229. package/libs/ios/libsvg.xcframework/Info.plist +5 -5
  230. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  231. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  232. package/package.json +1 -1
  233. package/react-native-skia.podspec +1 -1
  234. package/src/dom/nodes/datatypes/Rect.ts +6 -2
  235. package/src/external/reanimated/index.ts +1 -0
  236. package/src/external/reanimated/moduleWrapper.ts +6 -10
  237. package/src/external/reanimated/renderHelpers.ts +41 -1
  238. package/src/external/reanimated/useDerivedValueOnJS.ts +24 -0
  239. package/src/external/reanimated/useSharedValueEffect.ts +4 -7
  240. package/src/index.ts +1 -0
  241. package/cpp/skia/include/core/SkDeferredDisplayList.h +0 -15
  242. package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +0 -15
  243. package/cpp/skia/include/core/SkPromiseImageTexture.h +0 -20
  244. package/cpp/skia/include/core/SkSurfaceCharacterization.h +0 -15
  245. package/cpp/skia/include/core/SkTime.h +0 -63
  246. package/cpp/skia/include/effects/SkOpPathEffect.h +0 -43
  247. package/cpp/skia/include/effects/SkStrokeAndFillPathEffect.h +0 -28
  248. package/cpp/skia/include/gpu/GrBackendSurfaceMutableState.h +0 -32
  249. package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +0 -95
  250. package/cpp/skia/include/private/SkBitmaskEnum.h +0 -59
  251. package/cpp/skia/include/private/SkSLDefines.h +0 -64
  252. package/cpp/skia/include/private/SkShadowFlags.h +0 -27
  253. package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +0 -26
  254. /package/cpp/skia/{include/private/base → src/core}/SkPathEnums.h +0 -0
@@ -6,32 +6,32 @@
6
6
  <array>
7
7
  <dict>
8
8
  <key>LibraryIdentifier</key>
9
- <string>ios-arm64_arm64e</string>
9
+ <string>ios-arm64_arm64e_x86_64-simulator</string>
10
10
  <key>LibraryPath</key>
11
11
  <string>libsksg.a</string>
12
12
  <key>SupportedArchitectures</key>
13
13
  <array>
14
14
  <string>arm64</string>
15
15
  <string>arm64e</string>
16
+ <string>x86_64</string>
16
17
  </array>
17
18
  <key>SupportedPlatform</key>
18
19
  <string>ios</string>
20
+ <key>SupportedPlatformVariant</key>
21
+ <string>simulator</string>
19
22
  </dict>
20
23
  <dict>
21
24
  <key>LibraryIdentifier</key>
22
- <string>ios-arm64_arm64e_x86_64-simulator</string>
25
+ <string>ios-arm64_arm64e</string>
23
26
  <key>LibraryPath</key>
24
27
  <string>libsksg.a</string>
25
28
  <key>SupportedArchitectures</key>
26
29
  <array>
27
30
  <string>arm64</string>
28
31
  <string>arm64e</string>
29
- <string>x86_64</string>
30
32
  </array>
31
33
  <key>SupportedPlatform</key>
32
34
  <string>ios</string>
33
- <key>SupportedPlatformVariant</key>
34
- <string>simulator</string>
35
35
  </dict>
36
36
  </array>
37
37
  <key>CFBundlePackageType</key>
@@ -6,32 +6,32 @@
6
6
  <array>
7
7
  <dict>
8
8
  <key>LibraryIdentifier</key>
9
- <string>ios-arm64_arm64e</string>
9
+ <string>ios-arm64_arm64e_x86_64-simulator</string>
10
10
  <key>LibraryPath</key>
11
11
  <string>libskunicode.a</string>
12
12
  <key>SupportedArchitectures</key>
13
13
  <array>
14
14
  <string>arm64</string>
15
15
  <string>arm64e</string>
16
+ <string>x86_64</string>
16
17
  </array>
17
18
  <key>SupportedPlatform</key>
18
19
  <string>ios</string>
20
+ <key>SupportedPlatformVariant</key>
21
+ <string>simulator</string>
19
22
  </dict>
20
23
  <dict>
21
24
  <key>LibraryIdentifier</key>
22
- <string>ios-arm64_arm64e_x86_64-simulator</string>
25
+ <string>ios-arm64_arm64e</string>
23
26
  <key>LibraryPath</key>
24
27
  <string>libskunicode.a</string>
25
28
  <key>SupportedArchitectures</key>
26
29
  <array>
27
30
  <string>arm64</string>
28
31
  <string>arm64e</string>
29
- <string>x86_64</string>
30
32
  </array>
31
33
  <key>SupportedPlatform</key>
32
34
  <string>ios</string>
33
- <key>SupportedPlatformVariant</key>
34
- <string>simulator</string>
35
35
  </dict>
36
36
  </array>
37
37
  <key>CFBundlePackageType</key>
@@ -6,32 +6,32 @@
6
6
  <array>
7
7
  <dict>
8
8
  <key>LibraryIdentifier</key>
9
- <string>ios-arm64_arm64e_x86_64-simulator</string>
9
+ <string>ios-arm64_arm64e</string>
10
10
  <key>LibraryPath</key>
11
11
  <string>libsvg.a</string>
12
12
  <key>SupportedArchitectures</key>
13
13
  <array>
14
14
  <string>arm64</string>
15
15
  <string>arm64e</string>
16
- <string>x86_64</string>
17
16
  </array>
18
17
  <key>SupportedPlatform</key>
19
18
  <string>ios</string>
20
- <key>SupportedPlatformVariant</key>
21
- <string>simulator</string>
22
19
  </dict>
23
20
  <dict>
24
21
  <key>LibraryIdentifier</key>
25
- <string>ios-arm64_arm64e</string>
22
+ <string>ios-arm64_arm64e_x86_64-simulator</string>
26
23
  <key>LibraryPath</key>
27
24
  <string>libsvg.a</string>
28
25
  <key>SupportedArchitectures</key>
29
26
  <array>
30
27
  <string>arm64</string>
31
28
  <string>arm64e</string>
29
+ <string>x86_64</string>
32
30
  </array>
33
31
  <key>SupportedPlatform</key>
34
32
  <string>ios</string>
33
+ <key>SupportedPlatformVariant</key>
34
+ <string>simulator</string>
35
35
  </dict>
36
36
  </array>
37
37
  <key>CFBundlePackageType</key>
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "setup-skia-web": "./scripts/setup-canvaskit.js"
8
8
  },
9
9
  "title": "React Native Skia",
10
- "version": "0.1.212",
10
+ "version": "0.1.214",
11
11
  "description": "High-performance React Native Graphics using Skia",
12
12
  "main": "lib/module/index.js",
13
13
  "files": [
@@ -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 => "9.0" }
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
- pos.x === b.x || pos.y === b.y || pos.x === b.width || pos.y === b.height;
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 =>
@@ -1,2 +1,3 @@
1
1
  export * from "./useSharedValueEffect";
2
+ export * from "./useDerivedValueOnJS";
2
3
  export * from "./renderHelpers";
@@ -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
- throwOnMissingReanimated3();
60
- return !!value && Reanimated3.isSharedValue(value);
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
- if (HAS_REANIMATED3) {
26
- console.warn(
27
- `useSharedValueEffect() is deprecated with Reanimated 3, you can use Reanimated values directly.
28
- Learn more at https://shopify.github.io/react-native-skia/docs/animations/reanimated.`
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(() => {
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import "./skia/NativeSetup";
2
+ export { JsiSkImage } from "./skia/web/JsiSkImage";
2
3
  export * from "./renderer";
3
4
  export * from "./renderer/Canvas";
4
5
  export * from "./renderer/Offscreen";
@@ -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