@shopify/react-native-skia 0.1.212 → 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.
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