@shopify/react-native-skia 0.1.157 → 0.1.159

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 (482) hide show
  1. package/android/CMakeLists.txt +35 -11
  2. package/android/build.gradle +31 -30
  3. package/android/cpp/jni/JniLoad.cpp +2 -0
  4. package/android/cpp/jni/include/JniSkiaDomView.h +89 -0
  5. package/android/cpp/rnskia-android/SkiaOpenGLRenderer.cpp +4 -3
  6. package/android/cpp/rnskia-android/SkiaOpenGLRenderer.h +4 -3
  7. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +2 -1
  8. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomView.java +45 -0
  9. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomViewManager.java +64 -0
  10. package/cpp/api/JsiSkContourMeasure.h +7 -5
  11. package/cpp/api/JsiSkHostObjects.h +6 -0
  12. package/cpp/api/JsiSkImageFilterFactory.h +1 -1
  13. package/cpp/api/JsiSkPaint.h +9 -2
  14. package/cpp/api/JsiSkPath.h +1 -0
  15. package/cpp/api/JsiSkRuntimeEffect.h +36 -36
  16. package/cpp/jsi/JsiHostObject.cpp +16 -28
  17. package/cpp/jsi/JsiHostObject.h +127 -7
  18. package/cpp/jsi/JsiValue.cpp +346 -0
  19. package/cpp/jsi/JsiValue.h +222 -0
  20. package/cpp/jsi/JsiValueWrapper.h +33 -5
  21. package/cpp/rnskia/RNSkDomView.cpp +220 -0
  22. package/cpp/rnskia/RNSkDomView.h +140 -0
  23. package/cpp/rnskia/RNSkJsView.cpp +0 -4
  24. package/cpp/rnskia/RNSkJsView.h +6 -4
  25. package/cpp/rnskia/RNSkManager.cpp +7 -0
  26. package/cpp/rnskia/RNSkPictureView.h +5 -8
  27. package/cpp/rnskia/RNSkView.h +113 -5
  28. package/cpp/rnskia/dom/JsiDomApi.h +167 -0
  29. package/cpp/rnskia/dom/base/BaseNodeProp.h +72 -0
  30. package/cpp/rnskia/dom/base/DerivedNodeProp.h +187 -0
  31. package/cpp/rnskia/dom/base/DrawingContext.cpp +227 -0
  32. package/cpp/rnskia/dom/base/DrawingContext.h +136 -0
  33. package/cpp/rnskia/dom/base/JsiDependencyManager.h +294 -0
  34. package/cpp/rnskia/dom/base/JsiDomDeclarationNode.h +176 -0
  35. package/cpp/rnskia/dom/base/JsiDomDrawingNode.h +50 -0
  36. package/cpp/rnskia/dom/base/JsiDomNode.h +361 -0
  37. package/cpp/rnskia/dom/base/JsiDomRenderNode.h +267 -0
  38. package/cpp/rnskia/dom/base/NodeProp.h +130 -0
  39. package/cpp/rnskia/dom/base/NodePropsContainer.h +119 -0
  40. package/cpp/rnskia/dom/nodes/JsiBackdropFilterNode.h +38 -0
  41. package/cpp/rnskia/dom/nodes/JsiBlendNode.h +112 -0
  42. package/cpp/rnskia/dom/nodes/JsiBlurMaskNode.h +78 -0
  43. package/cpp/rnskia/dom/nodes/JsiBoxNode.h +104 -0
  44. package/cpp/rnskia/dom/nodes/JsiBoxShadowNode.h +33 -0
  45. package/cpp/rnskia/dom/nodes/JsiCircleNode.h +38 -0
  46. package/cpp/rnskia/dom/nodes/JsiColorFilterNodes.h +192 -0
  47. package/cpp/rnskia/dom/nodes/JsiCustomDrawingNode.h +123 -0
  48. package/cpp/rnskia/dom/nodes/JsiDiffRectNode.h +42 -0
  49. package/cpp/rnskia/dom/nodes/JsiFillNode.h +22 -0
  50. package/cpp/rnskia/dom/nodes/JsiGlyphsNode.h +56 -0
  51. package/cpp/rnskia/dom/nodes/JsiGroupNode.h +26 -0
  52. package/cpp/rnskia/dom/nodes/JsiImageFilterNodes.h +415 -0
  53. package/cpp/rnskia/dom/nodes/JsiImageNode.h +34 -0
  54. package/cpp/rnskia/dom/nodes/JsiImageSvgNode.h +44 -0
  55. package/cpp/rnskia/dom/nodes/JsiLayerNode.h +64 -0
  56. package/cpp/rnskia/dom/nodes/JsiLineNode.h +43 -0
  57. package/cpp/rnskia/dom/nodes/JsiOvalNode.h +34 -0
  58. package/cpp/rnskia/dom/nodes/JsiPaintNode.h +77 -0
  59. package/cpp/rnskia/dom/nodes/JsiPatchNode.h +54 -0
  60. package/cpp/rnskia/dom/nodes/JsiPathEffectNodes.h +315 -0
  61. package/cpp/rnskia/dom/nodes/JsiPathNode.h +181 -0
  62. package/cpp/rnskia/dom/nodes/JsiPictureNode.h +32 -0
  63. package/cpp/rnskia/dom/nodes/JsiPointsNode.h +51 -0
  64. package/cpp/rnskia/dom/nodes/JsiRRectNode.h +34 -0
  65. package/cpp/rnskia/dom/nodes/JsiRectNode.h +34 -0
  66. package/cpp/rnskia/dom/nodes/JsiShaderNodes.h +517 -0
  67. package/cpp/rnskia/dom/nodes/JsiTextBlobNode.h +47 -0
  68. package/cpp/rnskia/dom/nodes/JsiTextNode.h +54 -0
  69. package/cpp/rnskia/dom/nodes/JsiTextPathNode.h +32 -0
  70. package/cpp/rnskia/dom/nodes/JsiVerticesNode.h +43 -0
  71. package/cpp/rnskia/dom/props/BezierProps.h +63 -0
  72. package/cpp/rnskia/dom/props/BlendModeProp.h +101 -0
  73. package/cpp/rnskia/dom/props/BoxShadowProps.h +61 -0
  74. package/cpp/rnskia/dom/props/CircleProp.h +46 -0
  75. package/cpp/rnskia/dom/props/ClipProp.h +62 -0
  76. package/cpp/rnskia/dom/props/ColorProp.h +80 -0
  77. package/cpp/rnskia/dom/props/DrawingProp.h +33 -0
  78. package/cpp/rnskia/dom/props/FontProp.h +34 -0
  79. package/cpp/rnskia/dom/props/GlyphsProp.h +53 -0
  80. package/cpp/rnskia/dom/props/ImageProps.h +173 -0
  81. package/cpp/rnskia/dom/props/LayerProp.h +50 -0
  82. package/cpp/rnskia/dom/props/MatrixProp.h +33 -0
  83. package/cpp/rnskia/dom/props/NumbersProp.h +63 -0
  84. package/cpp/rnskia/dom/props/PaintProps.h +172 -0
  85. package/cpp/rnskia/dom/props/PathProp.h +55 -0
  86. package/cpp/rnskia/dom/props/PictureProp.h +38 -0
  87. package/cpp/rnskia/dom/props/PointProp.h +72 -0
  88. package/cpp/rnskia/dom/props/PointsProp.h +83 -0
  89. package/cpp/rnskia/dom/props/RRectProp.h +134 -0
  90. package/cpp/rnskia/dom/props/RadiusProp.h +43 -0
  91. package/cpp/rnskia/dom/props/RectProp.h +118 -0
  92. package/cpp/rnskia/dom/props/StrokeProps.h +75 -0
  93. package/cpp/rnskia/dom/props/SvgProp.h +37 -0
  94. package/cpp/rnskia/dom/props/TextBlobProp.h +128 -0
  95. package/cpp/rnskia/dom/props/TileModeProp.h +50 -0
  96. package/cpp/rnskia/dom/props/TransformProp.h +80 -0
  97. package/cpp/rnskia/dom/props/TransformsProps.h +68 -0
  98. package/cpp/rnskia/dom/props/UniformsProp.h +194 -0
  99. package/cpp/rnskia/dom/props/VertexModeProp.h +47 -0
  100. package/cpp/rnskia/dom/props/VerticesProps.h +67 -0
  101. package/cpp/rnskia/values/RNSkReadonlyValue.h +13 -4
  102. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +35 -1
  103. package/cpp/skia/include/codec/SkAndroidCodec.h +17 -1
  104. package/cpp/skia/include/codec/SkCodec.h +8 -5
  105. package/cpp/skia/include/core/SkAnnotation.h +2 -0
  106. package/cpp/skia/include/core/SkBitmap.h +52 -1
  107. package/cpp/skia/include/core/SkBlendMode.h +2 -0
  108. package/cpp/skia/include/core/SkCanvas.h +52 -31
  109. package/cpp/skia/include/core/SkCapabilities.h +44 -0
  110. package/cpp/skia/include/core/SkColor.h +7 -0
  111. package/cpp/skia/include/core/SkColorFilter.h +37 -0
  112. package/cpp/skia/include/core/SkColorSpace.h +1 -1
  113. package/cpp/skia/include/core/SkFont.h +4 -0
  114. package/cpp/skia/include/core/SkFontMgr.h +3 -0
  115. package/cpp/skia/include/core/SkGraphics.h +9 -0
  116. package/cpp/skia/include/core/SkImage.h +77 -17
  117. package/cpp/skia/include/core/SkImageEncoder.h +5 -3
  118. package/cpp/skia/include/core/SkImageGenerator.h +27 -17
  119. package/cpp/skia/include/core/SkM44.h +1 -0
  120. package/cpp/skia/include/core/SkMesh.h +120 -34
  121. package/cpp/skia/include/core/SkMilestone.h +1 -1
  122. package/cpp/skia/include/core/SkOverdrawCanvas.h +2 -1
  123. package/cpp/skia/include/core/SkPaint.h +15 -2
  124. package/cpp/skia/include/core/SkPath.h +4 -0
  125. package/cpp/skia/include/core/SkPathBuilder.h +1 -1
  126. package/cpp/skia/include/core/SkPicture.h +0 -3
  127. package/cpp/skia/include/core/SkPictureRecorder.h +0 -2
  128. package/cpp/skia/include/core/SkPixmap.h +19 -0
  129. package/cpp/skia/include/core/SkRasterHandleAllocator.h +3 -1
  130. package/cpp/skia/include/core/SkRect.h +11 -4
  131. package/cpp/skia/include/core/SkRefCnt.h +13 -1
  132. package/cpp/skia/include/core/SkRegion.h +6 -0
  133. package/cpp/skia/include/core/SkSamplingOptions.h +8 -6
  134. package/cpp/skia/include/core/SkScalar.h +6 -25
  135. package/cpp/skia/include/core/SkShader.h +20 -12
  136. package/cpp/skia/include/core/SkSpan.h +51 -19
  137. package/cpp/skia/include/core/SkStream.h +2 -2
  138. package/cpp/skia/include/core/SkString.h +11 -3
  139. package/cpp/skia/include/core/SkSurface.h +85 -8
  140. package/cpp/skia/include/core/SkTextBlob.h +5 -2
  141. package/cpp/skia/include/core/SkTypes.h +11 -10
  142. package/cpp/skia/include/docs/SkPDFDocument.h +0 -5
  143. package/cpp/skia/include/effects/Sk1DPathEffect.h +6 -1
  144. package/cpp/skia/include/effects/Sk2DPathEffect.h +4 -1
  145. package/cpp/skia/include/effects/SkColorMatrix.h +1 -0
  146. package/cpp/skia/include/effects/SkColorMatrixFilter.h +5 -8
  147. package/cpp/skia/include/effects/SkCornerPathEffect.h +5 -1
  148. package/cpp/skia/include/effects/SkDashPathEffect.h +5 -1
  149. package/cpp/skia/include/effects/SkGradientShader.h +68 -38
  150. package/cpp/skia/include/effects/SkHighContrastFilter.h +5 -1
  151. package/cpp/skia/include/effects/SkImageFilters.h +5 -4
  152. package/cpp/skia/include/effects/SkLumaColorFilter.h +4 -1
  153. package/cpp/skia/include/effects/SkOpPathEffect.h +6 -2
  154. package/cpp/skia/include/effects/SkOverdrawColorFilter.h +5 -2
  155. package/cpp/skia/include/effects/SkRuntimeEffect.h +54 -62
  156. package/cpp/skia/include/effects/SkShaderMaskFilter.h +3 -1
  157. package/cpp/skia/include/effects/SkTableColorFilter.h +8 -21
  158. package/cpp/skia/include/effects/SkTableMaskFilter.h +5 -1
  159. package/cpp/skia/include/effects/SkTrimPathEffect.h +5 -1
  160. package/cpp/skia/include/encode/SkEncoder.h +17 -0
  161. package/cpp/skia/include/encode/SkWebpEncoder.h +17 -0
  162. package/cpp/skia/include/gpu/GpuTypes.h +18 -0
  163. package/cpp/skia/include/gpu/GrBackendSurface.h +38 -17
  164. package/cpp/skia/include/gpu/GrBackendSurfaceMutableState.h +6 -71
  165. package/cpp/skia/include/gpu/GrContextOptions.h +1 -1
  166. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +10 -9
  167. package/cpp/skia/include/gpu/GrDirectContext.h +42 -22
  168. package/cpp/skia/include/gpu/GrRecordingContext.h +6 -3
  169. package/cpp/skia/include/gpu/GrTypes.h +11 -11
  170. package/cpp/skia/include/gpu/MutableTextureState.h +122 -0
  171. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -0
  172. package/cpp/skia/include/gpu/gl/GrGLInterface.h +1 -0
  173. package/cpp/skia/include/gpu/graphite/BackendTexture.h +7 -0
  174. package/cpp/skia/include/gpu/graphite/CombinationBuilder.h +195 -0
  175. package/cpp/skia/include/gpu/graphite/Context.h +47 -55
  176. package/cpp/skia/include/gpu/graphite/ContextOptions.h +85 -0
  177. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +1 -17
  178. package/cpp/skia/include/gpu/graphite/ImageProvider.h +61 -0
  179. package/cpp/skia/include/gpu/graphite/Recorder.h +87 -8
  180. package/cpp/skia/include/gpu/graphite/Recording.h +19 -9
  181. package/cpp/skia/include/gpu/graphite/TextureInfo.h +40 -8
  182. package/cpp/skia/include/gpu/graphite/dawn/DawnBackendContext.h +25 -0
  183. package/cpp/skia/include/gpu/graphite/mtl/MtlBackendContext.h +3 -2
  184. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +69 -0
  185. package/cpp/skia/include/gpu/mtl/MtlMemoryAllocator.h +39 -0
  186. package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +21 -19
  187. package/cpp/skia/include/gpu/vk/GrVkExtensions.h +2 -50
  188. package/cpp/skia/include/gpu/vk/GrVkMemoryAllocator.h +2 -127
  189. package/cpp/skia/include/gpu/vk/GrVkTypes.h +5 -43
  190. package/cpp/skia/include/gpu/vk/VulkanBackendContext.h +46 -0
  191. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +67 -0
  192. package/cpp/skia/include/gpu/vk/VulkanMemoryAllocator.h +116 -0
  193. package/cpp/skia/include/gpu/vk/VulkanTypes.h +59 -0
  194. package/cpp/skia/include/pathops/SkPathOps.h +1 -1
  195. package/cpp/skia/include/private/SkColorData.h +10 -40
  196. package/cpp/skia/include/private/SkEncodedInfo.h +9 -3
  197. package/cpp/skia/include/private/SkFloatingPoint.h +9 -6
  198. package/cpp/skia/include/private/SkHalf.h +5 -52
  199. package/cpp/skia/include/private/SkMacros.h +1 -1
  200. package/cpp/skia/include/private/SkMalloc.h +4 -0
  201. package/cpp/skia/include/private/SkPathRef.h +10 -10
  202. package/cpp/skia/include/private/SkSLModifiers.h +59 -23
  203. package/cpp/skia/include/private/SkSLProgramKind.h +1 -0
  204. package/cpp/skia/include/private/SkSLSymbol.h +7 -3
  205. package/cpp/skia/include/private/SkStringView.h +4 -0
  206. package/cpp/skia/include/private/SkTArray.h +21 -7
  207. package/cpp/skia/include/private/SkTDArray.h +173 -285
  208. package/cpp/skia/include/private/SkTHash.h +33 -32
  209. package/cpp/skia/include/private/SkTemplates.h +24 -26
  210. package/cpp/skia/include/private/SkVx.h +218 -135
  211. package/cpp/skia/include/private/chromium/GrSlug.h +3 -65
  212. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +6 -3
  213. package/cpp/skia/include/private/chromium/Slug.h +76 -0
  214. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +6 -1
  215. package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +5 -39
  216. package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +63 -0
  217. package/cpp/skia/include/{gpu/vk/GrVkVulkan.h → private/gpu/vk/SkiaVulkan.h} +2 -2
  218. package/cpp/skia/include/private/gpu/vk/VulkanTypesPriv.h +57 -0
  219. package/cpp/skia/include/sksl/DSL.h +0 -1
  220. package/cpp/skia/include/sksl/DSLBlock.h +4 -18
  221. package/cpp/skia/include/sksl/DSLCase.h +2 -8
  222. package/cpp/skia/include/sksl/DSLCore.h +8 -15
  223. package/cpp/skia/include/sksl/DSLExpression.h +51 -142
  224. package/cpp/skia/include/sksl/DSLFunction.h +7 -15
  225. package/cpp/skia/include/sksl/DSLModifiers.h +5 -2
  226. package/cpp/skia/include/sksl/DSLStatement.h +4 -39
  227. package/cpp/skia/include/sksl/DSLSymbols.h +1 -11
  228. package/cpp/skia/include/sksl/DSLType.h +20 -12
  229. package/cpp/skia/include/sksl/DSLVar.h +56 -146
  230. package/cpp/skia/include/sksl/SkSLErrorReporter.h +2 -15
  231. package/cpp/skia/include/sksl/SkSLOperator.h +62 -59
  232. package/cpp/skia/include/sksl/SkSLPosition.h +2 -0
  233. package/cpp/skia/include/sksl/SkSLVersion.h +27 -0
  234. package/cpp/skia/include/svg/SkSVGCanvas.h +1 -0
  235. package/cpp/skia/include/utils/SkAnimCodecPlayer.h +1 -1
  236. package/cpp/skia/include/utils/SkBase64.h +2 -0
  237. package/cpp/skia/include/utils/SkCustomTypeface.h +24 -11
  238. package/cpp/skia/include/utils/SkEventTracer.h +12 -1
  239. package/cpp/skia/include/utils/SkNWayCanvas.h +11 -4
  240. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +9 -4
  241. package/cpp/skia/include/utils/SkParse.h +3 -0
  242. package/cpp/skia/include/utils/SkShadowUtils.h +2 -0
  243. package/cpp/skia/include/utils/SkTextUtils.h +2 -1
  244. package/cpp/skia/{include/third_party → modules}/skcms/skcms.h +10 -0
  245. package/cpp/skia/modules/skcms/skcms_internal.h +56 -0
  246. package/cpp/skia/modules/skcms/src/Transform_inl.h +1609 -0
  247. package/cpp/skia/modules/skparagraph/include/DartTypes.h +153 -0
  248. package/cpp/skia/modules/skparagraph/include/FontArguments.h +46 -0
  249. package/cpp/skia/modules/skparagraph/include/FontCollection.h +84 -0
  250. package/cpp/skia/modules/skparagraph/include/Metrics.h +98 -0
  251. package/cpp/skia/modules/skparagraph/include/Paragraph.h +111 -0
  252. package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +69 -0
  253. package/cpp/skia/modules/skparagraph/include/ParagraphCache.h +77 -0
  254. package/cpp/skia/modules/skparagraph/include/ParagraphStyle.h +143 -0
  255. package/cpp/skia/modules/skparagraph/include/TextShadow.h +30 -0
  256. package/cpp/skia/modules/skparagraph/include/TextStyle.h +352 -0
  257. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +81 -0
  258. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +1 -1
  259. package/cpp/skia/modules/svg/include/SkSVGTypes.h +3 -3
  260. package/cpp/skia/src/core/SkLRUCache.h +126 -0
  261. package/cpp/skia/src/core/SkTInternalLList.h +302 -0
  262. package/cpp/utils/RNSkTimingInfo.h +1 -0
  263. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.h +15 -4
  264. package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +40 -54
  265. package/ios/RNSkia-iOS/SkiaDomViewManager.h +8 -0
  266. package/ios/RNSkia-iOS/SkiaDomViewManager.mm +51 -0
  267. package/lib/commonjs/dom/nodes/DrawingNode.js +1 -5
  268. package/lib/commonjs/dom/nodes/DrawingNode.js.map +1 -1
  269. package/lib/commonjs/dom/nodes/JsiSkDOM.js +56 -56
  270. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  271. package/lib/commonjs/dom/nodes/RenderNode.js +3 -9
  272. package/lib/commonjs/dom/nodes/RenderNode.js.map +1 -1
  273. package/lib/commonjs/dom/nodes/drawings/Text.js +4 -9
  274. package/lib/commonjs/dom/nodes/drawings/Text.js.map +1 -1
  275. package/lib/commonjs/dom/types/Common.js.map +1 -1
  276. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  277. package/lib/commonjs/mock/index.js +0 -1
  278. package/lib/commonjs/mock/index.js.map +1 -1
  279. package/lib/commonjs/renderer/Canvas.js +21 -57
  280. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  281. package/lib/commonjs/renderer/DependencyManager.js +0 -5
  282. package/lib/commonjs/renderer/DependencyManager.js.map +1 -1
  283. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  284. package/lib/commonjs/renderer/components/Mask.js +1 -3
  285. package/lib/commonjs/renderer/components/Mask.js.map +1 -1
  286. package/lib/commonjs/renderer/components/Paint.js +5 -18
  287. package/lib/commonjs/renderer/components/Paint.js.map +1 -1
  288. package/lib/commonjs/renderer/useCanvas.js +8 -6
  289. package/lib/commonjs/renderer/useCanvas.js.map +1 -1
  290. package/lib/commonjs/skia/core/Picture.js +1 -24
  291. package/lib/commonjs/skia/core/Picture.js.map +1 -1
  292. package/lib/commonjs/skia/core/Rect.js +1 -1
  293. package/lib/commonjs/skia/core/Rect.js.map +1 -1
  294. package/lib/commonjs/skia/types/ContourMeasure.js.map +1 -1
  295. package/lib/commonjs/skia/types/Size.js +2 -0
  296. package/lib/commonjs/skia/types/Size.js.map +1 -0
  297. package/lib/commonjs/skia/types/index.js +13 -0
  298. package/lib/commonjs/skia/types/index.js.map +1 -1
  299. package/lib/commonjs/skia/web/JsiSkColor.js +8 -0
  300. package/lib/commonjs/skia/web/JsiSkColor.js.map +1 -1
  301. package/lib/commonjs/skia/web/JsiSkContourMeasure.js +4 -7
  302. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
  303. package/lib/commonjs/values/web/RNSkReadonlyValue.js +4 -2
  304. package/lib/commonjs/values/web/RNSkReadonlyValue.js.map +1 -1
  305. package/lib/commonjs/views/SkiaBaseWebView.js +9 -2
  306. package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
  307. package/lib/commonjs/views/SkiaDomView.js +152 -0
  308. package/lib/commonjs/views/SkiaDomView.js.map +1 -0
  309. package/lib/commonjs/views/SkiaDomView.web.js +55 -0
  310. package/lib/commonjs/views/SkiaDomView.web.js.map +1 -0
  311. package/lib/commonjs/views/SkiaPictureView.js +16 -2
  312. package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
  313. package/lib/commonjs/views/SkiaView.js +17 -2
  314. package/lib/commonjs/views/SkiaView.js.map +1 -1
  315. package/lib/commonjs/views/index.js +13 -0
  316. package/lib/commonjs/views/index.js.map +1 -1
  317. package/lib/commonjs/views/types.js.map +1 -1
  318. package/lib/module/dom/nodes/DrawingNode.js +2 -6
  319. package/lib/module/dom/nodes/DrawingNode.js.map +1 -1
  320. package/lib/module/dom/nodes/JsiSkDOM.js +56 -56
  321. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  322. package/lib/module/dom/nodes/RenderNode.js +2 -5
  323. package/lib/module/dom/nodes/RenderNode.js.map +1 -1
  324. package/lib/module/dom/nodes/drawings/Text.js +4 -9
  325. package/lib/module/dom/nodes/drawings/Text.js.map +1 -1
  326. package/lib/module/dom/types/Common.js.map +1 -1
  327. package/lib/module/dom/types/Drawings.js.map +1 -1
  328. package/lib/module/mock/index.js +0 -1
  329. package/lib/module/mock/index.js.map +1 -1
  330. package/lib/module/renderer/Canvas.js +22 -58
  331. package/lib/module/renderer/Canvas.js.map +1 -1
  332. package/lib/module/renderer/DependencyManager.js +0 -5
  333. package/lib/module/renderer/DependencyManager.js.map +1 -1
  334. package/lib/module/renderer/HostComponents.js.map +1 -1
  335. package/lib/module/renderer/components/Mask.js +2 -4
  336. package/lib/module/renderer/components/Mask.js.map +1 -1
  337. package/lib/module/renderer/components/Paint.js +3 -14
  338. package/lib/module/renderer/components/Paint.js.map +1 -1
  339. package/lib/module/renderer/useCanvas.js +6 -4
  340. package/lib/module/renderer/useCanvas.js.map +1 -1
  341. package/lib/module/skia/core/Picture.js +0 -18
  342. package/lib/module/skia/core/Picture.js.map +1 -1
  343. package/lib/module/skia/core/Rect.js +1 -1
  344. package/lib/module/skia/core/Rect.js.map +1 -1
  345. package/lib/module/skia/types/ContourMeasure.js.map +1 -1
  346. package/lib/module/skia/types/Size.js +2 -0
  347. package/lib/module/skia/types/Size.js.map +1 -0
  348. package/lib/module/skia/types/index.js +1 -0
  349. package/lib/module/skia/types/index.js.map +1 -1
  350. package/lib/module/skia/web/JsiSkColor.js +8 -0
  351. package/lib/module/skia/web/JsiSkColor.js.map +1 -1
  352. package/lib/module/skia/web/JsiSkContourMeasure.js +3 -7
  353. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  354. package/lib/module/values/web/RNSkReadonlyValue.js +4 -2
  355. package/lib/module/values/web/RNSkReadonlyValue.js.map +1 -1
  356. package/lib/module/views/SkiaBaseWebView.js +9 -2
  357. package/lib/module/views/SkiaBaseWebView.js.map +1 -1
  358. package/lib/module/views/SkiaDomView.js +128 -0
  359. package/lib/module/views/SkiaDomView.js.map +1 -0
  360. package/lib/module/views/SkiaDomView.web.js +41 -0
  361. package/lib/module/views/SkiaDomView.web.js.map +1 -0
  362. package/lib/module/views/SkiaPictureView.js +14 -2
  363. package/lib/module/views/SkiaPictureView.js.map +1 -1
  364. package/lib/module/views/SkiaView.js +15 -2
  365. package/lib/module/views/SkiaView.js.map +1 -1
  366. package/lib/module/views/index.js +1 -0
  367. package/lib/module/views/index.js.map +1 -1
  368. package/lib/module/views/types.js.map +1 -1
  369. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +57 -64
  370. package/lib/typescript/src/dom/nodes/RenderNode.d.ts +1 -3
  371. package/lib/typescript/src/dom/types/Common.d.ts +2 -3
  372. package/lib/typescript/src/dom/types/Drawings.d.ts +1 -3
  373. package/lib/typescript/src/renderer/Canvas.d.ts +5 -5
  374. package/lib/typescript/src/renderer/DependencyManager.d.ts +0 -2
  375. package/lib/typescript/src/renderer/HostComponents.d.ts +67 -8
  376. package/lib/typescript/src/renderer/components/Paint.d.ts +3 -4
  377. package/lib/typescript/src/renderer/useCanvas.d.ts +1 -6
  378. package/lib/typescript/src/skia/core/Picture.d.ts +0 -8
  379. package/lib/typescript/src/skia/types/ContourMeasure.d.ts +3 -2
  380. package/lib/typescript/src/skia/types/Size.d.ts +4 -0
  381. package/lib/typescript/src/skia/types/index.d.ts +1 -0
  382. package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +2 -6
  383. package/lib/typescript/src/views/SkiaBaseWebView.d.ts +4 -0
  384. package/lib/typescript/src/views/SkiaDomView.d.ts +31 -0
  385. package/lib/typescript/src/views/SkiaDomView.web.d.ts +7 -0
  386. package/lib/typescript/src/views/index.d.ts +1 -0
  387. package/lib/typescript/src/views/types.d.ts +12 -2
  388. package/libs/android/arm64-v8a/libskia.a +0 -0
  389. package/libs/android/arm64-v8a/libskottie.a +0 -0
  390. package/libs/android/arm64-v8a/libskparagraph.a +0 -0
  391. package/libs/android/arm64-v8a/libsksg.a +0 -0
  392. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  393. package/libs/android/arm64-v8a/libskunicode.a +0 -0
  394. package/libs/android/arm64-v8a/libsvg.a +0 -0
  395. package/libs/android/armeabi-v7a/libskia.a +0 -0
  396. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  397. package/libs/android/armeabi-v7a/libskparagraph.a +0 -0
  398. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  399. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  400. package/libs/android/armeabi-v7a/libskunicode.a +0 -0
  401. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  402. package/libs/android/x86/libskia.a +0 -0
  403. package/libs/android/x86/libskottie.a +0 -0
  404. package/libs/android/x86/libskparagraph.a +0 -0
  405. package/libs/android/x86/libsksg.a +0 -0
  406. package/libs/android/x86/libskshaper.a +0 -0
  407. package/libs/android/x86/libskunicode.a +0 -0
  408. package/libs/android/x86/libsvg.a +0 -0
  409. package/libs/android/x86_64/libskia.a +0 -0
  410. package/libs/android/x86_64/libskottie.a +0 -0
  411. package/libs/android/x86_64/libskparagraph.a +0 -0
  412. package/libs/android/x86_64/libsksg.a +0 -0
  413. package/libs/android/x86_64/libskshaper.a +0 -0
  414. package/libs/android/x86_64/libskunicode.a +0 -0
  415. package/libs/android/x86_64/libsvg.a +0 -0
  416. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  417. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  418. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  419. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  420. package/libs/ios/libskparagraph.xcframework/Info.plist +42 -0
  421. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  422. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  423. package/libs/ios/libsksg.xcframework/Info.plist +5 -5
  424. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  425. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  426. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  427. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  428. package/libs/ios/libskunicode.xcframework/Info.plist +42 -0
  429. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
  430. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
  431. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  432. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  433. package/package.json +6 -4
  434. package/react-native-skia.podspec +3 -1
  435. package/src/dom/nodes/DrawingNode.ts +2 -4
  436. package/src/dom/nodes/JsiSkDOM.ts +170 -56
  437. package/src/dom/nodes/RenderNode.ts +2 -14
  438. package/src/dom/nodes/drawings/Text.ts +4 -4
  439. package/src/dom/types/Common.ts +2 -4
  440. package/src/dom/types/Drawings.ts +1 -4
  441. package/src/mock/index.ts +0 -1
  442. package/src/renderer/Canvas.tsx +32 -51
  443. package/src/renderer/DependencyManager.tsx +0 -5
  444. package/src/renderer/HostComponents.ts +153 -5
  445. package/src/renderer/components/Mask.tsx +2 -2
  446. package/src/renderer/components/Paint.tsx +3 -14
  447. package/src/renderer/useCanvas.ts +5 -5
  448. package/src/skia/core/Picture.ts +0 -24
  449. package/src/skia/core/Rect.ts +1 -1
  450. package/src/skia/types/ContourMeasure.tsx +3 -2
  451. package/src/skia/types/Size.ts +4 -0
  452. package/src/skia/types/index.ts +1 -0
  453. package/src/skia/web/JsiSkColor.ts +11 -0
  454. package/src/skia/web/JsiSkContourMeasure.ts +7 -3
  455. package/src/values/web/RNSkReadonlyValue.ts +4 -2
  456. package/src/views/SkiaBaseWebView.tsx +6 -2
  457. package/src/views/SkiaDomView.tsx +120 -0
  458. package/src/views/SkiaDomView.web.tsx +37 -0
  459. package/src/views/SkiaPictureView.tsx +10 -2
  460. package/src/views/SkiaView.tsx +11 -3
  461. package/src/views/index.ts +1 -0
  462. package/src/views/types.ts +19 -2
  463. package/cpp/jsi/JsiSimpleValueWrapper.h +0 -99
  464. package/cpp/skia/include/c/sk_canvas.h +0 -159
  465. package/cpp/skia/include/c/sk_colorspace.h +0 -25
  466. package/cpp/skia/include/c/sk_data.h +0 -65
  467. package/cpp/skia/include/c/sk_image.h +0 -71
  468. package/cpp/skia/include/c/sk_imageinfo.h +0 -62
  469. package/cpp/skia/include/c/sk_maskfilter.h +0 -47
  470. package/cpp/skia/include/c/sk_matrix.h +0 -49
  471. package/cpp/skia/include/c/sk_paint.h +0 -145
  472. package/cpp/skia/include/c/sk_path.h +0 -102
  473. package/cpp/skia/include/c/sk_picture.h +0 -70
  474. package/cpp/skia/include/c/sk_shader.h +0 -143
  475. package/cpp/skia/include/c/sk_surface.h +0 -73
  476. package/cpp/skia/include/c/sk_types.h +0 -278
  477. package/cpp/skia/include/gpu/graphite/SkStuff.h +0 -47
  478. package/cpp/skia/include/private/SkNx.h +0 -430
  479. package/cpp/skia/include/private/SkNx_neon.h +0 -713
  480. package/cpp/skia/include/private/SkNx_sse.h +0 -823
  481. package/cpp/skia/include/sksl/DSLRuntimeEffects.h +0 -32
  482. package/cpp/skia/include/sksl/DSLWrapper.h +0 -77
@@ -0,0 +1,120 @@
1
+ import React from "react";
2
+ import { requireNativeComponent, Platform } from "react-native";
3
+ import type { HostComponent } from "react-native";
4
+
5
+ import type { SkRect } from "../skia/types";
6
+ import type { SkiaValue } from "../values";
7
+
8
+ import { SkiaViewApi } from "./api";
9
+ import { SkiaViewNativeId } from "./SkiaView";
10
+ import type { NativeSkiaViewProps, SkiaDomViewProps } from "./types";
11
+
12
+ const NativeSkiaDomView: HostComponent<SkiaDomViewProps> =
13
+ Platform.OS !== "web"
14
+ ? requireNativeComponent<NativeSkiaViewProps>("SkiaDomView")
15
+ : // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ (null as any);
17
+
18
+ export class SkiaDomView extends React.Component<SkiaDomViewProps> {
19
+ constructor(props: SkiaDomViewProps) {
20
+ super(props);
21
+ this._nativeId = SkiaViewNativeId.current++;
22
+ const { root, onTouch, onSize } = props;
23
+ if (root) {
24
+ assertSkiaViewApi();
25
+ SkiaViewApi.setJsiProperty(this._nativeId, "root", root);
26
+ }
27
+ if (onTouch) {
28
+ assertSkiaViewApi();
29
+ SkiaViewApi.setJsiProperty(this._nativeId, "onTouch", onTouch);
30
+ }
31
+ if (onSize) {
32
+ assertSkiaViewApi();
33
+ SkiaViewApi.setJsiProperty(this._nativeId, "onSize", onSize);
34
+ }
35
+ }
36
+
37
+ private _nativeId: number;
38
+
39
+ public get nativeId() {
40
+ return this._nativeId;
41
+ }
42
+
43
+ componentDidUpdate(prevProps: SkiaDomViewProps) {
44
+ const { root, onTouch, onSize } = this.props;
45
+ if (root !== prevProps.root) {
46
+ assertSkiaViewApi();
47
+ SkiaViewApi.setJsiProperty(this._nativeId, "root", root);
48
+ }
49
+ if (onTouch !== prevProps.onTouch) {
50
+ assertSkiaViewApi();
51
+ SkiaViewApi.setJsiProperty(this._nativeId, "onTouch", onTouch);
52
+ }
53
+ if (onSize !== prevProps.onSize) {
54
+ assertSkiaViewApi();
55
+ SkiaViewApi.setJsiProperty(this._nativeId, "onSize", onSize);
56
+ }
57
+ }
58
+
59
+ /**
60
+ * Creates a snapshot from the canvas in the surface
61
+ * @param rect Rect to use as bounds. Optional.
62
+ * @returns An Image object.
63
+ */
64
+ public makeImageSnapshot(rect?: SkRect) {
65
+ assertSkiaViewApi();
66
+ return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);
67
+ }
68
+
69
+ /**
70
+ * Sends a redraw request to the native SkiaView.
71
+ */
72
+ public redraw() {
73
+ assertSkiaViewApi();
74
+ SkiaViewApi.requestRedraw(this._nativeId);
75
+ }
76
+
77
+ /**
78
+ * Registers one or move values as a dependant value of the Skia View. The view will
79
+ * The view will redraw itself when any of the values change.
80
+ * @param values Values to register
81
+ */
82
+ public registerValues(values: SkiaValue<unknown>[]): () => void {
83
+ assertSkiaViewApi();
84
+ return SkiaViewApi.registerValuesInView(this._nativeId, values);
85
+ }
86
+
87
+ /**
88
+ * Clear up the dom node when unmounting to release resources.
89
+ */
90
+ componentWillUnmount(): void {
91
+ assertSkiaViewApi();
92
+ SkiaViewApi.setJsiProperty(this._nativeId, "root", null);
93
+ }
94
+
95
+ render() {
96
+ const { mode, debug = false, ...viewProps } = this.props;
97
+ return (
98
+ <NativeSkiaDomView
99
+ collapsable={false}
100
+ nativeID={`${this._nativeId}`}
101
+ mode={mode}
102
+ debug={debug}
103
+ {...viewProps}
104
+ />
105
+ );
106
+ }
107
+ }
108
+
109
+ const assertSkiaViewApi = () => {
110
+ if (
111
+ SkiaViewApi === null ||
112
+ SkiaViewApi.setJsiProperty === null ||
113
+ SkiaViewApi.callJsiMethod === null ||
114
+ SkiaViewApi.registerValuesInView === null ||
115
+ SkiaViewApi.requestRedraw === null ||
116
+ SkiaViewApi.makeImageSnapshot === null
117
+ ) {
118
+ throw Error("Skia View Api was not found.");
119
+ }
120
+ };
@@ -0,0 +1,37 @@
1
+ import { PixelRatio } from "react-native";
2
+
3
+ import { Skia } from "../skia";
4
+ import type { SkCanvas } from "../skia/types";
5
+
6
+ import { SkiaBaseWebView } from "./SkiaBaseWebView";
7
+ import type { SkiaDomViewProps, TouchInfo } from "./types";
8
+
9
+ const pd = PixelRatio.get();
10
+
11
+ export class SkiaDomView extends SkiaBaseWebView<SkiaDomViewProps> {
12
+ constructor(props: SkiaDomViewProps) {
13
+ super(props);
14
+ }
15
+
16
+ protected renderInCanvas(canvas: SkCanvas, touches: TouchInfo[]): void {
17
+ if (this.props.onTouch) {
18
+ this.props.onTouch([touches]);
19
+ }
20
+ if (this.props.onSize) {
21
+ const { width, height } = this.getSize();
22
+ this.props.onSize.current = { width, height };
23
+ }
24
+ if (this.props.root) {
25
+ const paint = Skia.Paint();
26
+ const ctx = {
27
+ canvas,
28
+ paint,
29
+ opacity: 1,
30
+ };
31
+ canvas.save();
32
+ canvas.scale(pd, pd);
33
+ this.props.root.render(ctx);
34
+ canvas.restore();
35
+ }
36
+ }
37
+ }
@@ -15,11 +15,15 @@ export class SkiaPictureView extends React.Component<SkiaPictureViewProps> {
15
15
  constructor(props: SkiaPictureViewProps) {
16
16
  super(props);
17
17
  this._nativeId = SkiaViewNativeId.current++;
18
- const { picture } = props;
18
+ const { picture, onSize } = props;
19
19
  if (picture) {
20
20
  assertSkiaViewApi();
21
21
  SkiaViewApi.setJsiProperty(this._nativeId, "picture", picture);
22
22
  }
23
+ if (onSize) {
24
+ assertSkiaViewApi();
25
+ SkiaViewApi.setJsiProperty(this._nativeId, "onSize", onSize);
26
+ }
23
27
  }
24
28
 
25
29
  private _nativeId: number;
@@ -29,11 +33,15 @@ export class SkiaPictureView extends React.Component<SkiaPictureViewProps> {
29
33
  }
30
34
 
31
35
  componentDidUpdate(prevProps: SkiaPictureViewProps) {
32
- const { picture } = this.props;
36
+ const { picture, onSize } = this.props;
33
37
  if (picture !== prevProps.picture) {
34
38
  assertSkiaViewApi();
35
39
  SkiaViewApi.setJsiProperty(this._nativeId, "picture", picture);
36
40
  }
41
+ if (onSize !== prevProps.onSize) {
42
+ assertSkiaViewApi();
43
+ SkiaViewApi.setJsiProperty(this._nativeId, "onSize", onSize);
44
+ }
37
45
  }
38
46
 
39
47
  /**
@@ -16,11 +16,15 @@ export class SkiaView extends React.Component<SkiaDrawViewProps> {
16
16
  constructor(props: SkiaDrawViewProps) {
17
17
  super(props);
18
18
  this._nativeId = SkiaViewNativeId.current++;
19
- const { onDraw } = props;
19
+ const { onDraw, onSize } = props;
20
20
  if (onDraw) {
21
21
  assertSkiaViewApi();
22
22
  SkiaViewApi.setJsiProperty(this._nativeId, "drawCallback", onDraw);
23
23
  }
24
+ if (onSize) {
25
+ assertSkiaViewApi();
26
+ SkiaViewApi.setJsiProperty(this._nativeId, "onSize", onSize);
27
+ }
24
28
  }
25
29
 
26
30
  private _nativeId: number;
@@ -30,11 +34,15 @@ export class SkiaView extends React.Component<SkiaDrawViewProps> {
30
34
  }
31
35
 
32
36
  componentDidUpdate(prevProps: SkiaDrawViewProps) {
33
- const { onDraw } = this.props;
37
+ const { onDraw, onSize } = this.props;
34
38
  if (onDraw !== prevProps.onDraw) {
35
39
  assertSkiaViewApi();
36
40
  SkiaViewApi.setJsiProperty(this._nativeId, "drawCallback", onDraw);
37
41
  }
42
+ if (onSize !== prevProps.onSize) {
43
+ assertSkiaViewApi();
44
+ SkiaViewApi.setJsiProperty(this._nativeId, "onSize", onSize);
45
+ }
38
46
  }
39
47
 
40
48
  /**
@@ -66,7 +74,7 @@ export class SkiaView extends React.Component<SkiaDrawViewProps> {
66
74
  }
67
75
 
68
76
  render() {
69
- const { mode, debug = false, ...viewProps } = this.props;
77
+ const { mode, debug = false, onSize, ...viewProps } = this.props;
70
78
  return (
71
79
  <NativeSkiaView
72
80
  collapsable={false}
@@ -1,5 +1,6 @@
1
1
  export * from "./SkiaView";
2
2
  export * from "./SkiaPictureView";
3
+ export * from "./SkiaDomView";
3
4
  export * from "./types";
4
5
  export * from "./useDrawCallback";
5
6
  export * from "./useTouchHandler";
@@ -1,7 +1,14 @@
1
1
  import type { ViewProps } from "react-native";
2
2
 
3
- import type { SkCanvas, SkImage, SkPicture, SkRect } from "../skia/types";
4
- import type { SkiaValue } from "../values";
3
+ import type { GroupProps, RenderNode } from "../dom/types";
4
+ import type {
5
+ SkCanvas,
6
+ SkImage,
7
+ SkPicture,
8
+ SkRect,
9
+ SkSize,
10
+ } from "../skia/types";
11
+ import type { SkiaMutableValue, SkiaValue } from "../values";
5
12
 
6
13
  export type DrawMode = "continuous" | "default";
7
14
 
@@ -86,6 +93,11 @@ export interface SkiaBaseViewProps extends ViewProps {
86
93
  * average time it takes to render.
87
94
  */
88
95
  debug?: boolean;
96
+ /**
97
+ * Pass an animated value to the onSize property to get updates when
98
+ * the Skia view is resized.
99
+ */
100
+ onSize?: SkiaMutableValue<SkSize>;
89
101
  }
90
102
 
91
103
  export interface SkiaDrawViewProps extends SkiaBaseViewProps {
@@ -102,3 +114,8 @@ export interface SkiaDrawViewProps extends SkiaBaseViewProps {
102
114
  export interface SkiaPictureViewProps extends SkiaBaseViewProps {
103
115
  picture?: SkPicture;
104
116
  }
117
+
118
+ export interface SkiaDomViewProps extends SkiaBaseViewProps {
119
+ root?: RenderNode<GroupProps>;
120
+ onTouch?: TouchHandler;
121
+ }
@@ -1,99 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include <jsi/jsi.h>
6
-
7
- namespace RNJsi {
8
- namespace jsi = facebook::jsi;
9
-
10
- /**
11
- Implements a simple wrapper class for JSI primitives like numbers and boolean
12
- values. Objects, strings and arrays are stored as values inside a property
13
- holder. The class also provides a method for comparing values that will compare
14
- numbers, booleans and strings.
15
- */
16
- class JsiSimpleValueWrapper {
17
- private:
18
- enum ValueType { NonInitialized, Undefined, Null, Bool, Number, JsiValue };
19
-
20
- public:
21
- explicit JsiSimpleValueWrapper(jsi::Runtime &runtime)
22
- : _type(ValueType::NonInitialized),
23
- _propNameId(jsi::PropNameID::forUtf8(runtime, "value")) {}
24
-
25
- jsi::Value getCurrent(jsi::Runtime &runtime) {
26
- switch (_type) {
27
- case ValueType::NonInitialized:
28
- return nullptr;
29
- case ValueType::Undefined:
30
- return jsi::Value::undefined();
31
- case ValueType::Null:
32
- return jsi::Value::null();
33
- case ValueType::Bool:
34
- return _boolValue;
35
- case ValueType::Number:
36
- return _numberValue;
37
- case ValueType::JsiValue:
38
- if (_valueHolder == nullptr) {
39
- return jsi::Value::undefined();
40
- }
41
- return _valueHolder->getProperty(runtime, _propNameId);
42
- }
43
- }
44
-
45
- void setCurrent(jsi::Runtime &runtime, const jsi::Value &value) {
46
- if (value.isNumber()) {
47
- _type = ValueType::Number;
48
- _numberValue = value.asNumber();
49
- } else if (value.isBool()) {
50
- _type = ValueType::Bool;
51
- _boolValue = value.getBool();
52
- } else if (value.isUndefined()) {
53
- _type = ValueType::Undefined;
54
- } else if (value.isNull()) {
55
- _type = ValueType::Null;
56
- } else {
57
- _type = ValueType::JsiValue;
58
- // Save as javascript object - we don't want to have to copy strings,
59
- // objects and values
60
- if (_valueHolder == nullptr) {
61
- _valueHolder = std::make_shared<jsi::Object>(runtime);
62
- }
63
- _valueHolder->setProperty(runtime, _propNameId, value);
64
- }
65
- }
66
-
67
- bool equals(jsi::Runtime &runtime, const jsi::Value &value) {
68
- if (_type == ValueType::NonInitialized) {
69
- return false;
70
- }
71
- if (value.isNumber() && _type == ValueType::Number) {
72
- return _numberValue == value.asNumber();
73
- } else if (value.isBool() && _type == ValueType::Bool) {
74
- return _boolValue == value.getBool();
75
- } else if (value.isUndefined()) {
76
- return _type == ValueType::Undefined;
77
- } else if (value.isNull()) {
78
- return _type == ValueType::Null;
79
- } else if (value.isString()) {
80
- auto current = getCurrent(runtime);
81
- if (current.isString()) {
82
- return jsi::String::strictEquals(runtime, value.asString(runtime),
83
- current.asString(runtime));
84
- }
85
- return false;
86
- }
87
- return false;
88
- }
89
-
90
- private:
91
- jsi::PropNameID _propNameId;
92
- std::shared_ptr<jsi::Object> _valueHolder;
93
-
94
- bool _boolValue;
95
- double _numberValue;
96
-
97
- ValueType _type;
98
- };
99
- } // namespace RNJsi
@@ -1,159 +0,0 @@
1
- /*
2
- * Copyright 2014 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
- // EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL
9
- // DO NOT USE -- FOR INTERNAL TESTING ONLY
10
-
11
- #ifndef sk_canvas_DEFINED
12
- #define sk_canvas_DEFINED
13
-
14
- #include "include/c/sk_types.h"
15
-
16
- SK_C_PLUS_PLUS_BEGIN_GUARD
17
-
18
- /**
19
- Save the current matrix and clip on the canvas. When the
20
- balancing call to sk_canvas_restore() is made, the previous matrix
21
- and clip are restored.
22
- */
23
- SK_API void sk_canvas_save(sk_canvas_t*);
24
- /**
25
- This behaves the same as sk_canvas_save(), but in addition it
26
- allocates an offscreen surface. All drawing calls are directed
27
- there, and only when the balancing call to sk_canvas_restore() is
28
- made is that offscreen transfered to the canvas (or the previous
29
- layer).
30
-
31
- @param sk_rect_t* (may be null) This rect, if non-null, is used as
32
- a hint to limit the size of the offscreen, and
33
- thus drawing may be clipped to it, though that
34
- clipping is not guaranteed to happen. If exact
35
- clipping is desired, use sk_canvas_clip_rect().
36
- @param sk_paint_t* (may be null) The paint is copied, and is applied
37
- to the offscreen when sk_canvas_restore() is
38
- called.
39
- */
40
- SK_API void sk_canvas_save_layer(sk_canvas_t*, const sk_rect_t*, const sk_paint_t*);
41
- /**
42
- This call balances a previous call to sk_canvas_save() or
43
- sk_canvas_save_layer(), and is used to remove all modifications to
44
- the matrix and clip state since the last save call. It is an
45
- error to call sk_canvas_restore() more times than save and
46
- save_layer were called.
47
- */
48
- SK_API void sk_canvas_restore(sk_canvas_t*);
49
-
50
- /**
51
- Preconcat the current coordinate transformation matrix with the
52
- specified translation.
53
- */
54
- SK_API void sk_canvas_translate(sk_canvas_t*, float dx, float dy);
55
- /**
56
- Preconcat the current coordinate transformation matrix with the
57
- specified scale.
58
- */
59
- SK_API void sk_canvas_scale(sk_canvas_t*, float sx, float sy);
60
- /**
61
- Preconcat the current coordinate transformation matrix with the
62
- specified rotation in degrees.
63
- */
64
- SK_API void sk_canvas_rotate_degrees(sk_canvas_t*, float degrees);
65
- /**
66
- Preconcat the current coordinate transformation matrix with the
67
- specified rotation in radians.
68
- */
69
- SK_API void sk_canvas_rotate_radians(sk_canvas_t*, float radians);
70
- /**
71
- Preconcat the current coordinate transformation matrix with the
72
- specified skew.
73
- */
74
- SK_API void sk_canvas_skew(sk_canvas_t*, float sx, float sy);
75
- /**
76
- Preconcat the current coordinate transformation matrix with the
77
- specified matrix.
78
- */
79
- SK_API void sk_canvas_concat(sk_canvas_t*, const sk_matrix_t*);
80
-
81
- /**
82
- Modify the current clip with the specified rectangle. The new
83
- current clip will be the intersection of the old clip and the
84
- rectange.
85
- */
86
- SK_API void sk_canvas_clip_rect(sk_canvas_t*, const sk_rect_t*);
87
- /**
88
- Modify the current clip with the specified path. The new
89
- current clip will be the intersection of the old clip and the
90
- path.
91
- */
92
- SK_API void sk_canvas_clip_path(sk_canvas_t*, const sk_path_t*);
93
-
94
- /**
95
- Fill the entire canvas (restricted to the current clip) with the
96
- specified paint.
97
- */
98
- SK_API void sk_canvas_draw_paint(sk_canvas_t*, const sk_paint_t*);
99
- /**
100
- Draw the specified rectangle using the specified paint. The
101
- rectangle will be filled or stroked based on the style in the
102
- paint.
103
- */
104
- SK_API void sk_canvas_draw_rect(sk_canvas_t*, const sk_rect_t*, const sk_paint_t*);
105
- /**
106
- * Draw the circle centered at (cx, cy) with radius rad using the specified paint.
107
- * The circle will be filled or framed based on the style in the paint
108
- */
109
- SK_API void sk_canvas_draw_circle(sk_canvas_t*, float cx, float cy, float rad, const sk_paint_t*);
110
- /**
111
- Draw the specified oval using the specified paint. The oval will be
112
- filled or framed based on the style in the paint
113
- */
114
- SK_API void sk_canvas_draw_oval(sk_canvas_t*, const sk_rect_t*, const sk_paint_t*);
115
- /**
116
- Draw the specified path using the specified paint. The path will be
117
- filled or framed based on the style in the paint
118
- */
119
- SK_API void sk_canvas_draw_path(sk_canvas_t*, const sk_path_t*, const sk_paint_t*);
120
- /**
121
- Draw the specified image, with its top/left corner at (x,y), using
122
- the specified paint, transformed by the current matrix.
123
-
124
- @param sk_paint_t* (may be NULL) the paint used to draw the image.
125
- */
126
- SK_API void sk_canvas_draw_image(sk_canvas_t*, const sk_image_t*, float x, float y,
127
- const sk_sampling_options_t*, const sk_paint_t*);
128
- /**
129
- Draw the specified image, scaling and translating so that it fills
130
- the specified dst rect. If the src rect is non-null, only that
131
- subset of the image is transformed and drawn.
132
-
133
- @param sk_paint_t* (may be NULL) The paint used to draw the image.
134
- */
135
- SK_API void sk_canvas_draw_image_rect(sk_canvas_t*, const sk_image_t*,
136
- const sk_rect_t* src, const sk_rect_t* dst,
137
- const sk_sampling_options_t*, const sk_paint_t*);
138
-
139
- /**
140
- Draw the picture into this canvas (replay the pciture's drawing commands).
141
-
142
- @param sk_matrix_t* If non-null, apply that matrix to the CTM when
143
- drawing this picture. This is logically
144
- equivalent to: save, concat, draw_picture,
145
- restore.
146
-
147
- @param sk_paint_t* If non-null, draw the picture into a temporary
148
- buffer, and then apply the paint's alpha,
149
- colorfilter, imagefilter, and xfermode to that
150
- buffer as it is drawn to the canvas. This is
151
- logically equivalent to save_layer(paint),
152
- draw_picture, restore.
153
- */
154
- SK_API void sk_canvas_draw_picture(sk_canvas_t*, const sk_picture_t*,
155
- const sk_matrix_t*, const sk_paint_t*);
156
-
157
- SK_C_PLUS_PLUS_END_GUARD
158
-
159
- #endif
@@ -1,25 +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
- // EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL
9
- // DO NOT USE -- FOR INTERNAL TESTING ONLY
10
-
11
- #ifndef sk_colorspace_DEFINED
12
- #define sk_colorspace_DEFINED
13
-
14
- #include "include/c/sk_types.h"
15
-
16
- SK_C_PLUS_PLUS_BEGIN_GUARD
17
-
18
- SK_API sk_colorspace_t* sk_colorspace_new_srgb();
19
-
20
- SK_API void sk_colorspace_ref(sk_colorspace_t*);
21
- SK_API void sk_colorspace_unref(sk_colorspace_t*);
22
-
23
- SK_C_PLUS_PLUS_END_GUARD
24
-
25
- #endif
@@ -1,65 +0,0 @@
1
- /*
2
- * Copyright 2014 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
- // EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL
9
- // DO NOT USE -- FOR INTERNAL TESTING ONLY
10
-
11
- #ifndef sk_data_DEFINED
12
- #define sk_data_DEFINED
13
-
14
- #include "include/c/sk_types.h"
15
-
16
- SK_C_PLUS_PLUS_BEGIN_GUARD
17
-
18
- /**
19
- Returns a new sk_data_t by copying the specified source data.
20
- This call must be balanced with a call to sk_data_unref().
21
- */
22
- SK_API sk_data_t* sk_data_new_with_copy(const void* src, size_t length);
23
- /**
24
- Pass ownership of the given memory to a new sk_data_t, which will
25
- call free() when the refernce count of the data goes to zero. For
26
- example:
27
- size_t length = 1024;
28
- void* buffer = malloc(length);
29
- memset(buffer, 'X', length);
30
- sk_data_t* data = sk_data_new_from_malloc(buffer, length);
31
- This call must be balanced with a call to sk_data_unref().
32
- */
33
- SK_API sk_data_t* sk_data_new_from_malloc(const void* memory, size_t length);
34
- /**
35
- Returns a new sk_data_t using a subset of the data in the
36
- specified source sk_data_t. This call must be balanced with a
37
- call to sk_data_unref().
38
- */
39
- SK_API sk_data_t* sk_data_new_subset(const sk_data_t* src, size_t offset, size_t length);
40
-
41
- /**
42
- Increment the reference count on the given sk_data_t. Must be
43
- balanced by a call to sk_data_unref().
44
- */
45
- SK_API void sk_data_ref(const sk_data_t*);
46
- /**
47
- Decrement the reference count. If the reference count is 1 before
48
- the decrement, then release both the memory holding the sk_data_t
49
- and the memory it is managing. New sk_data_t are created with a
50
- reference count of 1.
51
- */
52
- SK_API void sk_data_unref(const sk_data_t*);
53
-
54
- /**
55
- Returns the number of bytes stored.
56
- */
57
- SK_API size_t sk_data_get_size(const sk_data_t*);
58
- /**
59
- Returns the pointer to the data.
60
- */
61
- SK_API const void* sk_data_get_data(const sk_data_t*);
62
-
63
- SK_C_PLUS_PLUS_END_GUARD
64
-
65
- #endif