@shopify/react-native-skia 0.1.115

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1704) hide show
  1. package/LICENSE.md +7 -0
  2. package/README.md +7 -0
  3. package/android/CMakeLists.txt +132 -0
  4. package/android/README.md +14 -0
  5. package/android/build.gradle +196 -0
  6. package/android/cpp/jni/JniLoad.cpp +13 -0
  7. package/android/cpp/jni/JniPlatformContext.cpp +142 -0
  8. package/android/cpp/jni/JniSkiaDrawView.cpp +169 -0
  9. package/android/cpp/jni/JniSkiaManager.cpp +57 -0
  10. package/android/cpp/jni/SkiaOpenGLRenderer.cpp +340 -0
  11. package/android/cpp/jni/include/JniPlatformContext.h +75 -0
  12. package/android/cpp/jni/include/JniPlatformContextWrapper.h +54 -0
  13. package/android/cpp/jni/include/JniSkiaDrawView.h +82 -0
  14. package/android/cpp/jni/include/JniSkiaManager.h +81 -0
  15. package/android/cpp/jni/include/SkiaOpenGLRenderer.h +159 -0
  16. package/android/src/main/AndroidManifest.xml +6 -0
  17. package/android/src/main/java/com/shopify/reactnative/skia/PlatformContext.java +181 -0
  18. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaModule.java +88 -0
  19. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaPackage.java +24 -0
  20. package/android/src/main/java/com/shopify/reactnative/skia/RNSkiaViewManager.java +72 -0
  21. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawView.java +137 -0
  22. package/android/src/main/java/com/shopify/reactnative/skia/SkiaManager.java +66 -0
  23. package/cpp/api/JsiSkApi.h +97 -0
  24. package/cpp/api/JsiSkCanvas.h +532 -0
  25. package/cpp/api/JsiSkColorFilter.h +43 -0
  26. package/cpp/api/JsiSkColorFilterFactory.h +98 -0
  27. package/cpp/api/JsiSkContourMeasure.h +102 -0
  28. package/cpp/api/JsiSkContourMeasureIter.h +90 -0
  29. package/cpp/api/JsiSkData.h +46 -0
  30. package/cpp/api/JsiSkDataFactory.h +92 -0
  31. package/cpp/api/JsiSkFont.h +326 -0
  32. package/cpp/api/JsiSkFontMgr.h +84 -0
  33. package/cpp/api/JsiSkFontMgrFactory.h +48 -0
  34. package/cpp/api/JsiSkHostObjects.h +83 -0
  35. package/cpp/api/JsiSkImage.h +141 -0
  36. package/cpp/api/JsiSkImageFactory.h +50 -0
  37. package/cpp/api/JsiSkImageFilter.h +47 -0
  38. package/cpp/api/JsiSkImageFilterFactory.h +217 -0
  39. package/cpp/api/JsiSkImageInfo.h +57 -0
  40. package/cpp/api/JsiSkMaskFilter.h +45 -0
  41. package/cpp/api/JsiSkMaskFilterFactory.h +42 -0
  42. package/cpp/api/JsiSkMatrix.h +64 -0
  43. package/cpp/api/JsiSkPaint.h +227 -0
  44. package/cpp/api/JsiSkPath.h +557 -0
  45. package/cpp/api/JsiSkPathEffect.h +45 -0
  46. package/cpp/api/JsiSkPathEffectFactory.h +123 -0
  47. package/cpp/api/JsiSkPathFactory.h +64 -0
  48. package/cpp/api/JsiSkPoint.h +81 -0
  49. package/cpp/api/JsiSkRRect.h +93 -0
  50. package/cpp/api/JsiSkRSXform.h +105 -0
  51. package/cpp/api/JsiSkRect.h +119 -0
  52. package/cpp/api/JsiSkRuntimeEffect.h +217 -0
  53. package/cpp/api/JsiSkRuntimeEffectFactory.h +41 -0
  54. package/cpp/api/JsiSkSVG.h +43 -0
  55. package/cpp/api/JsiSkSVGFactory.h +48 -0
  56. package/cpp/api/JsiSkShader.h +45 -0
  57. package/cpp/api/JsiSkShaderFactory.h +214 -0
  58. package/cpp/api/JsiSkSurface.h +67 -0
  59. package/cpp/api/JsiSkSurfaceFactory.h +44 -0
  60. package/cpp/api/JsiSkTextBlob.h +50 -0
  61. package/cpp/api/JsiSkTextBlobFactory.h +109 -0
  62. package/cpp/api/JsiSkTypeface.h +76 -0
  63. package/cpp/api/JsiSkTypefaceFactory.h +30 -0
  64. package/cpp/api/JsiSkVertices.h +147 -0
  65. package/cpp/jsi/JsiHostObject.cpp +154 -0
  66. package/cpp/jsi/JsiHostObject.h +241 -0
  67. package/cpp/rnskia/RNSkAnimation.h +73 -0
  68. package/cpp/rnskia/RNSkDispatchQueue.cpp +84 -0
  69. package/cpp/rnskia/RNSkDispatchQueue.h +47 -0
  70. package/cpp/rnskia/RNSkDrawView.cpp +333 -0
  71. package/cpp/rnskia/RNSkDrawView.h +242 -0
  72. package/cpp/rnskia/RNSkInfoParameter.h +100 -0
  73. package/cpp/rnskia/RNSkJsiViewApi.h +305 -0
  74. package/cpp/rnskia/RNSkManager.cpp +81 -0
  75. package/cpp/rnskia/RNSkManager.h +81 -0
  76. package/cpp/rnskia/RNSkPlatformContext.h +196 -0
  77. package/cpp/rnskia/RNSkValueApi.h +69 -0
  78. package/cpp/rnskia/values/RNSkClockValue.h +133 -0
  79. package/cpp/rnskia/values/RNSkDerivedValue.h +92 -0
  80. package/cpp/rnskia/values/RNSkReadonlyValue.h +140 -0
  81. package/cpp/rnskia/values/RNSkValue.h +112 -0
  82. package/cpp/skia/include/android/SkAndroidFrameworkUtils.h +61 -0
  83. package/cpp/skia/include/android/SkAnimatedImage.h +179 -0
  84. package/cpp/skia/include/c/sk_canvas.h +159 -0
  85. package/cpp/skia/include/c/sk_colorspace.h +25 -0
  86. package/cpp/skia/include/c/sk_data.h +65 -0
  87. package/cpp/skia/include/c/sk_image.h +71 -0
  88. package/cpp/skia/include/c/sk_imageinfo.h +62 -0
  89. package/cpp/skia/include/c/sk_maskfilter.h +47 -0
  90. package/cpp/skia/include/c/sk_matrix.h +49 -0
  91. package/cpp/skia/include/c/sk_paint.h +145 -0
  92. package/cpp/skia/include/c/sk_path.h +102 -0
  93. package/cpp/skia/include/c/sk_picture.h +70 -0
  94. package/cpp/skia/include/c/sk_shader.h +143 -0
  95. package/cpp/skia/include/c/sk_surface.h +73 -0
  96. package/cpp/skia/include/c/sk_types.h +278 -0
  97. package/cpp/skia/include/codec/SkAndroidCodec.h +263 -0
  98. package/cpp/skia/include/codec/SkCodec.h +992 -0
  99. package/cpp/skia/include/codec/SkCodecAnimation.h +61 -0
  100. package/cpp/skia/include/codec/SkEncodedOrigin.h +54 -0
  101. package/cpp/skia/include/config/SkUserConfig.h +89 -0
  102. package/cpp/skia/include/core/SkAnnotation.h +50 -0
  103. package/cpp/skia/include/core/SkBBHFactory.h +63 -0
  104. package/cpp/skia/include/core/SkBitmap.h +1212 -0
  105. package/cpp/skia/include/core/SkBlendMode.h +110 -0
  106. package/cpp/skia/include/core/SkBlender.h +33 -0
  107. package/cpp/skia/include/core/SkBlurTypes.h +22 -0
  108. package/cpp/skia/include/core/SkCanvas.h +2583 -0
  109. package/cpp/skia/include/core/SkCanvasVirtualEnforcer.h +61 -0
  110. package/cpp/skia/include/core/SkClipOp.h +19 -0
  111. package/cpp/skia/include/core/SkColor.h +438 -0
  112. package/cpp/skia/include/core/SkColorFilter.h +90 -0
  113. package/cpp/skia/include/core/SkColorPriv.h +152 -0
  114. package/cpp/skia/include/core/SkColorSpace.h +245 -0
  115. package/cpp/skia/include/core/SkContourMeasure.h +131 -0
  116. package/cpp/skia/include/core/SkCoverageMode.h +30 -0
  117. package/cpp/skia/include/core/SkCubicMap.h +45 -0
  118. package/cpp/skia/include/core/SkCustomMesh.h +202 -0
  119. package/cpp/skia/include/core/SkData.h +188 -0
  120. package/cpp/skia/include/core/SkDataTable.h +118 -0
  121. package/cpp/skia/include/core/SkDeferredDisplayList.h +110 -0
  122. package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +97 -0
  123. package/cpp/skia/include/core/SkDocument.h +91 -0
  124. package/cpp/skia/include/core/SkDrawLooper.h +135 -0
  125. package/cpp/skia/include/core/SkDrawable.h +160 -0
  126. package/cpp/skia/include/core/SkEncodedImageFormat.h +35 -0
  127. package/cpp/skia/include/core/SkExecutor.h +41 -0
  128. package/cpp/skia/include/core/SkFlattenable.h +113 -0
  129. package/cpp/skia/include/core/SkFont.h +534 -0
  130. package/cpp/skia/include/core/SkFontArguments.h +62 -0
  131. package/cpp/skia/include/core/SkFontMetrics.h +138 -0
  132. package/cpp/skia/include/core/SkFontMgr.h +157 -0
  133. package/cpp/skia/include/core/SkFontParameters.h +42 -0
  134. package/cpp/skia/include/core/SkFontStyle.h +81 -0
  135. package/cpp/skia/include/core/SkFontTypes.h +25 -0
  136. package/cpp/skia/include/core/SkGraphics.h +153 -0
  137. package/cpp/skia/include/core/SkICC.h +19 -0
  138. package/cpp/skia/include/core/SkImage.h +1302 -0
  139. package/cpp/skia/include/core/SkImageEncoder.h +72 -0
  140. package/cpp/skia/include/core/SkImageFilter.h +114 -0
  141. package/cpp/skia/include/core/SkImageGenerator.h +215 -0
  142. package/cpp/skia/include/core/SkImageInfo.h +721 -0
  143. package/cpp/skia/include/core/SkM44.h +426 -0
  144. package/cpp/skia/include/core/SkMallocPixelRef.h +42 -0
  145. package/cpp/skia/include/core/SkMaskFilter.h +50 -0
  146. package/cpp/skia/include/core/SkMath.h +54 -0
  147. package/cpp/skia/include/core/SkMatrix.h +1986 -0
  148. package/cpp/skia/include/core/SkMilestone.h +9 -0
  149. package/cpp/skia/include/core/SkOverdrawCanvas.h +68 -0
  150. package/cpp/skia/include/core/SkPaint.h +720 -0
  151. package/cpp/skia/include/core/SkPath.h +1891 -0
  152. package/cpp/skia/include/core/SkPathBuilder.h +268 -0
  153. package/cpp/skia/include/core/SkPathEffect.h +106 -0
  154. package/cpp/skia/include/core/SkPathMeasure.h +88 -0
  155. package/cpp/skia/include/core/SkPathTypes.h +59 -0
  156. package/cpp/skia/include/core/SkPicture.h +280 -0
  157. package/cpp/skia/include/core/SkPictureRecorder.h +115 -0
  158. package/cpp/skia/include/core/SkPixelRef.h +123 -0
  159. package/cpp/skia/include/core/SkPixmap.h +720 -0
  160. package/cpp/skia/include/core/SkPngChunkReader.h +45 -0
  161. package/cpp/skia/include/core/SkPoint.h +566 -0
  162. package/cpp/skia/include/core/SkPoint3.h +157 -0
  163. package/cpp/skia/include/core/SkPromiseImageTexture.h +46 -0
  164. package/cpp/skia/include/core/SkRRect.h +512 -0
  165. package/cpp/skia/include/core/SkRSXform.h +69 -0
  166. package/cpp/skia/include/core/SkRasterHandleAllocator.h +92 -0
  167. package/cpp/skia/include/core/SkRect.h +1378 -0
  168. package/cpp/skia/include/core/SkRefCnt.h +382 -0
  169. package/cpp/skia/include/core/SkRegion.h +672 -0
  170. package/cpp/skia/include/core/SkSamplingOptions.h +92 -0
  171. package/cpp/skia/include/core/SkScalar.h +194 -0
  172. package/cpp/skia/include/core/SkSerialProcs.h +73 -0
  173. package/cpp/skia/include/core/SkShader.h +148 -0
  174. package/cpp/skia/include/core/SkSize.h +90 -0
  175. package/cpp/skia/include/core/SkSpan.h +89 -0
  176. package/cpp/skia/include/core/SkStream.h +524 -0
  177. package/cpp/skia/include/core/SkString.h +302 -0
  178. package/cpp/skia/include/core/SkStringView.h +185 -0
  179. package/cpp/skia/include/core/SkStrokeRec.h +154 -0
  180. package/cpp/skia/include/core/SkSurface.h +1079 -0
  181. package/cpp/skia/include/core/SkSurfaceCharacterization.h +263 -0
  182. package/cpp/skia/include/core/SkSurfaceProps.h +92 -0
  183. package/cpp/skia/include/core/SkSwizzle.h +19 -0
  184. package/cpp/skia/include/core/SkTextBlob.h +503 -0
  185. package/cpp/skia/include/core/SkTileMode.h +41 -0
  186. package/cpp/skia/include/core/SkTime.h +63 -0
  187. package/cpp/skia/include/core/SkTraceMemoryDump.h +99 -0
  188. package/cpp/skia/include/core/SkTypeface.h +454 -0
  189. package/cpp/skia/include/core/SkTypes.h +621 -0
  190. package/cpp/skia/include/core/SkUnPreMultiply.h +56 -0
  191. package/cpp/skia/include/core/SkVertices.h +132 -0
  192. package/cpp/skia/include/core/SkYUVAInfo.h +304 -0
  193. package/cpp/skia/include/core/SkYUVAPixmaps.h +336 -0
  194. package/cpp/skia/include/docs/SkPDFDocument.h +196 -0
  195. package/cpp/skia/include/docs/SkXPSDocument.h +27 -0
  196. package/cpp/skia/include/effects/Sk1DPathEffect.h +35 -0
  197. package/cpp/skia/include/effects/Sk2DPathEffect.h +30 -0
  198. package/cpp/skia/include/effects/SkBlenders.h +27 -0
  199. package/cpp/skia/include/effects/SkBlurDrawLooper.h +26 -0
  200. package/cpp/skia/include/effects/SkBlurMaskFilter.h +35 -0
  201. package/cpp/skia/include/effects/SkColorMatrix.h +55 -0
  202. package/cpp/skia/include/effects/SkColorMatrixFilter.h +25 -0
  203. package/cpp/skia/include/effects/SkCornerPathEffect.h +28 -0
  204. package/cpp/skia/include/effects/SkDashPathEffect.h +39 -0
  205. package/cpp/skia/include/effects/SkDiscretePathEffect.h +37 -0
  206. package/cpp/skia/include/effects/SkGradientShader.h +264 -0
  207. package/cpp/skia/include/effects/SkHighContrastFilter.h +80 -0
  208. package/cpp/skia/include/effects/SkImageFilters.h +551 -0
  209. package/cpp/skia/include/effects/SkLayerDrawLooper.h +161 -0
  210. package/cpp/skia/include/effects/SkLumaColorFilter.h +34 -0
  211. package/cpp/skia/include/effects/SkOpPathEffect.h +39 -0
  212. package/cpp/skia/include/effects/SkOverdrawColorFilter.h +29 -0
  213. package/cpp/skia/include/effects/SkPerlinNoiseShader.h +54 -0
  214. package/cpp/skia/include/effects/SkRuntimeEffect.h +518 -0
  215. package/cpp/skia/include/effects/SkShaderMaskFilter.h +24 -0
  216. package/cpp/skia/include/effects/SkStrokeAndFillPathEffect.h +28 -0
  217. package/cpp/skia/include/effects/SkTableColorFilter.h +42 -0
  218. package/cpp/skia/include/effects/SkTableMaskFilter.h +37 -0
  219. package/cpp/skia/include/effects/SkTrimPathEffect.h +41 -0
  220. package/cpp/skia/include/encode/SkEncoder.h +42 -0
  221. package/cpp/skia/include/encode/SkJpegEncoder.h +97 -0
  222. package/cpp/skia/include/encode/SkPngEncoder.h +99 -0
  223. package/cpp/skia/include/encode/SkWebpEncoder.h +48 -0
  224. package/cpp/skia/include/gpu/GrBackendDrawableInfo.h +44 -0
  225. package/cpp/skia/include/gpu/GrBackendSemaphore.h +140 -0
  226. package/cpp/skia/include/gpu/GrBackendSurface.h +643 -0
  227. package/cpp/skia/include/gpu/GrBackendSurfaceMutableState.h +91 -0
  228. package/cpp/skia/include/gpu/GrConfig.h +53 -0
  229. package/cpp/skia/include/gpu/GrContextOptions.h +364 -0
  230. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +159 -0
  231. package/cpp/skia/include/gpu/GrDirectContext.h +880 -0
  232. package/cpp/skia/include/gpu/GrDriverBugWorkarounds.h +52 -0
  233. package/cpp/skia/include/gpu/GrDriverBugWorkaroundsAutogen.h +45 -0
  234. package/cpp/skia/include/gpu/GrRecordingContext.h +275 -0
  235. package/cpp/skia/include/gpu/GrSurfaceInfo.h +166 -0
  236. package/cpp/skia/include/gpu/GrTypes.h +244 -0
  237. package/cpp/skia/include/gpu/GrYUVABackendTextures.h +124 -0
  238. package/cpp/skia/include/gpu/ShaderErrorHandler.h +36 -0
  239. package/cpp/skia/include/gpu/d3d/GrD3DBackendContext.h +35 -0
  240. package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +248 -0
  241. package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +95 -0
  242. package/cpp/skia/include/gpu/gl/GrGLAssembleHelpers.h +11 -0
  243. package/cpp/skia/include/gpu/gl/GrGLAssembleInterface.h +39 -0
  244. package/cpp/skia/include/gpu/gl/GrGLConfig.h +79 -0
  245. package/cpp/skia/include/gpu/gl/GrGLConfig_chrome.h +14 -0
  246. package/cpp/skia/include/gpu/gl/GrGLExtensions.h +78 -0
  247. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +304 -0
  248. package/cpp/skia/include/gpu/gl/GrGLInterface.h +342 -0
  249. package/cpp/skia/include/gpu/gl/GrGLTypes.h +207 -0
  250. package/cpp/skia/include/gpu/gl/egl/GrGLMakeEGLInterface.h +14 -0
  251. package/cpp/skia/include/gpu/gl/glx/GrGLMakeGLXInterface.h +14 -0
  252. package/cpp/skia/include/gpu/mock/GrMockTypes.h +144 -0
  253. package/cpp/skia/include/gpu/mtl/GrMtlBackendContext.h +21 -0
  254. package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +63 -0
  255. package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +76 -0
  256. package/cpp/skia/include/gpu/vk/GrVkExtensions.h +63 -0
  257. package/cpp/skia/include/gpu/vk/GrVkMemoryAllocator.h +140 -0
  258. package/cpp/skia/include/gpu/vk/GrVkTypes.h +187 -0
  259. package/cpp/skia/include/gpu/vk/GrVkVulkan.h +32 -0
  260. package/cpp/skia/include/pathops/SkPathOps.h +113 -0
  261. package/cpp/skia/include/ports/SkCFObject.h +184 -0
  262. package/cpp/skia/include/ports/SkFontConfigInterface.h +115 -0
  263. package/cpp/skia/include/ports/SkFontMgr_FontConfigInterface.h +20 -0
  264. package/cpp/skia/include/ports/SkFontMgr_android.h +45 -0
  265. package/cpp/skia/include/ports/SkFontMgr_directory.h +21 -0
  266. package/cpp/skia/include/ports/SkFontMgr_empty.h +21 -0
  267. package/cpp/skia/include/ports/SkFontMgr_fontconfig.h +22 -0
  268. package/cpp/skia/include/ports/SkFontMgr_fuchsia.h +19 -0
  269. package/cpp/skia/include/ports/SkFontMgr_indirect.h +102 -0
  270. package/cpp/skia/include/ports/SkFontMgr_mac_ct.h +27 -0
  271. package/cpp/skia/include/ports/SkImageGeneratorCG.h +20 -0
  272. package/cpp/skia/include/ports/SkImageGeneratorNDK.h +40 -0
  273. package/cpp/skia/include/ports/SkImageGeneratorWIC.h +35 -0
  274. package/cpp/skia/include/ports/SkRemotableFontMgr.h +139 -0
  275. package/cpp/skia/include/ports/SkTypeface_mac.h +44 -0
  276. package/cpp/skia/include/ports/SkTypeface_win.h +79 -0
  277. package/cpp/skia/include/private/GrContext_Base.h +92 -0
  278. package/cpp/skia/include/private/GrD3DTypesMinimal.h +74 -0
  279. package/cpp/skia/include/private/GrDawnTypesPriv.h +26 -0
  280. package/cpp/skia/include/private/GrGLTypesPriv.h +107 -0
  281. package/cpp/skia/include/private/GrImageContext.h +55 -0
  282. package/cpp/skia/include/private/GrMockTypesPriv.h +31 -0
  283. package/cpp/skia/include/private/GrMtlTypesPriv.h +75 -0
  284. package/cpp/skia/include/private/GrSingleOwner.h +65 -0
  285. package/cpp/skia/include/private/GrTypesPriv.h +1354 -0
  286. package/cpp/skia/include/private/GrVkTypesPriv.h +107 -0
  287. package/cpp/skia/include/private/SkBitmaskEnum.h +59 -0
  288. package/cpp/skia/include/private/SkChecksum.h +66 -0
  289. package/cpp/skia/include/private/SkColorData.h +441 -0
  290. package/cpp/skia/include/private/SkDeque.h +141 -0
  291. package/cpp/skia/include/private/SkEncodedInfo.h +249 -0
  292. package/cpp/skia/include/private/SkFixed.h +141 -0
  293. package/cpp/skia/include/private/SkFloatBits.h +91 -0
  294. package/cpp/skia/include/private/SkFloatingPoint.h +272 -0
  295. package/cpp/skia/include/private/SkHalf.h +85 -0
  296. package/cpp/skia/include/private/SkIDChangeListener.h +75 -0
  297. package/cpp/skia/include/private/SkImageInfoPriv.h +193 -0
  298. package/cpp/skia/include/private/SkMacros.h +84 -0
  299. package/cpp/skia/include/private/SkMalloc.h +143 -0
  300. package/cpp/skia/include/private/SkMutex.h +56 -0
  301. package/cpp/skia/include/private/SkNoncopyable.h +30 -0
  302. package/cpp/skia/include/private/SkNx.h +430 -0
  303. package/cpp/skia/include/private/SkNx_neon.h +713 -0
  304. package/cpp/skia/include/private/SkNx_sse.h +823 -0
  305. package/cpp/skia/include/private/SkOnce.h +53 -0
  306. package/cpp/skia/include/private/SkOpts_spi.h +21 -0
  307. package/cpp/skia/include/private/SkPaintParamsKey.h +110 -0
  308. package/cpp/skia/include/private/SkPathRef.h +536 -0
  309. package/cpp/skia/include/private/SkSLDefines.h +56 -0
  310. package/cpp/skia/include/private/SkSLIRNode.h +63 -0
  311. package/cpp/skia/include/private/SkSLLayout.h +143 -0
  312. package/cpp/skia/include/private/SkSLModifiers.h +141 -0
  313. package/cpp/skia/include/private/SkSLProgramElement.h +77 -0
  314. package/cpp/skia/include/private/SkSLProgramKind.h +31 -0
  315. package/cpp/skia/include/private/SkSLSampleUsage.h +89 -0
  316. package/cpp/skia/include/private/SkSLStatement.h +87 -0
  317. package/cpp/skia/include/private/SkSLString.h +80 -0
  318. package/cpp/skia/include/private/SkSLSymbol.h +90 -0
  319. package/cpp/skia/include/private/SkSafe32.h +34 -0
  320. package/cpp/skia/include/private/SkSafe_math.h +52 -0
  321. package/cpp/skia/include/private/SkSemaphore.h +83 -0
  322. package/cpp/skia/include/private/SkShaderCodeDictionary.h +63 -0
  323. package/cpp/skia/include/private/SkShadowFlags.h +25 -0
  324. package/cpp/skia/include/private/SkSpinlock.h +57 -0
  325. package/cpp/skia/include/private/SkTArray.h +640 -0
  326. package/cpp/skia/include/private/SkTDArray.h +385 -0
  327. package/cpp/skia/include/private/SkTFitsIn.h +99 -0
  328. package/cpp/skia/include/private/SkTHash.h +548 -0
  329. package/cpp/skia/include/private/SkTLogic.h +86 -0
  330. package/cpp/skia/include/private/SkTOptional.h +362 -0
  331. package/cpp/skia/include/private/SkTPin.h +23 -0
  332. package/cpp/skia/include/private/SkTemplates.h +453 -0
  333. package/cpp/skia/include/private/SkThreadAnnotations.h +91 -0
  334. package/cpp/skia/include/private/SkThreadID.h +20 -0
  335. package/cpp/skia/include/private/SkTo.h +28 -0
  336. package/cpp/skia/include/private/SkUniquePaintParamsID.h +35 -0
  337. package/cpp/skia/include/private/SkVx.h +943 -0
  338. package/cpp/skia/include/private/SkWeakRefCnt.h +170 -0
  339. package/cpp/skia/include/private/chromium/GrSlug.h +41 -0
  340. package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +143 -0
  341. package/cpp/skia/include/sksl/DSL.h +34 -0
  342. package/cpp/skia/include/sksl/DSLBlock.h +67 -0
  343. package/cpp/skia/include/sksl/DSLCase.h +68 -0
  344. package/cpp/skia/include/sksl/DSLCore.h +488 -0
  345. package/cpp/skia/include/sksl/DSLExpression.h +299 -0
  346. package/cpp/skia/include/sksl/DSLFunction.h +116 -0
  347. package/cpp/skia/include/sksl/DSLLayout.h +94 -0
  348. package/cpp/skia/include/sksl/DSLModifiers.h +64 -0
  349. package/cpp/skia/include/sksl/DSLRuntimeEffects.h +32 -0
  350. package/cpp/skia/include/sksl/DSLStatement.h +111 -0
  351. package/cpp/skia/include/sksl/DSLSymbols.h +71 -0
  352. package/cpp/skia/include/sksl/DSLType.h +259 -0
  353. package/cpp/skia/include/sksl/DSLVar.h +310 -0
  354. package/cpp/skia/include/sksl/DSLWrapper.h +77 -0
  355. package/cpp/skia/include/sksl/SkSLDebugTrace.h +28 -0
  356. package/cpp/skia/include/sksl/SkSLErrorReporter.h +115 -0
  357. package/cpp/skia/include/svg/SkSVGCanvas.h +37 -0
  358. package/cpp/skia/include/third_party/skcms/LICENSE +29 -0
  359. package/cpp/skia/include/third_party/skcms/skcms.h +394 -0
  360. package/cpp/skia/include/third_party/vulkan/LICENSE +29 -0
  361. package/cpp/skia/include/third_party/vulkan/vulkan/vk_platform.h +84 -0
  362. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan.h +93 -0
  363. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_android.h +112 -0
  364. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_core.h +12620 -0
  365. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +47 -0
  366. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +47 -0
  367. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +315 -0
  368. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +55 -0
  369. package/cpp/skia/include/utils/SkAnimCodecPlayer.h +60 -0
  370. package/cpp/skia/include/utils/SkBase64.h +51 -0
  371. package/cpp/skia/include/utils/SkCamera.h +107 -0
  372. package/cpp/skia/include/utils/SkCanvasStateUtils.h +78 -0
  373. package/cpp/skia/include/utils/SkCustomTypeface.h +48 -0
  374. package/cpp/skia/include/utils/SkEventTracer.h +79 -0
  375. package/cpp/skia/include/utils/SkNWayCanvas.h +92 -0
  376. package/cpp/skia/include/utils/SkNoDrawCanvas.h +80 -0
  377. package/cpp/skia/include/utils/SkNullCanvas.h +18 -0
  378. package/cpp/skia/include/utils/SkOrderedFontMgr.h +53 -0
  379. package/cpp/skia/include/utils/SkPaintFilterCanvas.h +107 -0
  380. package/cpp/skia/include/utils/SkParse.h +32 -0
  381. package/cpp/skia/include/utils/SkParsePath.h +25 -0
  382. package/cpp/skia/include/utils/SkRandom.h +169 -0
  383. package/cpp/skia/include/utils/SkShadowUtils.h +85 -0
  384. package/cpp/skia/include/utils/SkTextUtils.h +38 -0
  385. package/cpp/skia/include/utils/SkTraceEventPhase.h +19 -0
  386. package/cpp/skia/include/utils/mac/SkCGUtils.h +78 -0
  387. package/cpp/skia/modules/skresources/include/SkResources.h +254 -0
  388. package/cpp/skia/modules/svg/include/SkSVGAttribute.h +113 -0
  389. package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +134 -0
  390. package/cpp/skia/modules/svg/include/SkSVGCircle.h +43 -0
  391. package/cpp/skia/modules/svg/include/SkSVGClipPath.h +35 -0
  392. package/cpp/skia/modules/svg/include/SkSVGContainer.h +36 -0
  393. package/cpp/skia/modules/svg/include/SkSVGDOM.h +96 -0
  394. package/cpp/skia/modules/svg/include/SkSVGDefs.h +23 -0
  395. package/cpp/skia/modules/svg/include/SkSVGEllipse.h +41 -0
  396. package/cpp/skia/modules/svg/include/SkSVGFe.h +85 -0
  397. package/cpp/skia/modules/svg/include/SkSVGFeBlend.h +45 -0
  398. package/cpp/skia/modules/svg/include/SkSVGFeColorMatrix.h +46 -0
  399. package/cpp/skia/modules/svg/include/SkSVGFeComposite.h +46 -0
  400. package/cpp/skia/modules/svg/include/SkSVGFeDisplacementMap.h +46 -0
  401. package/cpp/skia/modules/svg/include/SkSVGFeFlood.h +32 -0
  402. package/cpp/skia/modules/svg/include/SkSVGFeGaussianBlur.h +41 -0
  403. package/cpp/skia/modules/svg/include/SkSVGFeImage.h +35 -0
  404. package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +89 -0
  405. package/cpp/skia/modules/svg/include/SkSVGFeLighting.h +121 -0
  406. package/cpp/skia/modules/svg/include/SkSVGFeMorphology.h +47 -0
  407. package/cpp/skia/modules/svg/include/SkSVGFeOffset.h +35 -0
  408. package/cpp/skia/modules/svg/include/SkSVGFeTurbulence.h +40 -0
  409. package/cpp/skia/modules/svg/include/SkSVGFilter.h +39 -0
  410. package/cpp/skia/modules/svg/include/SkSVGFilterContext.h +69 -0
  411. package/cpp/skia/modules/svg/include/SkSVGG.h +23 -0
  412. package/cpp/skia/modules/svg/include/SkSVGGradient.h +48 -0
  413. package/cpp/skia/modules/svg/include/SkSVGHiddenContainer.h +23 -0
  414. package/cpp/skia/modules/svg/include/SkSVGIDMapper.h +19 -0
  415. package/cpp/skia/modules/svg/include/SkSVGImage.h +58 -0
  416. package/cpp/skia/modules/svg/include/SkSVGLine.h +42 -0
  417. package/cpp/skia/modules/svg/include/SkSVGLinearGradient.h +37 -0
  418. package/cpp/skia/modules/svg/include/SkSVGMask.h +43 -0
  419. package/cpp/skia/modules/svg/include/SkSVGNode.h +223 -0
  420. package/cpp/skia/modules/svg/include/SkSVGPath.h +36 -0
  421. package/cpp/skia/modules/svg/include/SkSVGPattern.h +55 -0
  422. package/cpp/skia/modules/svg/include/SkSVGPoly.h +45 -0
  423. package/cpp/skia/modules/svg/include/SkSVGRadialGradient.h +38 -0
  424. package/cpp/skia/modules/svg/include/SkSVGRect.h +46 -0
  425. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +188 -0
  426. package/cpp/skia/modules/svg/include/SkSVGSVG.h +52 -0
  427. package/cpp/skia/modules/svg/include/SkSVGShape.h +33 -0
  428. package/cpp/skia/modules/svg/include/SkSVGStop.h +34 -0
  429. package/cpp/skia/modules/svg/include/SkSVGText.h +122 -0
  430. package/cpp/skia/modules/svg/include/SkSVGTransformableNode.h +36 -0
  431. package/cpp/skia/modules/svg/include/SkSVGTypes.h +691 -0
  432. package/cpp/skia/modules/svg/include/SkSVGUse.h +42 -0
  433. package/cpp/skia/modules/svg/include/SkSVGValue.h +85 -0
  434. package/cpp/skia/readme.txt +1 -0
  435. package/cpp/utils/RNSkLog.h +53 -0
  436. package/cpp/utils/RNSkMeasureTime.h +32 -0
  437. package/cpp/utils/RNSkTimingInfo.h +91 -0
  438. package/ios/RNSkia-iOS/DisplayLink.h +17 -0
  439. package/ios/RNSkia-iOS/DisplayLink.mm +36 -0
  440. package/ios/RNSkia-iOS/PlatformContext.h +50 -0
  441. package/ios/RNSkia-iOS/PlatformContext.mm +52 -0
  442. package/ios/RNSkia-iOS/RNSkDrawViewImpl.h +57 -0
  443. package/ios/RNSkia-iOS/RNSkDrawViewImpl.mm +98 -0
  444. package/ios/RNSkia-iOS/SkiaDrawView.h +23 -0
  445. package/ios/RNSkia-iOS/SkiaDrawView.mm +165 -0
  446. package/ios/RNSkia-iOS/SkiaDrawViewManager.h +7 -0
  447. package/ios/RNSkia-iOS/SkiaDrawViewManager.mm +42 -0
  448. package/ios/RNSkia-iOS/SkiaManager.h +17 -0
  449. package/ios/RNSkia-iOS/SkiaManager.mm +50 -0
  450. package/ios/RNSkiaModule.h +11 -0
  451. package/ios/RNSkiaModule.mm +42 -0
  452. package/ios/Rnskia.xcodeproj/project.pbxproj +281 -0
  453. package/ios/Rnskia.xcworkspace/contents.xcworkspacedata +7 -0
  454. package/lib/commonjs/external/index.js +19 -0
  455. package/lib/commonjs/external/index.js.map +1 -0
  456. package/lib/commonjs/external/reanimated/index.js +19 -0
  457. package/lib/commonjs/external/reanimated/index.js.map +1 -0
  458. package/lib/commonjs/external/reanimated/useSharedValueEffect.js +86 -0
  459. package/lib/commonjs/external/reanimated/useSharedValueEffect.js.map +1 -0
  460. package/lib/commonjs/index.js +73 -0
  461. package/lib/commonjs/index.js.map +1 -0
  462. package/lib/commonjs/renderer/Canvas.js +186 -0
  463. package/lib/commonjs/renderer/Canvas.js.map +1 -0
  464. package/lib/commonjs/renderer/DependencyManager.js +70 -0
  465. package/lib/commonjs/renderer/DependencyManager.js.map +1 -0
  466. package/lib/commonjs/renderer/DrawingContext.js +6 -0
  467. package/lib/commonjs/renderer/DrawingContext.js.map +1 -0
  468. package/lib/commonjs/renderer/HostConfig.js +272 -0
  469. package/lib/commonjs/renderer/HostConfig.js.map +1 -0
  470. package/lib/commonjs/renderer/components/Blend.js +46 -0
  471. package/lib/commonjs/renderer/components/Blend.js.map +1 -0
  472. package/lib/commonjs/renderer/components/Compose.js +41 -0
  473. package/lib/commonjs/renderer/components/Compose.js.map +1 -0
  474. package/lib/commonjs/renderer/components/Defs.js +30 -0
  475. package/lib/commonjs/renderer/components/Defs.js.map +1 -0
  476. package/lib/commonjs/renderer/components/Group.js +73 -0
  477. package/lib/commonjs/renderer/components/Group.js.map +1 -0
  478. package/lib/commonjs/renderer/components/Mask.js +58 -0
  479. package/lib/commonjs/renderer/components/Mask.js.map +1 -0
  480. package/lib/commonjs/renderer/components/Paint.js +54 -0
  481. package/lib/commonjs/renderer/components/Paint.js.map +1 -0
  482. package/lib/commonjs/renderer/components/backdrop/BackdropBlur.js +33 -0
  483. package/lib/commonjs/renderer/components/backdrop/BackdropBlur.js.map +1 -0
  484. package/lib/commonjs/renderer/components/backdrop/BackdropFilter.js +54 -0
  485. package/lib/commonjs/renderer/components/backdrop/BackdropFilter.js.map +1 -0
  486. package/lib/commonjs/renderer/components/backdrop/index.js +32 -0
  487. package/lib/commonjs/renderer/components/backdrop/index.js.map +1 -0
  488. package/lib/commonjs/renderer/components/colorFilters/BlendColor.js +40 -0
  489. package/lib/commonjs/renderer/components/colorFilters/BlendColor.js.map +1 -0
  490. package/lib/commonjs/renderer/components/colorFilters/Compose.js +24 -0
  491. package/lib/commonjs/renderer/components/colorFilters/Compose.js.map +1 -0
  492. package/lib/commonjs/renderer/components/colorFilters/Lerp.js +40 -0
  493. package/lib/commonjs/renderer/components/colorFilters/Lerp.js.map +1 -0
  494. package/lib/commonjs/renderer/components/colorFilters/LinearToSRGBGamma.js +33 -0
  495. package/lib/commonjs/renderer/components/colorFilters/LinearToSRGBGamma.js.map +1 -0
  496. package/lib/commonjs/renderer/components/colorFilters/LumaColorFilter.js +33 -0
  497. package/lib/commonjs/renderer/components/colorFilters/LumaColorFilter.js.map +1 -0
  498. package/lib/commonjs/renderer/components/colorFilters/Matrix.js +41 -0
  499. package/lib/commonjs/renderer/components/colorFilters/Matrix.js.map +1 -0
  500. package/lib/commonjs/renderer/components/colorFilters/SRGBToLinearGamma.js +33 -0
  501. package/lib/commonjs/renderer/components/colorFilters/SRGBToLinearGamma.js.map +1 -0
  502. package/lib/commonjs/renderer/components/colorFilters/index.js +84 -0
  503. package/lib/commonjs/renderer/components/colorFilters/index.js.map +1 -0
  504. package/lib/commonjs/renderer/components/image/BoxFit.js +162 -0
  505. package/lib/commonjs/renderer/components/image/BoxFit.js.map +1 -0
  506. package/lib/commonjs/renderer/components/image/Image.js +55 -0
  507. package/lib/commonjs/renderer/components/image/Image.js.map +1 -0
  508. package/lib/commonjs/renderer/components/image/ImageSVG.js +45 -0
  509. package/lib/commonjs/renderer/components/image/ImageSVG.js.map +1 -0
  510. package/lib/commonjs/renderer/components/image/ImageShader.js +82 -0
  511. package/lib/commonjs/renderer/components/image/ImageShader.js.map +1 -0
  512. package/lib/commonjs/renderer/components/image/index.js +58 -0
  513. package/lib/commonjs/renderer/components/image/index.js.map +1 -0
  514. package/lib/commonjs/renderer/components/imageFilters/Blur.js +43 -0
  515. package/lib/commonjs/renderer/components/imageFilters/Blur.js.map +1 -0
  516. package/lib/commonjs/renderer/components/imageFilters/DisplacementMap.js +53 -0
  517. package/lib/commonjs/renderer/components/imageFilters/DisplacementMap.js.map +1 -0
  518. package/lib/commonjs/renderer/components/imageFilters/DropShadow.js +45 -0
  519. package/lib/commonjs/renderer/components/imageFilters/DropShadow.js.map +1 -0
  520. package/lib/commonjs/renderer/components/imageFilters/InnerShadow.js +60 -0
  521. package/lib/commonjs/renderer/components/imageFilters/InnerShadow.js.map +1 -0
  522. package/lib/commonjs/renderer/components/imageFilters/Morphology.js +43 -0
  523. package/lib/commonjs/renderer/components/imageFilters/Morphology.js.map +1 -0
  524. package/lib/commonjs/renderer/components/imageFilters/Offset.js +39 -0
  525. package/lib/commonjs/renderer/components/imageFilters/Offset.js.map +1 -0
  526. package/lib/commonjs/renderer/components/imageFilters/getInput.js +33 -0
  527. package/lib/commonjs/renderer/components/imageFilters/getInput.js.map +1 -0
  528. package/lib/commonjs/renderer/components/imageFilters/index.js +84 -0
  529. package/lib/commonjs/renderer/components/imageFilters/index.js.map +1 -0
  530. package/lib/commonjs/renderer/components/index.js +214 -0
  531. package/lib/commonjs/renderer/components/index.js.map +1 -0
  532. package/lib/commonjs/renderer/components/maskFilters/Blur.js +42 -0
  533. package/lib/commonjs/renderer/components/maskFilters/Blur.js.map +1 -0
  534. package/lib/commonjs/renderer/components/maskFilters/index.js +19 -0
  535. package/lib/commonjs/renderer/components/maskFilters/index.js.map +1 -0
  536. package/lib/commonjs/renderer/components/pathEffects/Corner.js +46 -0
  537. package/lib/commonjs/renderer/components/pathEffects/Corner.js.map +1 -0
  538. package/lib/commonjs/renderer/components/pathEffects/Dash.js +43 -0
  539. package/lib/commonjs/renderer/components/pathEffects/Dash.js.map +1 -0
  540. package/lib/commonjs/renderer/components/pathEffects/Discrete.js +47 -0
  541. package/lib/commonjs/renderer/components/pathEffects/Discrete.js.map +1 -0
  542. package/lib/commonjs/renderer/components/pathEffects/Line2D.js +47 -0
  543. package/lib/commonjs/renderer/components/pathEffects/Line2D.js.map +1 -0
  544. package/lib/commonjs/renderer/components/pathEffects/Path1D.js +53 -0
  545. package/lib/commonjs/renderer/components/pathEffects/Path1D.js.map +1 -0
  546. package/lib/commonjs/renderer/components/pathEffects/Path2D.js +49 -0
  547. package/lib/commonjs/renderer/components/pathEffects/Path2D.js.map +1 -0
  548. package/lib/commonjs/renderer/components/pathEffects/Sum.js +32 -0
  549. package/lib/commonjs/renderer/components/pathEffects/Sum.js.map +1 -0
  550. package/lib/commonjs/renderer/components/pathEffects/index.js +97 -0
  551. package/lib/commonjs/renderer/components/pathEffects/index.js.map +1 -0
  552. package/lib/commonjs/renderer/components/shaders/Color.js +32 -0
  553. package/lib/commonjs/renderer/components/shaders/Color.js.map +1 -0
  554. package/lib/commonjs/renderer/components/shaders/FractalNoise.js +42 -0
  555. package/lib/commonjs/renderer/components/shaders/FractalNoise.js.map +1 -0
  556. package/lib/commonjs/renderer/components/shaders/Gradient.js +32 -0
  557. package/lib/commonjs/renderer/components/shaders/Gradient.js.map +1 -0
  558. package/lib/commonjs/renderer/components/shaders/LinearGradient.js +43 -0
  559. package/lib/commonjs/renderer/components/shaders/LinearGradient.js.map +1 -0
  560. package/lib/commonjs/renderer/components/shaders/RadialGradient.js +43 -0
  561. package/lib/commonjs/renderer/components/shaders/RadialGradient.js.map +1 -0
  562. package/lib/commonjs/renderer/components/shaders/Shader.js +80 -0
  563. package/lib/commonjs/renderer/components/shaders/Shader.js.map +1 -0
  564. package/lib/commonjs/renderer/components/shaders/ShaderLib.js +52 -0
  565. package/lib/commonjs/renderer/components/shaders/ShaderLib.js.map +1 -0
  566. package/lib/commonjs/renderer/components/shaders/SweepGradient.js +44 -0
  567. package/lib/commonjs/renderer/components/shaders/SweepGradient.js.map +1 -0
  568. package/lib/commonjs/renderer/components/shaders/Turbulence.js +42 -0
  569. package/lib/commonjs/renderer/components/shaders/Turbulence.js.map +1 -0
  570. package/lib/commonjs/renderer/components/shaders/TwoPointConicalGradient.js +45 -0
  571. package/lib/commonjs/renderer/components/shaders/TwoPointConicalGradient.js.map +1 -0
  572. package/lib/commonjs/renderer/components/shaders/index.js +123 -0
  573. package/lib/commonjs/renderer/components/shaders/index.js.map +1 -0
  574. package/lib/commonjs/renderer/components/shapes/Circle.js +42 -0
  575. package/lib/commonjs/renderer/components/shapes/Circle.js.map +1 -0
  576. package/lib/commonjs/renderer/components/shapes/DiffRect.js +35 -0
  577. package/lib/commonjs/renderer/components/shapes/DiffRect.js.map +1 -0
  578. package/lib/commonjs/renderer/components/shapes/Fill.js +31 -0
  579. package/lib/commonjs/renderer/components/shapes/Fill.js.map +1 -0
  580. package/lib/commonjs/renderer/components/shapes/FitBox.js +38 -0
  581. package/lib/commonjs/renderer/components/shapes/FitBox.js.map +1 -0
  582. package/lib/commonjs/renderer/components/shapes/Line.js +35 -0
  583. package/lib/commonjs/renderer/components/shapes/Line.js.map +1 -0
  584. package/lib/commonjs/renderer/components/shapes/Oval.js +38 -0
  585. package/lib/commonjs/renderer/components/shapes/Oval.js.map +1 -0
  586. package/lib/commonjs/renderer/components/shapes/Patch.js +52 -0
  587. package/lib/commonjs/renderer/components/shapes/Patch.js.map +1 -0
  588. package/lib/commonjs/renderer/components/shapes/Path.js +58 -0
  589. package/lib/commonjs/renderer/components/shapes/Path.js.map +1 -0
  590. package/lib/commonjs/renderer/components/shapes/Points.js +45 -0
  591. package/lib/commonjs/renderer/components/shapes/Points.js.map +1 -0
  592. package/lib/commonjs/renderer/components/shapes/Rect.js +34 -0
  593. package/lib/commonjs/renderer/components/shapes/Rect.js.map +1 -0
  594. package/lib/commonjs/renderer/components/shapes/RoundedRect.js +37 -0
  595. package/lib/commonjs/renderer/components/shapes/RoundedRect.js.map +1 -0
  596. package/lib/commonjs/renderer/components/shapes/Vertices.js +54 -0
  597. package/lib/commonjs/renderer/components/shapes/Vertices.js.map +1 -0
  598. package/lib/commonjs/renderer/components/shapes/index.js +162 -0
  599. package/lib/commonjs/renderer/components/shapes/index.js.map +1 -0
  600. package/lib/commonjs/renderer/components/text/Glyphs.js +60 -0
  601. package/lib/commonjs/renderer/components/text/Glyphs.js.map +1 -0
  602. package/lib/commonjs/renderer/components/text/Text.js +45 -0
  603. package/lib/commonjs/renderer/components/text/Text.js.map +1 -0
  604. package/lib/commonjs/renderer/components/text/TextBlob.js +40 -0
  605. package/lib/commonjs/renderer/components/text/TextBlob.js.map +1 -0
  606. package/lib/commonjs/renderer/components/text/TextPath.js +95 -0
  607. package/lib/commonjs/renderer/components/text/TextPath.js.map +1 -0
  608. package/lib/commonjs/renderer/components/text/index.js +58 -0
  609. package/lib/commonjs/renderer/components/text/index.js.map +1 -0
  610. package/lib/commonjs/renderer/index.js +45 -0
  611. package/lib/commonjs/renderer/index.js.map +1 -0
  612. package/lib/commonjs/renderer/nodes/Container.js +28 -0
  613. package/lib/commonjs/renderer/nodes/Container.js.map +1 -0
  614. package/lib/commonjs/renderer/nodes/Declaration.js +47 -0
  615. package/lib/commonjs/renderer/nodes/Declaration.js.map +1 -0
  616. package/lib/commonjs/renderer/nodes/Drawing.js +75 -0
  617. package/lib/commonjs/renderer/nodes/Drawing.js.map +1 -0
  618. package/lib/commonjs/renderer/nodes/Node.js +78 -0
  619. package/lib/commonjs/renderer/nodes/Node.js.map +1 -0
  620. package/lib/commonjs/renderer/nodes/index.js +58 -0
  621. package/lib/commonjs/renderer/nodes/index.js.map +1 -0
  622. package/lib/commonjs/renderer/processors/Animations/Animations.js +52 -0
  623. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -0
  624. package/lib/commonjs/renderer/processors/Animations/index.js +19 -0
  625. package/lib/commonjs/renderer/processors/Animations/index.js.map +1 -0
  626. package/lib/commonjs/renderer/processors/Circles.js +25 -0
  627. package/lib/commonjs/renderer/processors/Circles.js.map +1 -0
  628. package/lib/commonjs/renderer/processors/Clips.js +24 -0
  629. package/lib/commonjs/renderer/processors/Clips.js.map +1 -0
  630. package/lib/commonjs/renderer/processors/Font.js +39 -0
  631. package/lib/commonjs/renderer/processors/Font.js.map +1 -0
  632. package/lib/commonjs/renderer/processors/Paint.js +91 -0
  633. package/lib/commonjs/renderer/processors/Paint.js.map +1 -0
  634. package/lib/commonjs/renderer/processors/Paths.js +26 -0
  635. package/lib/commonjs/renderer/processors/Paths.js.map +1 -0
  636. package/lib/commonjs/renderer/processors/Radius.js +19 -0
  637. package/lib/commonjs/renderer/processors/Radius.js.map +1 -0
  638. package/lib/commonjs/renderer/processors/Rects.js +98 -0
  639. package/lib/commonjs/renderer/processors/Rects.js.map +1 -0
  640. package/lib/commonjs/renderer/processors/Transform.js +56 -0
  641. package/lib/commonjs/renderer/processors/Transform.js.map +1 -0
  642. package/lib/commonjs/renderer/processors/index.js +136 -0
  643. package/lib/commonjs/renderer/processors/index.js.map +1 -0
  644. package/lib/commonjs/renderer/processors/math/Coordinates.js +43 -0
  645. package/lib/commonjs/renderer/processors/math/Coordinates.js.map +1 -0
  646. package/lib/commonjs/renderer/processors/math/Math.js +11 -0
  647. package/lib/commonjs/renderer/processors/math/Math.js.map +1 -0
  648. package/lib/commonjs/renderer/processors/math/Matrix3.js +81 -0
  649. package/lib/commonjs/renderer/processors/math/Matrix3.js.map +1 -0
  650. package/lib/commonjs/renderer/processors/math/Transforms.js +22 -0
  651. package/lib/commonjs/renderer/processors/math/Transforms.js.map +1 -0
  652. package/lib/commonjs/renderer/processors/math/Vector.js +61 -0
  653. package/lib/commonjs/renderer/processors/math/Vector.js.map +1 -0
  654. package/lib/commonjs/renderer/processors/math/index.js +71 -0
  655. package/lib/commonjs/renderer/processors/math/index.js.map +1 -0
  656. package/lib/commonjs/renderer/typeddash.js +17 -0
  657. package/lib/commonjs/renderer/typeddash.js.map +1 -0
  658. package/lib/commonjs/skia/Canvas.js +22 -0
  659. package/lib/commonjs/skia/Canvas.js.map +1 -0
  660. package/lib/commonjs/skia/Color.js +77 -0
  661. package/lib/commonjs/skia/Color.js.map +1 -0
  662. package/lib/commonjs/skia/ColorFilter/ColorFilter.js +11 -0
  663. package/lib/commonjs/skia/ColorFilter/ColorFilter.js.map +1 -0
  664. package/lib/commonjs/skia/ColorFilter/ColorFilterFactory.js +6 -0
  665. package/lib/commonjs/skia/ColorFilter/ColorFilterFactory.js.map +1 -0
  666. package/lib/commonjs/skia/ColorFilter/index.js +32 -0
  667. package/lib/commonjs/skia/ColorFilter/index.js.map +1 -0
  668. package/lib/commonjs/skia/ContourMeasure.js +6 -0
  669. package/lib/commonjs/skia/ContourMeasure.js.map +1 -0
  670. package/lib/commonjs/skia/Data/Data.js +53 -0
  671. package/lib/commonjs/skia/Data/Data.js.map +1 -0
  672. package/lib/commonjs/skia/Data/DataFactory.js +6 -0
  673. package/lib/commonjs/skia/Data/DataFactory.js.map +1 -0
  674. package/lib/commonjs/skia/Data/index.js +32 -0
  675. package/lib/commonjs/skia/Data/index.js.map +1 -0
  676. package/lib/commonjs/skia/Font/Font.js +81 -0
  677. package/lib/commonjs/skia/Font/Font.js.map +1 -0
  678. package/lib/commonjs/skia/Font/index.js +32 -0
  679. package/lib/commonjs/skia/Font/index.js.map +1 -0
  680. package/lib/commonjs/skia/Font/useFont.js +36 -0
  681. package/lib/commonjs/skia/Font/useFont.js.map +1 -0
  682. package/lib/commonjs/skia/FontMgr/FontMgr.js +6 -0
  683. package/lib/commonjs/skia/FontMgr/FontMgr.js.map +1 -0
  684. package/lib/commonjs/skia/FontMgr/FontMgrFactory.js +6 -0
  685. package/lib/commonjs/skia/FontMgr/FontMgrFactory.js.map +1 -0
  686. package/lib/commonjs/skia/FontMgr/index.js +19 -0
  687. package/lib/commonjs/skia/FontMgr/index.js.map +1 -0
  688. package/lib/commonjs/skia/Image/Image.js +32 -0
  689. package/lib/commonjs/skia/Image/Image.js.map +1 -0
  690. package/lib/commonjs/skia/Image/ImageFactory.js +46 -0
  691. package/lib/commonjs/skia/Image/ImageFactory.js.map +1 -0
  692. package/lib/commonjs/skia/Image/index.js +45 -0
  693. package/lib/commonjs/skia/Image/index.js.map +1 -0
  694. package/lib/commonjs/skia/Image/useImage.js +18 -0
  695. package/lib/commonjs/skia/Image/useImage.js.map +1 -0
  696. package/lib/commonjs/skia/ImageFilter/ImageFilter.js +20 -0
  697. package/lib/commonjs/skia/ImageFilter/ImageFilter.js.map +1 -0
  698. package/lib/commonjs/skia/ImageFilter/ImageFilterFactory.js +16 -0
  699. package/lib/commonjs/skia/ImageFilter/ImageFilterFactory.js.map +1 -0
  700. package/lib/commonjs/skia/ImageFilter/index.js +32 -0
  701. package/lib/commonjs/skia/ImageFilter/index.js.map +1 -0
  702. package/lib/commonjs/skia/JsiInstance.js +2 -0
  703. package/lib/commonjs/skia/JsiInstance.js.map +1 -0
  704. package/lib/commonjs/skia/MaskFilter.js +20 -0
  705. package/lib/commonjs/skia/MaskFilter.js.map +1 -0
  706. package/lib/commonjs/skia/Matrix.js +21 -0
  707. package/lib/commonjs/skia/Matrix.js.map +1 -0
  708. package/lib/commonjs/skia/NativeSetup.js +19 -0
  709. package/lib/commonjs/skia/NativeSetup.js.map +1 -0
  710. package/lib/commonjs/skia/Paint/BlendMode.js +69 -0
  711. package/lib/commonjs/skia/Paint/BlendMode.js.map +1 -0
  712. package/lib/commonjs/skia/Paint/Paint.js +36 -0
  713. package/lib/commonjs/skia/Paint/Paint.js.map +1 -0
  714. package/lib/commonjs/skia/Paint/index.js +45 -0
  715. package/lib/commonjs/skia/Paint/index.js.map +1 -0
  716. package/lib/commonjs/skia/Paint/usePaint.js +28 -0
  717. package/lib/commonjs/skia/Paint/usePaint.js.map +1 -0
  718. package/lib/commonjs/skia/Path/Path.js +35 -0
  719. package/lib/commonjs/skia/Path/Path.js.map +1 -0
  720. package/lib/commonjs/skia/Path/PathFactory.js +6 -0
  721. package/lib/commonjs/skia/Path/PathFactory.js.map +1 -0
  722. package/lib/commonjs/skia/Path/index.js +45 -0
  723. package/lib/commonjs/skia/Path/index.js.map +1 -0
  724. package/lib/commonjs/skia/Path/usePath.js +60 -0
  725. package/lib/commonjs/skia/Path/usePath.js.map +1 -0
  726. package/lib/commonjs/skia/PathEffect.js +19 -0
  727. package/lib/commonjs/skia/PathEffect.js.map +1 -0
  728. package/lib/commonjs/skia/Point.js +15 -0
  729. package/lib/commonjs/skia/Point.js.map +1 -0
  730. package/lib/commonjs/skia/RRect.js +6 -0
  731. package/lib/commonjs/skia/RRect.js.map +1 -0
  732. package/lib/commonjs/skia/RSXform.js +6 -0
  733. package/lib/commonjs/skia/RSXform.js.map +1 -0
  734. package/lib/commonjs/skia/Rect.js +2 -0
  735. package/lib/commonjs/skia/Rect.js.map +1 -0
  736. package/lib/commonjs/skia/RuntimeEffect/RuntimeEffect.js +6 -0
  737. package/lib/commonjs/skia/RuntimeEffect/RuntimeEffect.js.map +1 -0
  738. package/lib/commonjs/skia/RuntimeEffect/RuntimeEffectFactory.js +6 -0
  739. package/lib/commonjs/skia/RuntimeEffect/RuntimeEffectFactory.js.map +1 -0
  740. package/lib/commonjs/skia/RuntimeEffect/index.js +32 -0
  741. package/lib/commonjs/skia/RuntimeEffect/index.js.map +1 -0
  742. package/lib/commonjs/skia/SVG/SVG.js +6 -0
  743. package/lib/commonjs/skia/SVG/SVG.js.map +1 -0
  744. package/lib/commonjs/skia/SVG/SVGFactory.js +6 -0
  745. package/lib/commonjs/skia/SVG/SVGFactory.js.map +1 -0
  746. package/lib/commonjs/skia/SVG/index.js +45 -0
  747. package/lib/commonjs/skia/SVG/index.js.map +1 -0
  748. package/lib/commonjs/skia/SVG/useSvg.js +15 -0
  749. package/lib/commonjs/skia/SVG/useSvg.js.map +1 -0
  750. package/lib/commonjs/skia/Shader/Shader.js +11 -0
  751. package/lib/commonjs/skia/Shader/Shader.js.map +1 -0
  752. package/lib/commonjs/skia/Shader/ShaderFactory.js +6 -0
  753. package/lib/commonjs/skia/Shader/ShaderFactory.js.map +1 -0
  754. package/lib/commonjs/skia/Shader/index.js +45 -0
  755. package/lib/commonjs/skia/Shader/index.js.map +1 -0
  756. package/lib/commonjs/skia/Shader/useShader.js +15 -0
  757. package/lib/commonjs/skia/Shader/useShader.js.map +1 -0
  758. package/lib/commonjs/skia/Skia.js +49 -0
  759. package/lib/commonjs/skia/Skia.js.map +1 -0
  760. package/lib/commonjs/skia/Surface/Surface.js +6 -0
  761. package/lib/commonjs/skia/Surface/Surface.js.map +1 -0
  762. package/lib/commonjs/skia/Surface/SurfaceFactory.js +6 -0
  763. package/lib/commonjs/skia/Surface/SurfaceFactory.js.map +1 -0
  764. package/lib/commonjs/skia/Surface/index.js +32 -0
  765. package/lib/commonjs/skia/Surface/index.js.map +1 -0
  766. package/lib/commonjs/skia/TextBlob.js +6 -0
  767. package/lib/commonjs/skia/TextBlob.js.map +1 -0
  768. package/lib/commonjs/skia/Typeface/Typeface.js +6 -0
  769. package/lib/commonjs/skia/Typeface/Typeface.js.map +1 -0
  770. package/lib/commonjs/skia/Typeface/TypefaceFactory.js +6 -0
  771. package/lib/commonjs/skia/Typeface/TypefaceFactory.js.map +1 -0
  772. package/lib/commonjs/skia/Typeface/index.js +45 -0
  773. package/lib/commonjs/skia/Typeface/index.js.map +1 -0
  774. package/lib/commonjs/skia/Typeface/useTypeface.js +18 -0
  775. package/lib/commonjs/skia/Typeface/useTypeface.js.map +1 -0
  776. package/lib/commonjs/skia/Vertices/Vertices.js +15 -0
  777. package/lib/commonjs/skia/Vertices/Vertices.js.map +1 -0
  778. package/lib/commonjs/skia/Vertices/index.js +19 -0
  779. package/lib/commonjs/skia/Vertices/index.js.map +1 -0
  780. package/lib/commonjs/skia/index.js +311 -0
  781. package/lib/commonjs/skia/index.js.map +1 -0
  782. package/lib/commonjs/values/animation/decay/decay.js +42 -0
  783. package/lib/commonjs/values/animation/decay/decay.js.map +1 -0
  784. package/lib/commonjs/values/animation/decay/index.js +14 -0
  785. package/lib/commonjs/values/animation/decay/index.js.map +1 -0
  786. package/lib/commonjs/values/animation/decay/runDecay.js +48 -0
  787. package/lib/commonjs/values/animation/decay/runDecay.js.map +1 -0
  788. package/lib/commonjs/values/animation/decay/types.js +6 -0
  789. package/lib/commonjs/values/animation/decay/types.js.map +1 -0
  790. package/lib/commonjs/values/animation/functions/index.js +28 -0
  791. package/lib/commonjs/values/animation/functions/index.js.map +1 -0
  792. package/lib/commonjs/values/animation/functions/interpolate.js +139 -0
  793. package/lib/commonjs/values/animation/functions/interpolate.js.map +1 -0
  794. package/lib/commonjs/values/animation/functions/interpolateColors.js +47 -0
  795. package/lib/commonjs/values/animation/functions/interpolateColors.js.map +1 -0
  796. package/lib/commonjs/values/animation/index.js +58 -0
  797. package/lib/commonjs/values/animation/index.js.map +1 -0
  798. package/lib/commonjs/values/animation/spring/Spring.js +77 -0
  799. package/lib/commonjs/values/animation/spring/Spring.js.map +1 -0
  800. package/lib/commonjs/values/animation/spring/functions/index.js +14 -0
  801. package/lib/commonjs/values/animation/spring/functions/index.js.map +1 -0
  802. package/lib/commonjs/values/animation/spring/functions/spring.js +94 -0
  803. package/lib/commonjs/values/animation/spring/functions/spring.js.map +1 -0
  804. package/lib/commonjs/values/animation/spring/index.js +30 -0
  805. package/lib/commonjs/values/animation/spring/index.js.map +1 -0
  806. package/lib/commonjs/values/animation/spring/runSpring.js +32 -0
  807. package/lib/commonjs/values/animation/spring/runSpring.js.map +1 -0
  808. package/lib/commonjs/values/animation/spring/types.js +2 -0
  809. package/lib/commonjs/values/animation/spring/types.js.map +1 -0
  810. package/lib/commonjs/values/animation/spring/useSpring.js +24 -0
  811. package/lib/commonjs/values/animation/spring/useSpring.js.map +1 -0
  812. package/lib/commonjs/values/animation/timing/Easing.js +108 -0
  813. package/lib/commonjs/values/animation/timing/Easing.js.map +1 -0
  814. package/lib/commonjs/values/animation/timing/createTiming.js +59 -0
  815. package/lib/commonjs/values/animation/timing/createTiming.js.map +1 -0
  816. package/lib/commonjs/values/animation/timing/functions/bezier.js +147 -0
  817. package/lib/commonjs/values/animation/timing/functions/bezier.js.map +1 -0
  818. package/lib/commonjs/values/animation/timing/functions/getResolvedParams.js +56 -0
  819. package/lib/commonjs/values/animation/timing/functions/getResolvedParams.js.map +1 -0
  820. package/lib/commonjs/values/animation/timing/functions/index.js +54 -0
  821. package/lib/commonjs/values/animation/timing/functions/index.js.map +1 -0
  822. package/lib/commonjs/values/animation/timing/functions/timing.js +50 -0
  823. package/lib/commonjs/values/animation/timing/functions/timing.js.map +1 -0
  824. package/lib/commonjs/values/animation/timing/functions/types.js +2 -0
  825. package/lib/commonjs/values/animation/timing/functions/types.js.map +1 -0
  826. package/lib/commonjs/values/animation/timing/index.js +38 -0
  827. package/lib/commonjs/values/animation/timing/index.js.map +1 -0
  828. package/lib/commonjs/values/animation/timing/runTiming.js +33 -0
  829. package/lib/commonjs/values/animation/timing/runTiming.js.map +1 -0
  830. package/lib/commonjs/values/animation/timing/useLoop.js +22 -0
  831. package/lib/commonjs/values/animation/timing/useLoop.js.map +1 -0
  832. package/lib/commonjs/values/animation/timing/useTiming.js +66 -0
  833. package/lib/commonjs/values/animation/timing/useTiming.js.map +1 -0
  834. package/lib/commonjs/values/animation/types.js +2 -0
  835. package/lib/commonjs/values/animation/types.js.map +1 -0
  836. package/lib/commonjs/values/api.js +20 -0
  837. package/lib/commonjs/values/api.js.map +1 -0
  838. package/lib/commonjs/values/hooks/index.js +58 -0
  839. package/lib/commonjs/values/hooks/index.js.map +1 -0
  840. package/lib/commonjs/values/hooks/useClockValue.js +27 -0
  841. package/lib/commonjs/values/hooks/useClockValue.js.map +1 -0
  842. package/lib/commonjs/values/hooks/useDerivedValue.js +25 -0
  843. package/lib/commonjs/values/hooks/useDerivedValue.js.map +1 -0
  844. package/lib/commonjs/values/hooks/useValue.js +23 -0
  845. package/lib/commonjs/values/hooks/useValue.js.map +1 -0
  846. package/lib/commonjs/values/hooks/useValueEffect.js +22 -0
  847. package/lib/commonjs/values/hooks/useValueEffect.js.map +1 -0
  848. package/lib/commonjs/values/index.js +58 -0
  849. package/lib/commonjs/values/index.js.map +1 -0
  850. package/lib/commonjs/values/types.js +2 -0
  851. package/lib/commonjs/values/types.js.map +1 -0
  852. package/lib/commonjs/views/SkiaView.js +163 -0
  853. package/lib/commonjs/views/SkiaView.js.map +1 -0
  854. package/lib/commonjs/views/index.js +58 -0
  855. package/lib/commonjs/views/index.js.map +1 -0
  856. package/lib/commonjs/views/types.js +16 -0
  857. package/lib/commonjs/views/types.js.map +1 -0
  858. package/lib/commonjs/views/useDrawCallback.js +23 -0
  859. package/lib/commonjs/views/useDrawCallback.js.map +1 -0
  860. package/lib/commonjs/views/useTouchHandler.js +75 -0
  861. package/lib/commonjs/views/useTouchHandler.js.map +1 -0
  862. package/lib/module/external/index.js +2 -0
  863. package/lib/module/external/index.js.map +1 -0
  864. package/lib/module/external/reanimated/index.js +2 -0
  865. package/lib/module/external/reanimated/index.js.map +1 -0
  866. package/lib/module/external/reanimated/useSharedValueEffect.js +81 -0
  867. package/lib/module/external/reanimated/useSharedValueEffect.js.map +1 -0
  868. package/lib/module/index.js +7 -0
  869. package/lib/module/index.js.map +1 -0
  870. package/lib/module/renderer/Canvas.js +149 -0
  871. package/lib/module/renderer/Canvas.js.map +1 -0
  872. package/lib/module/renderer/DependencyManager.js +60 -0
  873. package/lib/module/renderer/DependencyManager.js.map +1 -0
  874. package/lib/module/renderer/DrawingContext.js +2 -0
  875. package/lib/module/renderer/DrawingContext.js.map +1 -0
  876. package/lib/module/renderer/HostConfig.js +259 -0
  877. package/lib/module/renderer/HostConfig.js.map +1 -0
  878. package/lib/module/renderer/components/Blend.js +28 -0
  879. package/lib/module/renderer/components/Blend.js.map +1 -0
  880. package/lib/module/renderer/components/Compose.js +24 -0
  881. package/lib/module/renderer/components/Compose.js.map +1 -0
  882. package/lib/module/renderer/components/Defs.js +16 -0
  883. package/lib/module/renderer/components/Defs.js.map +1 -0
  884. package/lib/module/renderer/components/Group.js +58 -0
  885. package/lib/module/renderer/components/Group.js.map +1 -0
  886. package/lib/module/renderer/components/Mask.js +40 -0
  887. package/lib/module/renderer/components/Mask.js.map +1 -0
  888. package/lib/module/renderer/components/Paint.js +36 -0
  889. package/lib/module/renderer/components/Paint.js.map +1 -0
  890. package/lib/module/renderer/components/backdrop/BackdropBlur.js +19 -0
  891. package/lib/module/renderer/components/backdrop/BackdropBlur.js.map +1 -0
  892. package/lib/module/renderer/components/backdrop/BackdropFilter.js +39 -0
  893. package/lib/module/renderer/components/backdrop/BackdropFilter.js.map +1 -0
  894. package/lib/module/renderer/components/backdrop/index.js +3 -0
  895. package/lib/module/renderer/components/backdrop/index.js.map +1 -0
  896. package/lib/module/renderer/components/colorFilters/BlendColor.js +21 -0
  897. package/lib/module/renderer/components/colorFilters/BlendColor.js.map +1 -0
  898. package/lib/module/renderer/components/colorFilters/Compose.js +14 -0
  899. package/lib/module/renderer/components/colorFilters/Compose.js.map +1 -0
  900. package/lib/module/renderer/components/colorFilters/Lerp.js +21 -0
  901. package/lib/module/renderer/components/colorFilters/Lerp.js.map +1 -0
  902. package/lib/module/renderer/components/colorFilters/LinearToSRGBGamma.js +17 -0
  903. package/lib/module/renderer/components/colorFilters/LinearToSRGBGamma.js.map +1 -0
  904. package/lib/module/renderer/components/colorFilters/LumaColorFilter.js +17 -0
  905. package/lib/module/renderer/components/colorFilters/LumaColorFilter.js.map +1 -0
  906. package/lib/module/renderer/components/colorFilters/Matrix.js +20 -0
  907. package/lib/module/renderer/components/colorFilters/Matrix.js.map +1 -0
  908. package/lib/module/renderer/components/colorFilters/SRGBToLinearGamma.js +17 -0
  909. package/lib/module/renderer/components/colorFilters/SRGBToLinearGamma.js.map +1 -0
  910. package/lib/module/renderer/components/colorFilters/index.js +7 -0
  911. package/lib/module/renderer/components/colorFilters/index.js.map +1 -0
  912. package/lib/module/renderer/components/image/BoxFit.js +145 -0
  913. package/lib/module/renderer/components/image/BoxFit.js.map +1 -0
  914. package/lib/module/renderer/components/image/Image.js +39 -0
  915. package/lib/module/renderer/components/image/Image.js.map +1 -0
  916. package/lib/module/renderer/components/image/ImageSVG.js +30 -0
  917. package/lib/module/renderer/components/image/ImageSVG.js.map +1 -0
  918. package/lib/module/renderer/components/image/ImageShader.js +66 -0
  919. package/lib/module/renderer/components/image/ImageShader.js.map +1 -0
  920. package/lib/module/renderer/components/image/index.js +5 -0
  921. package/lib/module/renderer/components/image/index.js.map +1 -0
  922. package/lib/module/renderer/components/imageFilters/Blur.js +25 -0
  923. package/lib/module/renderer/components/imageFilters/Blur.js.map +1 -0
  924. package/lib/module/renderer/components/imageFilters/DisplacementMap.js +32 -0
  925. package/lib/module/renderer/components/imageFilters/DisplacementMap.js.map +1 -0
  926. package/lib/module/renderer/components/imageFilters/DropShadow.js +28 -0
  927. package/lib/module/renderer/components/imageFilters/DropShadow.js.map +1 -0
  928. package/lib/module/renderer/components/imageFilters/InnerShadow.js +38 -0
  929. package/lib/module/renderer/components/imageFilters/InnerShadow.js.map +1 -0
  930. package/lib/module/renderer/components/imageFilters/Morphology.js +26 -0
  931. package/lib/module/renderer/components/imageFilters/Morphology.js.map +1 -0
  932. package/lib/module/renderer/components/imageFilters/Offset.js +23 -0
  933. package/lib/module/renderer/components/imageFilters/Offset.js.map +1 -0
  934. package/lib/module/renderer/components/imageFilters/getInput.js +23 -0
  935. package/lib/module/renderer/components/imageFilters/getInput.js.map +1 -0
  936. package/lib/module/renderer/components/imageFilters/index.js +7 -0
  937. package/lib/module/renderer/components/imageFilters/index.js.map +1 -0
  938. package/lib/module/renderer/components/index.js +17 -0
  939. package/lib/module/renderer/components/index.js.map +1 -0
  940. package/lib/module/renderer/components/maskFilters/Blur.js +25 -0
  941. package/lib/module/renderer/components/maskFilters/Blur.js.map +1 -0
  942. package/lib/module/renderer/components/maskFilters/index.js +2 -0
  943. package/lib/module/renderer/components/maskFilters/index.js.map +1 -0
  944. package/lib/module/renderer/components/pathEffects/Corner.js +29 -0
  945. package/lib/module/renderer/components/pathEffects/Corner.js.map +1 -0
  946. package/lib/module/renderer/components/pathEffects/Dash.js +26 -0
  947. package/lib/module/renderer/components/pathEffects/Dash.js.map +1 -0
  948. package/lib/module/renderer/components/pathEffects/Discrete.js +30 -0
  949. package/lib/module/renderer/components/pathEffects/Discrete.js.map +1 -0
  950. package/lib/module/renderer/components/pathEffects/Line2D.js +30 -0
  951. package/lib/module/renderer/components/pathEffects/Line2D.js.map +1 -0
  952. package/lib/module/renderer/components/pathEffects/Path1D.js +34 -0
  953. package/lib/module/renderer/components/pathEffects/Path1D.js.map +1 -0
  954. package/lib/module/renderer/components/pathEffects/Path2D.js +31 -0
  955. package/lib/module/renderer/components/pathEffects/Path2D.js.map +1 -0
  956. package/lib/module/renderer/components/pathEffects/Sum.js +16 -0
  957. package/lib/module/renderer/components/pathEffects/Sum.js.map +1 -0
  958. package/lib/module/renderer/components/pathEffects/index.js +8 -0
  959. package/lib/module/renderer/components/pathEffects/index.js.map +1 -0
  960. package/lib/module/renderer/components/shaders/Color.js +17 -0
  961. package/lib/module/renderer/components/shaders/Color.js.map +1 -0
  962. package/lib/module/renderer/components/shaders/FractalNoise.js +27 -0
  963. package/lib/module/renderer/components/shaders/FractalNoise.js.map +1 -0
  964. package/lib/module/renderer/components/shaders/Gradient.js +20 -0
  965. package/lib/module/renderer/components/shaders/Gradient.js.map +1 -0
  966. package/lib/module/renderer/components/shaders/LinearGradient.js +27 -0
  967. package/lib/module/renderer/components/shaders/LinearGradient.js.map +1 -0
  968. package/lib/module/renderer/components/shaders/RadialGradient.js +27 -0
  969. package/lib/module/renderer/components/shaders/RadialGradient.js.map +1 -0
  970. package/lib/module/renderer/components/shaders/Shader.js +64 -0
  971. package/lib/module/renderer/components/shaders/Shader.js.map +1 -0
  972. package/lib/module/renderer/components/shaders/ShaderLib.js +45 -0
  973. package/lib/module/renderer/components/shaders/ShaderLib.js.map +1 -0
  974. package/lib/module/renderer/components/shaders/SweepGradient.js +28 -0
  975. package/lib/module/renderer/components/shaders/SweepGradient.js.map +1 -0
  976. package/lib/module/renderer/components/shaders/Turbulence.js +27 -0
  977. package/lib/module/renderer/components/shaders/Turbulence.js.map +1 -0
  978. package/lib/module/renderer/components/shaders/TwoPointConicalGradient.js +29 -0
  979. package/lib/module/renderer/components/shaders/TwoPointConicalGradient.js.map +1 -0
  980. package/lib/module/renderer/components/shaders/index.js +10 -0
  981. package/lib/module/renderer/components/shaders/index.js.map +1 -0
  982. package/lib/module/renderer/components/shapes/Circle.js +26 -0
  983. package/lib/module/renderer/components/shapes/Circle.js.map +1 -0
  984. package/lib/module/renderer/components/shapes/DiffRect.js +21 -0
  985. package/lib/module/renderer/components/shapes/DiffRect.js.map +1 -0
  986. package/lib/module/renderer/components/shapes/Fill.js +17 -0
  987. package/lib/module/renderer/components/shapes/Fill.js.map +1 -0
  988. package/lib/module/renderer/components/shapes/FitBox.js +22 -0
  989. package/lib/module/renderer/components/shapes/FitBox.js.map +1 -0
  990. package/lib/module/renderer/components/shapes/Line.js +21 -0
  991. package/lib/module/renderer/components/shapes/Line.js.map +1 -0
  992. package/lib/module/renderer/components/shapes/Oval.js +23 -0
  993. package/lib/module/renderer/components/shapes/Oval.js.map +1 -0
  994. package/lib/module/renderer/components/shapes/Patch.js +35 -0
  995. package/lib/module/renderer/components/shapes/Patch.js.map +1 -0
  996. package/lib/module/renderer/components/shapes/Path.js +43 -0
  997. package/lib/module/renderer/components/shapes/Path.js.map +1 -0
  998. package/lib/module/renderer/components/shapes/Points.js +27 -0
  999. package/lib/module/renderer/components/shapes/Points.js.map +1 -0
  1000. package/lib/module/renderer/components/shapes/Rect.js +19 -0
  1001. package/lib/module/renderer/components/shapes/Rect.js.map +1 -0
  1002. package/lib/module/renderer/components/shapes/RoundedRect.js +22 -0
  1003. package/lib/module/renderer/components/shapes/RoundedRect.js.map +1 -0
  1004. package/lib/module/renderer/components/shapes/Vertices.js +36 -0
  1005. package/lib/module/renderer/components/shapes/Vertices.js.map +1 -0
  1006. package/lib/module/renderer/components/shapes/index.js +13 -0
  1007. package/lib/module/renderer/components/shapes/index.js.map +1 -0
  1008. package/lib/module/renderer/components/text/Glyphs.js +45 -0
  1009. package/lib/module/renderer/components/text/Glyphs.js.map +1 -0
  1010. package/lib/module/renderer/components/text/Text.js +30 -0
  1011. package/lib/module/renderer/components/text/Text.js.map +1 -0
  1012. package/lib/module/renderer/components/text/TextBlob.js +26 -0
  1013. package/lib/module/renderer/components/text/TextBlob.js.map +1 -0
  1014. package/lib/module/renderer/components/text/TextPath.js +76 -0
  1015. package/lib/module/renderer/components/text/TextPath.js.map +1 -0
  1016. package/lib/module/renderer/components/text/index.js +5 -0
  1017. package/lib/module/renderer/components/text/index.js.map +1 -0
  1018. package/lib/module/renderer/index.js +4 -0
  1019. package/lib/module/renderer/index.js.map +1 -0
  1020. package/lib/module/renderer/nodes/Container.js +18 -0
  1021. package/lib/module/renderer/nodes/Container.js.map +1 -0
  1022. package/lib/module/renderer/nodes/Declaration.js +33 -0
  1023. package/lib/module/renderer/nodes/Declaration.js.map +1 -0
  1024. package/lib/module/renderer/nodes/Drawing.js +53 -0
  1025. package/lib/module/renderer/nodes/Drawing.js.map +1 -0
  1026. package/lib/module/renderer/nodes/Node.js +67 -0
  1027. package/lib/module/renderer/nodes/Node.js.map +1 -0
  1028. package/lib/module/renderer/nodes/index.js +5 -0
  1029. package/lib/module/renderer/nodes/index.js.map +1 -0
  1030. package/lib/module/renderer/processors/Animations/Animations.js +36 -0
  1031. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -0
  1032. package/lib/module/renderer/processors/Animations/index.js +2 -0
  1033. package/lib/module/renderer/processors/Animations/index.js.map +1 -0
  1034. package/lib/module/renderer/processors/Circles.js +16 -0
  1035. package/lib/module/renderer/processors/Circles.js.map +1 -0
  1036. package/lib/module/renderer/processors/Clips.js +13 -0
  1037. package/lib/module/renderer/processors/Clips.js.map +1 -0
  1038. package/lib/module/renderer/processors/Font.js +26 -0
  1039. package/lib/module/renderer/processors/Font.js.map +1 -0
  1040. package/lib/module/renderer/processors/Paint.js +75 -0
  1041. package/lib/module/renderer/processors/Paint.js.map +1 -0
  1042. package/lib/module/renderer/processors/Paths.js +13 -0
  1043. package/lib/module/renderer/processors/Paths.js.map +1 -0
  1044. package/lib/module/renderer/processors/Radius.js +9 -0
  1045. package/lib/module/renderer/processors/Radius.js.map +1 -0
  1046. package/lib/module/renderer/processors/Rects.js +55 -0
  1047. package/lib/module/renderer/processors/Rects.js.map +1 -0
  1048. package/lib/module/renderer/processors/Transform.js +41 -0
  1049. package/lib/module/renderer/processors/Transform.js.map +1 -0
  1050. package/lib/module/renderer/processors/index.js +11 -0
  1051. package/lib/module/renderer/processors/index.js.map +1 -0
  1052. package/lib/module/renderer/processors/math/Coordinates.js +19 -0
  1053. package/lib/module/renderer/processors/math/Coordinates.js.map +1 -0
  1054. package/lib/module/renderer/processors/math/Math.js +2 -0
  1055. package/lib/module/renderer/processors/math/Math.js.map +1 -0
  1056. package/lib/module/renderer/processors/math/Matrix3.js +71 -0
  1057. package/lib/module/renderer/processors/math/Matrix3.js.map +1 -0
  1058. package/lib/module/renderer/processors/math/Transforms.js +12 -0
  1059. package/lib/module/renderer/processors/math/Transforms.js.map +1 -0
  1060. package/lib/module/renderer/processors/math/Vector.js +30 -0
  1061. package/lib/module/renderer/processors/math/Vector.js.map +1 -0
  1062. package/lib/module/renderer/processors/math/index.js +6 -0
  1063. package/lib/module/renderer/processors/math/index.js.map +1 -0
  1064. package/lib/module/renderer/typeddash.js +5 -0
  1065. package/lib/module/renderer/typeddash.js.map +1 -0
  1066. package/lib/module/skia/Canvas.js +14 -0
  1067. package/lib/module/skia/Canvas.js.map +1 -0
  1068. package/lib/module/skia/Color.js +48 -0
  1069. package/lib/module/skia/Color.js.map +1 -0
  1070. package/lib/module/skia/ColorFilter/ColorFilter.js +2 -0
  1071. package/lib/module/skia/ColorFilter/ColorFilter.js.map +1 -0
  1072. package/lib/module/skia/ColorFilter/ColorFilterFactory.js +2 -0
  1073. package/lib/module/skia/ColorFilter/ColorFilterFactory.js.map +1 -0
  1074. package/lib/module/skia/ColorFilter/index.js +3 -0
  1075. package/lib/module/skia/ColorFilter/index.js.map +1 -0
  1076. package/lib/module/skia/ContourMeasure.js +2 -0
  1077. package/lib/module/skia/ContourMeasure.js.map +1 -0
  1078. package/lib/module/skia/Data/Data.js +35 -0
  1079. package/lib/module/skia/Data/Data.js.map +1 -0
  1080. package/lib/module/skia/Data/DataFactory.js +2 -0
  1081. package/lib/module/skia/Data/DataFactory.js.map +1 -0
  1082. package/lib/module/skia/Data/index.js +3 -0
  1083. package/lib/module/skia/Data/index.js.map +1 -0
  1084. package/lib/module/skia/Font/Font.js +68 -0
  1085. package/lib/module/skia/Font/Font.js.map +1 -0
  1086. package/lib/module/skia/Font/index.js +3 -0
  1087. package/lib/module/skia/Font/index.js.map +1 -0
  1088. package/lib/module/skia/Font/useFont.js +24 -0
  1089. package/lib/module/skia/Font/useFont.js.map +1 -0
  1090. package/lib/module/skia/FontMgr/FontMgr.js +2 -0
  1091. package/lib/module/skia/FontMgr/FontMgr.js.map +1 -0
  1092. package/lib/module/skia/FontMgr/FontMgrFactory.js +2 -0
  1093. package/lib/module/skia/FontMgr/FontMgrFactory.js.map +1 -0
  1094. package/lib/module/skia/FontMgr/index.js +2 -0
  1095. package/lib/module/skia/FontMgr/index.js.map +1 -0
  1096. package/lib/module/skia/Image/Image.js +23 -0
  1097. package/lib/module/skia/Image/Image.js.map +1 -0
  1098. package/lib/module/skia/Image/ImageFactory.js +37 -0
  1099. package/lib/module/skia/Image/ImageFactory.js.map +1 -0
  1100. package/lib/module/skia/Image/index.js +4 -0
  1101. package/lib/module/skia/Image/index.js.map +1 -0
  1102. package/lib/module/skia/Image/useImage.js +8 -0
  1103. package/lib/module/skia/Image/useImage.js.map +1 -0
  1104. package/lib/module/skia/ImageFilter/ImageFilter.js +11 -0
  1105. package/lib/module/skia/ImageFilter/ImageFilter.js.map +1 -0
  1106. package/lib/module/skia/ImageFilter/ImageFilterFactory.js +9 -0
  1107. package/lib/module/skia/ImageFilter/ImageFilterFactory.js.map +1 -0
  1108. package/lib/module/skia/ImageFilter/index.js +3 -0
  1109. package/lib/module/skia/ImageFilter/index.js.map +1 -0
  1110. package/lib/module/skia/JsiInstance.js +2 -0
  1111. package/lib/module/skia/JsiInstance.js.map +1 -0
  1112. package/lib/module/skia/MaskFilter.js +11 -0
  1113. package/lib/module/skia/MaskFilter.js.map +1 -0
  1114. package/lib/module/skia/Matrix.js +14 -0
  1115. package/lib/module/skia/Matrix.js.map +1 -0
  1116. package/lib/module/skia/NativeSetup.js +17 -0
  1117. package/lib/module/skia/NativeSetup.js.map +1 -0
  1118. package/lib/module/skia/Paint/BlendMode.js +61 -0
  1119. package/lib/module/skia/Paint/BlendMode.js.map +1 -0
  1120. package/lib/module/skia/Paint/Paint.js +25 -0
  1121. package/lib/module/skia/Paint/Paint.js.map +1 -0
  1122. package/lib/module/skia/Paint/index.js +4 -0
  1123. package/lib/module/skia/Paint/index.js.map +1 -0
  1124. package/lib/module/skia/Paint/usePaint.js +17 -0
  1125. package/lib/module/skia/Paint/usePaint.js.map +1 -0
  1126. package/lib/module/skia/Path/Path.js +24 -0
  1127. package/lib/module/skia/Path/Path.js.map +1 -0
  1128. package/lib/module/skia/Path/PathFactory.js +2 -0
  1129. package/lib/module/skia/Path/PathFactory.js.map +1 -0
  1130. package/lib/module/skia/Path/index.js +4 -0
  1131. package/lib/module/skia/Path/index.js.map +1 -0
  1132. package/lib/module/skia/Path/usePath.js +44 -0
  1133. package/lib/module/skia/Path/usePath.js.map +1 -0
  1134. package/lib/module/skia/PathEffect.js +9 -0
  1135. package/lib/module/skia/PathEffect.js.map +1 -0
  1136. package/lib/module/skia/Point.js +8 -0
  1137. package/lib/module/skia/Point.js.map +1 -0
  1138. package/lib/module/skia/RRect.js +2 -0
  1139. package/lib/module/skia/RRect.js.map +1 -0
  1140. package/lib/module/skia/RSXform.js +2 -0
  1141. package/lib/module/skia/RSXform.js.map +1 -0
  1142. package/lib/module/skia/Rect.js +2 -0
  1143. package/lib/module/skia/Rect.js.map +1 -0
  1144. package/lib/module/skia/RuntimeEffect/RuntimeEffect.js +2 -0
  1145. package/lib/module/skia/RuntimeEffect/RuntimeEffect.js.map +1 -0
  1146. package/lib/module/skia/RuntimeEffect/RuntimeEffectFactory.js +2 -0
  1147. package/lib/module/skia/RuntimeEffect/RuntimeEffectFactory.js.map +1 -0
  1148. package/lib/module/skia/RuntimeEffect/index.js +3 -0
  1149. package/lib/module/skia/RuntimeEffect/index.js.map +1 -0
  1150. package/lib/module/skia/SVG/SVG.js +2 -0
  1151. package/lib/module/skia/SVG/SVG.js.map +1 -0
  1152. package/lib/module/skia/SVG/SVGFactory.js +2 -0
  1153. package/lib/module/skia/SVG/SVGFactory.js.map +1 -0
  1154. package/lib/module/skia/SVG/index.js +4 -0
  1155. package/lib/module/skia/SVG/index.js.map +1 -0
  1156. package/lib/module/skia/SVG/useSvg.js +4 -0
  1157. package/lib/module/skia/SVG/useSvg.js.map +1 -0
  1158. package/lib/module/skia/Shader/Shader.js +2 -0
  1159. package/lib/module/skia/Shader/Shader.js.map +1 -0
  1160. package/lib/module/skia/Shader/ShaderFactory.js +2 -0
  1161. package/lib/module/skia/Shader/ShaderFactory.js.map +1 -0
  1162. package/lib/module/skia/Shader/index.js +4 -0
  1163. package/lib/module/skia/Shader/index.js.map +1 -0
  1164. package/lib/module/skia/Shader/useShader.js +4 -0
  1165. package/lib/module/skia/Shader/useShader.js.map +1 -0
  1166. package/lib/module/skia/Skia.js +39 -0
  1167. package/lib/module/skia/Skia.js.map +1 -0
  1168. package/lib/module/skia/Surface/Surface.js +2 -0
  1169. package/lib/module/skia/Surface/Surface.js.map +1 -0
  1170. package/lib/module/skia/Surface/SurfaceFactory.js +2 -0
  1171. package/lib/module/skia/Surface/SurfaceFactory.js.map +1 -0
  1172. package/lib/module/skia/Surface/index.js +3 -0
  1173. package/lib/module/skia/Surface/index.js.map +1 -0
  1174. package/lib/module/skia/TextBlob.js +2 -0
  1175. package/lib/module/skia/TextBlob.js.map +1 -0
  1176. package/lib/module/skia/Typeface/Typeface.js +2 -0
  1177. package/lib/module/skia/Typeface/Typeface.js.map +1 -0
  1178. package/lib/module/skia/Typeface/TypefaceFactory.js +2 -0
  1179. package/lib/module/skia/Typeface/TypefaceFactory.js.map +1 -0
  1180. package/lib/module/skia/Typeface/index.js +4 -0
  1181. package/lib/module/skia/Typeface/index.js.map +1 -0
  1182. package/lib/module/skia/Typeface/useTypeface.js +8 -0
  1183. package/lib/module/skia/Typeface/useTypeface.js.map +1 -0
  1184. package/lib/module/skia/Vertices/Vertices.js +8 -0
  1185. package/lib/module/skia/Vertices/Vertices.js.map +1 -0
  1186. package/lib/module/skia/Vertices/index.js +2 -0
  1187. package/lib/module/skia/Vertices/index.js.map +1 -0
  1188. package/lib/module/skia/index.js +23 -0
  1189. package/lib/module/skia/index.js.map +1 -0
  1190. package/lib/module/values/animation/decay/decay.js +33 -0
  1191. package/lib/module/values/animation/decay/decay.js.map +1 -0
  1192. package/lib/module/values/animation/decay/index.js +2 -0
  1193. package/lib/module/values/animation/decay/index.js.map +1 -0
  1194. package/lib/module/values/animation/decay/runDecay.js +38 -0
  1195. package/lib/module/values/animation/decay/runDecay.js.map +1 -0
  1196. package/lib/module/values/animation/decay/types.js +2 -0
  1197. package/lib/module/values/animation/decay/types.js.map +1 -0
  1198. package/lib/module/values/animation/functions/index.js +3 -0
  1199. package/lib/module/values/animation/functions/index.js.map +1 -0
  1200. package/lib/module/values/animation/functions/interpolate.js +132 -0
  1201. package/lib/module/values/animation/functions/interpolate.js.map +1 -0
  1202. package/lib/module/values/animation/functions/interpolateColors.js +32 -0
  1203. package/lib/module/values/animation/functions/interpolateColors.js.map +1 -0
  1204. package/lib/module/values/animation/index.js +5 -0
  1205. package/lib/module/values/animation/index.js.map +1 -0
  1206. package/lib/module/values/animation/spring/Spring.js +69 -0
  1207. package/lib/module/values/animation/spring/Spring.js.map +1 -0
  1208. package/lib/module/values/animation/spring/functions/index.js +2 -0
  1209. package/lib/module/values/animation/spring/functions/index.js.map +1 -0
  1210. package/lib/module/values/animation/spring/functions/spring.js +85 -0
  1211. package/lib/module/values/animation/spring/functions/spring.js.map +1 -0
  1212. package/lib/module/values/animation/spring/index.js +4 -0
  1213. package/lib/module/values/animation/spring/index.js.map +1 -0
  1214. package/lib/module/values/animation/spring/runSpring.js +21 -0
  1215. package/lib/module/values/animation/spring/runSpring.js.map +1 -0
  1216. package/lib/module/values/animation/spring/types.js +2 -0
  1217. package/lib/module/values/animation/spring/types.js.map +1 -0
  1218. package/lib/module/values/animation/spring/useSpring.js +13 -0
  1219. package/lib/module/values/animation/spring/useSpring.js.map +1 -0
  1220. package/lib/module/values/animation/timing/Easing.js +98 -0
  1221. package/lib/module/values/animation/timing/Easing.js.map +1 -0
  1222. package/lib/module/values/animation/timing/createTiming.js +49 -0
  1223. package/lib/module/values/animation/timing/createTiming.js.map +1 -0
  1224. package/lib/module/values/animation/timing/functions/bezier.js +141 -0
  1225. package/lib/module/values/animation/timing/functions/bezier.js.map +1 -0
  1226. package/lib/module/values/animation/timing/functions/getResolvedParams.js +48 -0
  1227. package/lib/module/values/animation/timing/functions/getResolvedParams.js.map +1 -0
  1228. package/lib/module/values/animation/timing/functions/index.js +5 -0
  1229. package/lib/module/values/animation/timing/functions/index.js.map +1 -0
  1230. package/lib/module/values/animation/timing/functions/timing.js +41 -0
  1231. package/lib/module/values/animation/timing/functions/timing.js.map +1 -0
  1232. package/lib/module/values/animation/timing/functions/types.js +2 -0
  1233. package/lib/module/values/animation/timing/functions/types.js.map +1 -0
  1234. package/lib/module/values/animation/timing/index.js +5 -0
  1235. package/lib/module/values/animation/timing/index.js.map +1 -0
  1236. package/lib/module/values/animation/timing/runTiming.js +23 -0
  1237. package/lib/module/values/animation/timing/runTiming.js.map +1 -0
  1238. package/lib/module/values/animation/timing/useLoop.js +13 -0
  1239. package/lib/module/values/animation/timing/useLoop.js.map +1 -0
  1240. package/lib/module/values/animation/timing/useTiming.js +54 -0
  1241. package/lib/module/values/animation/timing/useTiming.js.map +1 -0
  1242. package/lib/module/values/animation/types.js +2 -0
  1243. package/lib/module/values/animation/types.js.map +1 -0
  1244. package/lib/module/values/api.js +11 -0
  1245. package/lib/module/values/api.js.map +1 -0
  1246. package/lib/module/values/hooks/index.js +5 -0
  1247. package/lib/module/values/hooks/index.js.map +1 -0
  1248. package/lib/module/values/hooks/useClockValue.js +17 -0
  1249. package/lib/module/values/hooks/useClockValue.js.map +1 -0
  1250. package/lib/module/values/hooks/useDerivedValue.js +14 -0
  1251. package/lib/module/values/hooks/useDerivedValue.js.map +1 -0
  1252. package/lib/module/values/hooks/useValue.js +13 -0
  1253. package/lib/module/values/hooks/useValue.js.map +1 -0
  1254. package/lib/module/values/hooks/useValueEffect.js +13 -0
  1255. package/lib/module/values/hooks/useValueEffect.js.map +1 -0
  1256. package/lib/module/values/index.js +5 -0
  1257. package/lib/module/values/index.js.map +1 -0
  1258. package/lib/module/values/types.js +2 -0
  1259. package/lib/module/values/types.js.map +1 -0
  1260. package/lib/module/views/SkiaView.js +149 -0
  1261. package/lib/module/views/SkiaView.js.map +1 -0
  1262. package/lib/module/views/index.js +5 -0
  1263. package/lib/module/views/index.js.map +1 -0
  1264. package/lib/module/views/types.js +9 -0
  1265. package/lib/module/views/types.js.map +1 -0
  1266. package/lib/module/views/useDrawCallback.js +14 -0
  1267. package/lib/module/views/useDrawCallback.js.map +1 -0
  1268. package/lib/module/views/useTouchHandler.js +64 -0
  1269. package/lib/module/views/useTouchHandler.js.map +1 -0
  1270. package/lib/typescript/index.d.ts +1 -0
  1271. package/lib/typescript/scripts/install-npm.d.ts +1 -0
  1272. package/lib/typescript/src/external/index.d.ts +1 -0
  1273. package/lib/typescript/src/external/reanimated/index.d.ts +1 -0
  1274. package/lib/typescript/src/external/reanimated/useSharedValueEffect.d.ts +11 -0
  1275. package/lib/typescript/src/index.d.ts +6 -0
  1276. package/lib/typescript/src/renderer/Canvas.d.ts +26 -0
  1277. package/lib/typescript/src/renderer/DependencyManager.d.ts +21 -0
  1278. package/lib/typescript/src/renderer/DrawingContext.d.ts +13 -0
  1279. package/lib/typescript/src/renderer/HostConfig.d.ts +27 -0
  1280. package/lib/typescript/src/renderer/components/Blend.d.ts +9 -0
  1281. package/lib/typescript/src/renderer/components/Compose.d.ts +6 -0
  1282. package/lib/typescript/src/renderer/components/Defs.d.ts +5 -0
  1283. package/lib/typescript/src/renderer/components/Group.d.ts +9 -0
  1284. package/lib/typescript/src/renderer/components/Mask.d.ts +15 -0
  1285. package/lib/typescript/src/renderer/components/Paint.d.ts +9 -0
  1286. package/lib/typescript/src/renderer/components/backdrop/BackdropBlur.d.ts +8 -0
  1287. package/lib/typescript/src/renderer/components/backdrop/BackdropFilter.d.ts +7 -0
  1288. package/lib/typescript/src/renderer/components/backdrop/index.d.ts +2 -0
  1289. package/lib/typescript/src/renderer/components/colorFilters/BlendColor.d.ts +10 -0
  1290. package/lib/typescript/src/renderer/components/colorFilters/Compose.d.ts +3 -0
  1291. package/lib/typescript/src/renderer/components/colorFilters/Lerp.d.ts +7 -0
  1292. package/lib/typescript/src/renderer/components/colorFilters/LinearToSRGBGamma.d.ts +5 -0
  1293. package/lib/typescript/src/renderer/components/colorFilters/LumaColorFilter.d.ts +5 -0
  1294. package/lib/typescript/src/renderer/components/colorFilters/Matrix.d.ts +9 -0
  1295. package/lib/typescript/src/renderer/components/colorFilters/SRGBToLinearGamma.d.ts +5 -0
  1296. package/lib/typescript/src/renderer/components/colorFilters/index.d.ts +6 -0
  1297. package/lib/typescript/src/renderer/components/image/BoxFit.d.ts +23 -0
  1298. package/lib/typescript/src/renderer/components/image/Image.d.ts +19 -0
  1299. package/lib/typescript/src/renderer/components/image/ImageSVG.d.ts +7 -0
  1300. package/lib/typescript/src/renderer/components/image/ImageShader.d.ts +26 -0
  1301. package/lib/typescript/src/renderer/components/image/index.d.ts +4 -0
  1302. package/lib/typescript/src/renderer/components/imageFilters/Blur.d.ts +15 -0
  1303. package/lib/typescript/src/renderer/components/imageFilters/DisplacementMap.d.ts +10 -0
  1304. package/lib/typescript/src/renderer/components/imageFilters/DropShadow.d.ts +11 -0
  1305. package/lib/typescript/src/renderer/components/imageFilters/InnerShadow.d.ts +12 -0
  1306. package/lib/typescript/src/renderer/components/imageFilters/Morphology.d.ts +13 -0
  1307. package/lib/typescript/src/renderer/components/imageFilters/Offset.d.ts +14 -0
  1308. package/lib/typescript/src/renderer/components/imageFilters/getInput.d.ts +2 -0
  1309. package/lib/typescript/src/renderer/components/imageFilters/index.d.ts +6 -0
  1310. package/lib/typescript/src/renderer/components/index.d.ts +16 -0
  1311. package/lib/typescript/src/renderer/components/maskFilters/Blur.d.ts +16 -0
  1312. package/lib/typescript/src/renderer/components/maskFilters/index.d.ts +1 -0
  1313. package/lib/typescript/src/renderer/components/pathEffects/Corner.d.ts +7 -0
  1314. package/lib/typescript/src/renderer/components/pathEffects/Dash.d.ts +8 -0
  1315. package/lib/typescript/src/renderer/components/pathEffects/Discrete.d.ts +14 -0
  1316. package/lib/typescript/src/renderer/components/pathEffects/Line2D.d.ts +9 -0
  1317. package/lib/typescript/src/renderer/components/pathEffects/Path1D.d.ts +13 -0
  1318. package/lib/typescript/src/renderer/components/pathEffects/Path2D.d.ts +10 -0
  1319. package/lib/typescript/src/renderer/components/pathEffects/Sum.d.ts +6 -0
  1320. package/lib/typescript/src/renderer/components/pathEffects/index.d.ts +7 -0
  1321. package/lib/typescript/src/renderer/components/shaders/Color.d.ts +7 -0
  1322. package/lib/typescript/src/renderer/components/shaders/FractalNoise.d.ts +18 -0
  1323. package/lib/typescript/src/renderer/components/shaders/Gradient.d.ts +17 -0
  1324. package/lib/typescript/src/renderer/components/shaders/LinearGradient.d.ts +8 -0
  1325. package/lib/typescript/src/renderer/components/shaders/RadialGradient.d.ts +8 -0
  1326. package/lib/typescript/src/renderer/components/shaders/Shader.d.ts +21 -0
  1327. package/lib/typescript/src/renderer/components/shaders/ShaderLib.d.ts +4 -0
  1328. package/lib/typescript/src/renderer/components/shaders/SweepGradient.d.ts +9 -0
  1329. package/lib/typescript/src/renderer/components/shaders/Turbulence.d.ts +18 -0
  1330. package/lib/typescript/src/renderer/components/shaders/TwoPointConicalGradient.d.ts +10 -0
  1331. package/lib/typescript/src/renderer/components/shaders/index.d.ts +9 -0
  1332. package/lib/typescript/src/renderer/components/shapes/Circle.d.ts +12 -0
  1333. package/lib/typescript/src/renderer/components/shapes/DiffRect.d.ts +9 -0
  1334. package/lib/typescript/src/renderer/components/shapes/Fill.d.ts +5 -0
  1335. package/lib/typescript/src/renderer/components/shapes/FitBox.d.ts +16 -0
  1336. package/lib/typescript/src/renderer/components/shapes/Line.d.ts +7 -0
  1337. package/lib/typescript/src/renderer/components/shapes/Oval.d.ts +10 -0
  1338. package/lib/typescript/src/renderer/components/shapes/Patch.d.ts +21 -0
  1339. package/lib/typescript/src/renderer/components/shapes/Path.d.ts +21 -0
  1340. package/lib/typescript/src/renderer/components/shapes/Points.d.ts +15 -0
  1341. package/lib/typescript/src/renderer/components/shapes/Rect.d.ts +4 -0
  1342. package/lib/typescript/src/renderer/components/shapes/RoundedRect.d.ts +9 -0
  1343. package/lib/typescript/src/renderer/components/shapes/Vertices.d.ts +18 -0
  1344. package/lib/typescript/src/renderer/components/shapes/index.d.ts +12 -0
  1345. package/lib/typescript/src/renderer/components/text/Glyphs.d.ts +20 -0
  1346. package/lib/typescript/src/renderer/components/text/Text.d.ts +15 -0
  1347. package/lib/typescript/src/renderer/components/text/TextBlob.d.ts +15 -0
  1348. package/lib/typescript/src/renderer/components/text/TextPath.d.ts +15 -0
  1349. package/lib/typescript/src/renderer/components/text/index.d.ts +4 -0
  1350. package/lib/typescript/src/renderer/index.d.ts +3 -0
  1351. package/lib/typescript/src/renderer/nodes/Container.d.ts +8 -0
  1352. package/lib/typescript/src/renderer/nodes/Declaration.d.ts +19 -0
  1353. package/lib/typescript/src/renderer/nodes/Drawing.d.ts +21 -0
  1354. package/lib/typescript/src/renderer/nodes/Node.d.ts +23 -0
  1355. package/lib/typescript/src/renderer/nodes/index.d.ts +4 -0
  1356. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +9 -0
  1357. package/lib/typescript/src/renderer/processors/Animations/index.d.ts +1 -0
  1358. package/lib/typescript/src/renderer/processors/Circles.d.ts +13 -0
  1359. package/lib/typescript/src/renderer/processors/Clips.d.ts +5 -0
  1360. package/lib/typescript/src/renderer/processors/Font.d.ts +12 -0
  1361. package/lib/typescript/src/renderer/processors/Paint.d.ts +21 -0
  1362. package/lib/typescript/src/renderer/processors/Paths.d.ts +4 -0
  1363. package/lib/typescript/src/renderer/processors/Radius.d.ts +3 -0
  1364. package/lib/typescript/src/renderer/processors/Rects.d.ts +61 -0
  1365. package/lib/typescript/src/renderer/processors/Transform.d.ts +91 -0
  1366. package/lib/typescript/src/renderer/processors/index.d.ts +10 -0
  1367. package/lib/typescript/src/renderer/processors/math/Coordinates.d.ts +29 -0
  1368. package/lib/typescript/src/renderer/processors/math/Math.d.ts +1 -0
  1369. package/lib/typescript/src/renderer/processors/math/Matrix3.d.ts +13 -0
  1370. package/lib/typescript/src/renderer/processors/math/Transforms.d.ts +5 -0
  1371. package/lib/typescript/src/renderer/processors/math/Vector.d.ts +35 -0
  1372. package/lib/typescript/src/renderer/processors/math/index.d.ts +5 -0
  1373. package/lib/typescript/src/renderer/typeddash.d.ts +2 -0
  1374. package/lib/typescript/src/skia/Canvas.d.ts +375 -0
  1375. package/lib/typescript/src/skia/Color.d.ts +10 -0
  1376. package/lib/typescript/src/skia/ColorFilter/ColorFilter.d.ts +3 -0
  1377. package/lib/typescript/src/skia/ColorFilter/ColorFilterFactory.d.ts +43 -0
  1378. package/lib/typescript/src/skia/ColorFilter/index.d.ts +2 -0
  1379. package/lib/typescript/src/skia/ContourMeasure.d.ts +42 -0
  1380. package/lib/typescript/src/skia/Data/Data.d.ts +9 -0
  1381. package/lib/typescript/src/skia/Data/DataFactory.d.ts +18 -0
  1382. package/lib/typescript/src/skia/Data/index.d.ts +2 -0
  1383. package/lib/typescript/src/skia/Font/Font.d.ts +187 -0
  1384. package/lib/typescript/src/skia/Font/index.d.ts +2 -0
  1385. package/lib/typescript/src/skia/Font/useFont.d.ts +6 -0
  1386. package/lib/typescript/src/skia/FontMgr/FontMgr.d.ts +18 -0
  1387. package/lib/typescript/src/skia/FontMgr/FontMgrFactory.d.ts +4 -0
  1388. package/lib/typescript/src/skia/FontMgr/index.d.ts +1 -0
  1389. package/lib/typescript/src/skia/Image/Image.d.ts +75 -0
  1390. package/lib/typescript/src/skia/Image/ImageFactory.d.ts +62 -0
  1391. package/lib/typescript/src/skia/Image/index.d.ts +3 -0
  1392. package/lib/typescript/src/skia/Image/useImage.d.ts +5 -0
  1393. package/lib/typescript/src/skia/ImageFilter/ImageFilter.d.ts +23 -0
  1394. package/lib/typescript/src/skia/ImageFilter/ImageFilterFactory.d.ts +114 -0
  1395. package/lib/typescript/src/skia/ImageFilter/index.d.ts +2 -0
  1396. package/lib/typescript/src/skia/JsiInstance.d.ts +3 -0
  1397. package/lib/typescript/src/skia/MaskFilter.d.ts +21 -0
  1398. package/lib/typescript/src/skia/Matrix.d.ts +22 -0
  1399. package/lib/typescript/src/skia/NativeSetup.d.ts +1 -0
  1400. package/lib/typescript/src/skia/Paint/BlendMode.d.ts +58 -0
  1401. package/lib/typescript/src/skia/Paint/Paint.d.ts +127 -0
  1402. package/lib/typescript/src/skia/Paint/index.d.ts +3 -0
  1403. package/lib/typescript/src/skia/Paint/usePaint.d.ts +6 -0
  1404. package/lib/typescript/src/skia/Path/Path.d.ts +443 -0
  1405. package/lib/typescript/src/skia/Path/PathFactory.d.ts +18 -0
  1406. package/lib/typescript/src/skia/Path/index.d.ts +3 -0
  1407. package/lib/typescript/src/skia/Path/usePath.d.ts +22 -0
  1408. package/lib/typescript/src/skia/PathEffect.d.ts +75 -0
  1409. package/lib/typescript/src/skia/Point.d.ts +9 -0
  1410. package/lib/typescript/src/skia/RRect.d.ts +6 -0
  1411. package/lib/typescript/src/skia/RSXform.d.ts +2 -0
  1412. package/lib/typescript/src/skia/Rect.d.ts +6 -0
  1413. package/lib/typescript/src/skia/RuntimeEffect/RuntimeEffect.d.ts +47 -0
  1414. package/lib/typescript/src/skia/RuntimeEffect/RuntimeEffectFactory.d.ts +10 -0
  1415. package/lib/typescript/src/skia/RuntimeEffect/index.d.ts +2 -0
  1416. package/lib/typescript/src/skia/SVG/SVG.d.ts +2 -0
  1417. package/lib/typescript/src/skia/SVG/SVGFactory.d.ts +6 -0
  1418. package/lib/typescript/src/skia/SVG/index.d.ts +3 -0
  1419. package/lib/typescript/src/skia/SVG/useSvg.d.ts +2 -0
  1420. package/lib/typescript/src/skia/Shader/Shader.d.ts +3 -0
  1421. package/lib/typescript/src/skia/Shader/ShaderFactory.d.ts +104 -0
  1422. package/lib/typescript/src/skia/Shader/index.d.ts +3 -0
  1423. package/lib/typescript/src/skia/Shader/useShader.d.ts +1 -0
  1424. package/lib/typescript/src/skia/Skia.d.ts +101 -0
  1425. package/lib/typescript/src/skia/Surface/Surface.d.ts +25 -0
  1426. package/lib/typescript/src/skia/Surface/SurfaceFactory.d.ts +11 -0
  1427. package/lib/typescript/src/skia/Surface/index.d.ts +2 -0
  1428. package/lib/typescript/src/skia/TextBlob.d.ts +44 -0
  1429. package/lib/typescript/src/skia/Typeface/Typeface.d.ts +5 -0
  1430. package/lib/typescript/src/skia/Typeface/TypefaceFactory.d.ts +5 -0
  1431. package/lib/typescript/src/skia/Typeface/index.d.ts +3 -0
  1432. package/lib/typescript/src/skia/Typeface/useTypeface.d.ts +5 -0
  1433. package/lib/typescript/src/skia/Vertices/Vertices.d.ts +17 -0
  1434. package/lib/typescript/src/skia/Vertices/index.d.ts +1 -0
  1435. package/lib/typescript/src/skia/index.d.ts +22 -0
  1436. package/lib/typescript/src/values/animation/decay/decay.d.ts +2 -0
  1437. package/lib/typescript/src/values/animation/decay/index.d.ts +1 -0
  1438. package/lib/typescript/src/values/animation/decay/runDecay.d.ts +10 -0
  1439. package/lib/typescript/src/values/animation/decay/types.d.ts +21 -0
  1440. package/lib/typescript/src/values/animation/functions/index.d.ts +2 -0
  1441. package/lib/typescript/src/values/animation/functions/interpolate.d.ts +7 -0
  1442. package/lib/typescript/src/values/animation/functions/interpolateColors.d.ts +3 -0
  1443. package/lib/typescript/src/values/animation/index.d.ts +4 -0
  1444. package/lib/typescript/src/values/animation/spring/Spring.d.ts +65 -0
  1445. package/lib/typescript/src/values/animation/spring/functions/index.d.ts +1 -0
  1446. package/lib/typescript/src/values/animation/spring/functions/spring.d.ts +10 -0
  1447. package/lib/typescript/src/values/animation/spring/index.d.ts +3 -0
  1448. package/lib/typescript/src/values/animation/spring/runSpring.d.ts +16 -0
  1449. package/lib/typescript/src/values/animation/spring/types.d.ts +6 -0
  1450. package/lib/typescript/src/values/animation/spring/useSpring.d.ts +10 -0
  1451. package/lib/typescript/src/values/animation/timing/Easing.d.ts +19 -0
  1452. package/lib/typescript/src/values/animation/timing/createTiming.d.ts +17 -0
  1453. package/lib/typescript/src/values/animation/timing/functions/bezier.d.ts +1 -0
  1454. package/lib/typescript/src/values/animation/timing/functions/getResolvedParams.d.ts +7 -0
  1455. package/lib/typescript/src/values/animation/timing/functions/index.d.ts +4 -0
  1456. package/lib/typescript/src/values/animation/timing/functions/timing.d.ts +17 -0
  1457. package/lib/typescript/src/values/animation/timing/functions/types.d.ts +7 -0
  1458. package/lib/typescript/src/values/animation/timing/index.d.ts +4 -0
  1459. package/lib/typescript/src/values/animation/timing/runTiming.d.ts +16 -0
  1460. package/lib/typescript/src/values/animation/timing/useLoop.d.ts +8 -0
  1461. package/lib/typescript/src/values/animation/timing/useTiming.d.ts +10 -0
  1462. package/lib/typescript/src/values/animation/types.d.ts +18 -0
  1463. package/lib/typescript/src/values/api.d.ts +29 -0
  1464. package/lib/typescript/src/values/hooks/index.d.ts +4 -0
  1465. package/lib/typescript/src/values/hooks/useClockValue.d.ts +6 -0
  1466. package/lib/typescript/src/values/hooks/useDerivedValue.d.ts +8 -0
  1467. package/lib/typescript/src/values/hooks/useValue.d.ts +7 -0
  1468. package/lib/typescript/src/values/hooks/useValueEffect.d.ts +7 -0
  1469. package/lib/typescript/src/values/index.d.ts +4 -0
  1470. package/lib/typescript/src/values/types.d.ts +36 -0
  1471. package/lib/typescript/src/views/SkiaView.d.ts +55 -0
  1472. package/lib/typescript/src/views/index.d.ts +4 -0
  1473. package/lib/typescript/src/views/types.d.ts +67 -0
  1474. package/lib/typescript/src/views/useDrawCallback.d.ts +8 -0
  1475. package/lib/typescript/src/views/useTouchHandler.d.ts +12 -0
  1476. package/libs/android/arm64-v8a/libskia.a +0 -0
  1477. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  1478. package/libs/android/arm64-v8a/libsvg.a +0 -0
  1479. package/libs/android/armeabi-v7a/libskia.a +0 -0
  1480. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  1481. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  1482. package/libs/android/x86/libskia.a +0 -0
  1483. package/libs/android/x86/libskshaper.a +0 -0
  1484. package/libs/android/x86/libsvg.a +0 -0
  1485. package/libs/android/x86_64/libskia.a +0 -0
  1486. package/libs/android/x86_64/libskshaper.a +0 -0
  1487. package/libs/android/x86_64/libsvg.a +0 -0
  1488. package/libs/ios/libskia.xcframework/Info.plist +42 -0
  1489. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  1490. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  1491. package/libs/ios/libskshaper.xcframework/Info.plist +42 -0
  1492. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  1493. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  1494. package/libs/ios/libsvg.xcframework/Info.plist +42 -0
  1495. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  1496. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  1497. package/package.json +100 -0
  1498. package/react-native-skia.podspec +71 -0
  1499. package/scripts/install-npm.js +23 -0
  1500. package/src/external/index.ts +1 -0
  1501. package/src/external/reanimated/index.ts +1 -0
  1502. package/src/external/reanimated/useSharedValueEffect.ts +81 -0
  1503. package/src/index.ts +7 -0
  1504. package/src/renderer/Canvas.tsx +190 -0
  1505. package/src/renderer/DependencyManager.tsx +59 -0
  1506. package/src/renderer/DrawingContext.ts +16 -0
  1507. package/src/renderer/HostConfig.ts +321 -0
  1508. package/src/renderer/components/Blend.tsx +28 -0
  1509. package/src/renderer/components/Compose.tsx +28 -0
  1510. package/src/renderer/components/Defs.tsx +19 -0
  1511. package/src/renderer/components/Group.tsx +61 -0
  1512. package/src/renderer/components/Mask.tsx +43 -0
  1513. package/src/renderer/components/Paint.tsx +59 -0
  1514. package/src/renderer/components/backdrop/BackdropBlur.tsx +23 -0
  1515. package/src/renderer/components/backdrop/BackdropFilter.tsx +47 -0
  1516. package/src/renderer/components/backdrop/index.ts +2 -0
  1517. package/src/renderer/components/colorFilters/BlendColor.tsx +30 -0
  1518. package/src/renderer/components/colorFilters/Compose.ts +17 -0
  1519. package/src/renderer/components/colorFilters/Lerp.tsx +27 -0
  1520. package/src/renderer/components/colorFilters/LinearToSRGBGamma.tsx +21 -0
  1521. package/src/renderer/components/colorFilters/LumaColorFilter.tsx +19 -0
  1522. package/src/renderer/components/colorFilters/Matrix.tsx +47 -0
  1523. package/src/renderer/components/colorFilters/SRGBToLinearGamma.tsx +21 -0
  1524. package/src/renderer/components/colorFilters/index.ts +6 -0
  1525. package/src/renderer/components/image/BoxFit.ts +131 -0
  1526. package/src/renderer/components/image/Image.tsx +50 -0
  1527. package/src/renderer/components/image/ImageSVG.tsx +24 -0
  1528. package/src/renderer/components/image/ImageShader.tsx +81 -0
  1529. package/src/renderer/components/image/index.ts +4 -0
  1530. package/src/renderer/components/imageFilters/Blur.tsx +35 -0
  1531. package/src/renderer/components/imageFilters/DisplacementMap.tsx +35 -0
  1532. package/src/renderer/components/imageFilters/DropShadow.tsx +31 -0
  1533. package/src/renderer/components/imageFilters/InnerShadow.tsx +50 -0
  1534. package/src/renderer/components/imageFilters/Morphology.tsx +34 -0
  1535. package/src/renderer/components/imageFilters/Offset.tsx +27 -0
  1536. package/src/renderer/components/imageFilters/getInput.ts +19 -0
  1537. package/src/renderer/components/imageFilters/index.ts +6 -0
  1538. package/src/renderer/components/index.ts +17 -0
  1539. package/src/renderer/components/maskFilters/Blur.tsx +33 -0
  1540. package/src/renderer/components/maskFilters/index.ts +1 -0
  1541. package/src/renderer/components/pathEffects/Corner.tsx +32 -0
  1542. package/src/renderer/components/pathEffects/Dash.tsx +28 -0
  1543. package/src/renderer/components/pathEffects/Discrete.tsx +35 -0
  1544. package/src/renderer/components/pathEffects/Line2D.tsx +34 -0
  1545. package/src/renderer/components/pathEffects/Path1D.tsx +44 -0
  1546. package/src/renderer/components/pathEffects/Path2D.tsx +36 -0
  1547. package/src/renderer/components/pathEffects/Sum.tsx +20 -0
  1548. package/src/renderer/components/pathEffects/index.ts +7 -0
  1549. package/src/renderer/components/shaders/Color.tsx +18 -0
  1550. package/src/renderer/components/shaders/FractalNoise.tsx +37 -0
  1551. package/src/renderer/components/shaders/Gradient.ts +29 -0
  1552. package/src/renderer/components/shaders/LinearGradient.tsx +33 -0
  1553. package/src/renderer/components/shaders/RadialGradient.tsx +33 -0
  1554. package/src/renderer/components/shaders/Shader.tsx +84 -0
  1555. package/src/renderer/components/shaders/ShaderLib.ts +46 -0
  1556. package/src/renderer/components/shaders/SweepGradient.tsx +36 -0
  1557. package/src/renderer/components/shaders/Turbulence.tsx +37 -0
  1558. package/src/renderer/components/shaders/TwoPointConicalGradient.tsx +39 -0
  1559. package/src/renderer/components/shaders/index.ts +9 -0
  1560. package/src/renderer/components/shapes/Circle.tsx +25 -0
  1561. package/src/renderer/components/shapes/DiffRect.tsx +21 -0
  1562. package/src/renderer/components/shapes/Fill.tsx +15 -0
  1563. package/src/renderer/components/shapes/FitBox.tsx +26 -0
  1564. package/src/renderer/components/shapes/Line.tsx +16 -0
  1565. package/src/renderer/components/shapes/Oval.tsx +25 -0
  1566. package/src/renderer/components/shapes/Patch.tsx +68 -0
  1567. package/src/renderer/components/shapes/Path.tsx +49 -0
  1568. package/src/renderer/components/shapes/Points.tsx +28 -0
  1569. package/src/renderer/components/shapes/Rect.tsx +20 -0
  1570. package/src/renderer/components/shapes/RoundedRect.tsx +25 -0
  1571. package/src/renderer/components/shapes/Vertices.tsx +44 -0
  1572. package/src/renderer/components/shapes/index.ts +12 -0
  1573. package/src/renderer/components/text/Glyphs.tsx +49 -0
  1574. package/src/renderer/components/text/Text.tsx +32 -0
  1575. package/src/renderer/components/text/TextBlob.tsx +26 -0
  1576. package/src/renderer/components/text/TextPath.tsx +70 -0
  1577. package/src/renderer/components/text/index.ts +4 -0
  1578. package/src/renderer/index.ts +3 -0
  1579. package/src/renderer/nodes/Container.tsx +17 -0
  1580. package/src/renderer/nodes/Declaration.tsx +53 -0
  1581. package/src/renderer/nodes/Drawing.tsx +76 -0
  1582. package/src/renderer/nodes/Node.ts +60 -0
  1583. package/src/renderer/nodes/index.ts +4 -0
  1584. package/src/renderer/processors/Animations/Animations.ts +48 -0
  1585. package/src/renderer/processors/Animations/index.ts +1 -0
  1586. package/src/renderer/processors/Circles.ts +25 -0
  1587. package/src/renderer/processors/Clips.ts +19 -0
  1588. package/src/renderer/processors/Font.ts +25 -0
  1589. package/src/renderer/processors/Paint.ts +105 -0
  1590. package/src/renderer/processors/Paths.ts +19 -0
  1591. package/src/renderer/processors/Radius.ts +11 -0
  1592. package/src/renderer/processors/Rects.ts +86 -0
  1593. package/src/renderer/processors/Transform.ts +44 -0
  1594. package/src/renderer/processors/index.ts +10 -0
  1595. package/src/renderer/processors/math/Coordinates.ts +32 -0
  1596. package/src/renderer/processors/math/Math.ts +2 -0
  1597. package/src/renderer/processors/math/Matrix3.ts +150 -0
  1598. package/src/renderer/processors/math/Transforms.ts +7 -0
  1599. package/src/renderer/processors/math/Vector.ts +37 -0
  1600. package/src/renderer/processors/math/index.ts +5 -0
  1601. package/src/renderer/typeddash.ts +5 -0
  1602. package/src/skia/Canvas.ts +488 -0
  1603. package/src/skia/Color.ts +51 -0
  1604. package/src/skia/ColorFilter/ColorFilter.ts +7 -0
  1605. package/src/skia/ColorFilter/ColorFilterFactory.ts +52 -0
  1606. package/src/skia/ColorFilter/index.ts +2 -0
  1607. package/src/skia/ContourMeasure.tsx +49 -0
  1608. package/src/skia/Data/Data.ts +61 -0
  1609. package/src/skia/Data/DataFactory.ts +19 -0
  1610. package/src/skia/Data/index.ts +2 -0
  1611. package/src/skia/Font/Font.ts +230 -0
  1612. package/src/skia/Font/index.ts +2 -0
  1613. package/src/skia/Font/useFont.ts +27 -0
  1614. package/src/skia/FontMgr/FontMgr.ts +24 -0
  1615. package/src/skia/FontMgr/FontMgrFactory.ts +17 -0
  1616. package/src/skia/FontMgr/index.ts +1 -0
  1617. package/src/skia/Image/Image.ts +96 -0
  1618. package/src/skia/Image/ImageFactory.ts +78 -0
  1619. package/src/skia/Image/index.ts +3 -0
  1620. package/src/skia/Image/useImage.ts +9 -0
  1621. package/src/skia/ImageFilter/ImageFilter.ts +31 -0
  1622. package/src/skia/ImageFilter/ImageFilterFactory.ts +172 -0
  1623. package/src/skia/ImageFilter/index.ts +2 -0
  1624. package/src/skia/JsiInstance.ts +3 -0
  1625. package/src/skia/MaskFilter.ts +27 -0
  1626. package/src/skia/Matrix.ts +23 -0
  1627. package/src/skia/NativeSetup.ts +18 -0
  1628. package/src/skia/Paint/BlendMode.ts +61 -0
  1629. package/src/skia/Paint/Paint.ts +153 -0
  1630. package/src/skia/Paint/index.ts +3 -0
  1631. package/src/skia/Paint/usePaint.ts +23 -0
  1632. package/src/skia/Path/Path.ts +538 -0
  1633. package/src/skia/Path/PathFactory.ts +20 -0
  1634. package/src/skia/Path/index.ts +3 -0
  1635. package/src/skia/Path/usePath.ts +54 -0
  1636. package/src/skia/PathEffect.ts +93 -0
  1637. package/src/skia/Point.ts +10 -0
  1638. package/src/skia/RRect.ts +7 -0
  1639. package/src/skia/RSXform.ts +3 -0
  1640. package/src/skia/Rect.ts +6 -0
  1641. package/src/skia/RuntimeEffect/RuntimeEffect.ts +63 -0
  1642. package/src/skia/RuntimeEffect/RuntimeEffectFactory.ts +12 -0
  1643. package/src/skia/RuntimeEffect/index.ts +2 -0
  1644. package/src/skia/SVG/SVG.ts +3 -0
  1645. package/src/skia/SVG/SVGFactory.ts +8 -0
  1646. package/src/skia/SVG/index.ts +3 -0
  1647. package/src/skia/SVG/useSvg.ts +6 -0
  1648. package/src/skia/Shader/Shader.ts +6 -0
  1649. package/src/skia/Shader/ShaderFactory.ts +169 -0
  1650. package/src/skia/Shader/index.ts +3 -0
  1651. package/src/skia/Shader/useShader.ts +6 -0
  1652. package/src/skia/Skia.ts +120 -0
  1653. package/src/skia/Surface/Surface.ts +27 -0
  1654. package/src/skia/Surface/SurfaceFactory.ts +12 -0
  1655. package/src/skia/Surface/index.ts +2 -0
  1656. package/src/skia/TextBlob.ts +52 -0
  1657. package/src/skia/Typeface/Typeface.ts +6 -0
  1658. package/src/skia/Typeface/TypefaceFactory.ts +7 -0
  1659. package/src/skia/Typeface/index.ts +3 -0
  1660. package/src/skia/Typeface/useTypeface.ts +9 -0
  1661. package/src/skia/Vertices/Vertices.tsx +20 -0
  1662. package/src/skia/Vertices/index.ts +1 -0
  1663. package/src/skia/index.ts +22 -0
  1664. package/src/values/animation/decay/decay.ts +35 -0
  1665. package/src/values/animation/decay/index.ts +1 -0
  1666. package/src/values/animation/decay/runDecay.ts +37 -0
  1667. package/src/values/animation/decay/types.ts +24 -0
  1668. package/src/values/animation/functions/index.ts +2 -0
  1669. package/src/values/animation/functions/interpolate.ts +169 -0
  1670. package/src/values/animation/functions/interpolateColors.ts +62 -0
  1671. package/src/values/animation/index.ts +4 -0
  1672. package/src/values/animation/spring/Spring.ts +61 -0
  1673. package/src/values/animation/spring/functions/index.ts +1 -0
  1674. package/src/values/animation/spring/functions/spring.ts +86 -0
  1675. package/src/values/animation/spring/index.ts +3 -0
  1676. package/src/values/animation/spring/runSpring.ts +37 -0
  1677. package/src/values/animation/spring/types.ts +6 -0
  1678. package/src/values/animation/spring/useSpring.ts +28 -0
  1679. package/src/values/animation/timing/Easing.ts +102 -0
  1680. package/src/values/animation/timing/createTiming.ts +62 -0
  1681. package/src/values/animation/timing/functions/__tests__/timing.spec.ts +29 -0
  1682. package/src/values/animation/timing/functions/bezier.ts +165 -0
  1683. package/src/values/animation/timing/functions/getResolvedParams.ts +50 -0
  1684. package/src/values/animation/timing/functions/index.ts +4 -0
  1685. package/src/values/animation/timing/functions/timing.ts +44 -0
  1686. package/src/values/animation/timing/functions/types.ts +8 -0
  1687. package/src/values/animation/timing/index.ts +4 -0
  1688. package/src/values/animation/timing/runTiming.ts +33 -0
  1689. package/src/values/animation/timing/useLoop.ts +18 -0
  1690. package/src/values/animation/timing/useTiming.ts +68 -0
  1691. package/src/values/animation/types.ts +23 -0
  1692. package/src/values/api.ts +49 -0
  1693. package/src/values/hooks/index.ts +4 -0
  1694. package/src/values/hooks/useClockValue.ts +18 -0
  1695. package/src/values/hooks/useDerivedValue.ts +18 -0
  1696. package/src/values/hooks/useValue.ts +14 -0
  1697. package/src/values/hooks/useValueEffect.ts +18 -0
  1698. package/src/values/index.ts +4 -0
  1699. package/src/values/types.ts +40 -0
  1700. package/src/views/SkiaView.tsx +161 -0
  1701. package/src/views/index.ts +4 -0
  1702. package/src/views/types.ts +80 -0
  1703. package/src/views/useDrawCallback.ts +19 -0
  1704. package/src/views/useTouchHandler.ts +80 -0
@@ -0,0 +1,1378 @@
1
+ /*
2
+ * Copyright 2006 The Android Open Source Project
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkRect_DEFINED
9
+ #define SkRect_DEFINED
10
+
11
+ #include "include/core/SkPoint.h"
12
+ #include "include/core/SkSize.h"
13
+ #include "include/private/SkSafe32.h"
14
+ #include "include/private/SkTFitsIn.h"
15
+
16
+ #include <algorithm>
17
+ #include <utility>
18
+
19
+ struct SkRect;
20
+
21
+ /** \struct SkIRect
22
+ SkIRect holds four 32-bit integer coordinates describing the upper and
23
+ lower bounds of a rectangle. SkIRect may be created from outer bounds or
24
+ from position, width, and height. SkIRect describes an area; if its right
25
+ is less than or equal to its left, or if its bottom is less than or equal to
26
+ its top, it is considered empty.
27
+ */
28
+ struct SK_API SkIRect {
29
+ int32_t fLeft; //!< smaller x-axis bounds
30
+ int32_t fTop; //!< smaller y-axis bounds
31
+ int32_t fRight; //!< larger x-axis bounds
32
+ int32_t fBottom; //!< larger y-axis bounds
33
+
34
+ /** Returns constructed SkIRect set to (0, 0, 0, 0).
35
+ Many other rectangles are empty; if left is equal to or greater than right,
36
+ or if top is equal to or greater than bottom. Setting all members to zero
37
+ is a convenience, but does not designate a special empty rectangle.
38
+
39
+ @return bounds (0, 0, 0, 0)
40
+ */
41
+ static constexpr SkIRect SK_WARN_UNUSED_RESULT MakeEmpty() {
42
+ return SkIRect{0, 0, 0, 0};
43
+ }
44
+
45
+ /** Returns constructed SkIRect set to (0, 0, w, h). Does not validate input; w or h
46
+ may be negative.
47
+
48
+ @param w width of constructed SkIRect
49
+ @param h height of constructed SkIRect
50
+ @return bounds (0, 0, w, h)
51
+ */
52
+ static constexpr SkIRect SK_WARN_UNUSED_RESULT MakeWH(int32_t w, int32_t h) {
53
+ return SkIRect{0, 0, w, h};
54
+ }
55
+
56
+ /** Returns constructed SkIRect set to (0, 0, size.width(), size.height()).
57
+ Does not validate input; size.width() or size.height() may be negative.
58
+
59
+ @param size values for SkIRect width and height
60
+ @return bounds (0, 0, size.width(), size.height())
61
+ */
62
+ static constexpr SkIRect SK_WARN_UNUSED_RESULT MakeSize(const SkISize& size) {
63
+ return SkIRect{0, 0, size.fWidth, size.fHeight};
64
+ }
65
+
66
+ /** Returns constructed SkIRect set to (pt.x(), pt.y(), pt.x() + size.width(),
67
+ pt.y() + size.height()). Does not validate input; size.width() or size.height() may be
68
+ negative.
69
+
70
+ @param pt values for SkIRect fLeft and fTop
71
+ @param size values for SkIRect width and height
72
+ @return bounds at pt with width and height of size
73
+ */
74
+ static constexpr SkIRect SK_WARN_UNUSED_RESULT MakePtSize(SkIPoint pt, SkISize size) {
75
+ return MakeXYWH(pt.x(), pt.y(), size.width(), size.height());
76
+ }
77
+
78
+ /** Returns constructed SkIRect set to (l, t, r, b). Does not sort input; SkIRect may
79
+ result in fLeft greater than fRight, or fTop greater than fBottom.
80
+
81
+ @param l integer stored in fLeft
82
+ @param t integer stored in fTop
83
+ @param r integer stored in fRight
84
+ @param b integer stored in fBottom
85
+ @return bounds (l, t, r, b)
86
+ */
87
+ static constexpr SkIRect SK_WARN_UNUSED_RESULT MakeLTRB(int32_t l, int32_t t,
88
+ int32_t r, int32_t b) {
89
+ return SkIRect{l, t, r, b};
90
+ }
91
+
92
+ /** Returns constructed SkIRect set to: (x, y, x + w, y + h).
93
+ Does not validate input; w or h may be negative.
94
+
95
+ @param x stored in fLeft
96
+ @param y stored in fTop
97
+ @param w added to x and stored in fRight
98
+ @param h added to y and stored in fBottom
99
+ @return bounds at (x, y) with width w and height h
100
+ */
101
+ static constexpr SkIRect SK_WARN_UNUSED_RESULT MakeXYWH(int32_t x, int32_t y,
102
+ int32_t w, int32_t h) {
103
+ return { x, y, Sk32_sat_add(x, w), Sk32_sat_add(y, h) };
104
+ }
105
+
106
+ /** Returns left edge of SkIRect, if sorted.
107
+ Call sort() to reverse fLeft and fRight if needed.
108
+
109
+ @return fLeft
110
+ */
111
+ constexpr int32_t left() const { return fLeft; }
112
+
113
+ /** Returns top edge of SkIRect, if sorted. Call isEmpty() to see if SkIRect may be invalid,
114
+ and sort() to reverse fTop and fBottom if needed.
115
+
116
+ @return fTop
117
+ */
118
+ constexpr int32_t top() const { return fTop; }
119
+
120
+ /** Returns right edge of SkIRect, if sorted.
121
+ Call sort() to reverse fLeft and fRight if needed.
122
+
123
+ @return fRight
124
+ */
125
+ constexpr int32_t right() const { return fRight; }
126
+
127
+ /** Returns bottom edge of SkIRect, if sorted. Call isEmpty() to see if SkIRect may be invalid,
128
+ and sort() to reverse fTop and fBottom if needed.
129
+
130
+ @return fBottom
131
+ */
132
+ constexpr int32_t bottom() const { return fBottom; }
133
+
134
+ /** Returns left edge of SkIRect, if sorted. Call isEmpty() to see if SkIRect may be invalid,
135
+ and sort() to reverse fLeft and fRight if needed.
136
+
137
+ @return fLeft
138
+ */
139
+ constexpr int32_t x() const { return fLeft; }
140
+
141
+ /** Returns top edge of SkIRect, if sorted. Call isEmpty() to see if SkIRect may be invalid,
142
+ and sort() to reverse fTop and fBottom if needed.
143
+
144
+ @return fTop
145
+ */
146
+ constexpr int32_t y() const { return fTop; }
147
+
148
+ // Experimental
149
+ constexpr SkIPoint topLeft() const { return {fLeft, fTop}; }
150
+
151
+ /** Returns span on the x-axis. This does not check if SkIRect is sorted, or if
152
+ result fits in 32-bit signed integer; result may be negative.
153
+
154
+ @return fRight minus fLeft
155
+ */
156
+ constexpr int32_t width() const { return Sk32_can_overflow_sub(fRight, fLeft); }
157
+
158
+ /** Returns span on the y-axis. This does not check if SkIRect is sorted, or if
159
+ result fits in 32-bit signed integer; result may be negative.
160
+
161
+ @return fBottom minus fTop
162
+ */
163
+ constexpr int32_t height() const { return Sk32_can_overflow_sub(fBottom, fTop); }
164
+
165
+ /** Returns spans on the x-axis and y-axis. This does not check if SkIRect is sorted,
166
+ or if result fits in 32-bit signed integer; result may be negative.
167
+
168
+ @return SkISize (width, height)
169
+ */
170
+ constexpr SkISize size() const { return SkISize::Make(this->width(), this->height()); }
171
+
172
+ /** Returns span on the x-axis. This does not check if SkIRect is sorted, so the
173
+ result may be negative. This is safer than calling width() since width() might
174
+ overflow in its calculation.
175
+
176
+ @return fRight minus fLeft cast to int64_t
177
+ */
178
+ constexpr int64_t width64() const { return (int64_t)fRight - (int64_t)fLeft; }
179
+
180
+ /** Returns span on the y-axis. This does not check if SkIRect is sorted, so the
181
+ result may be negative. This is safer than calling height() since height() might
182
+ overflow in its calculation.
183
+
184
+ @return fBottom minus fTop cast to int64_t
185
+ */
186
+ constexpr int64_t height64() const { return (int64_t)fBottom - (int64_t)fTop; }
187
+
188
+ /** Returns true if fLeft is equal to or greater than fRight, or if fTop is equal
189
+ to or greater than fBottom. Call sort() to reverse rectangles with negative
190
+ width64() or height64().
191
+
192
+ @return true if width64() or height64() are zero or negative
193
+ */
194
+ bool isEmpty64() const { return fRight <= fLeft || fBottom <= fTop; }
195
+
196
+ /** Returns true if width() or height() are zero or negative.
197
+
198
+ @return true if width() or height() are zero or negative
199
+ */
200
+ bool isEmpty() const {
201
+ int64_t w = this->width64();
202
+ int64_t h = this->height64();
203
+ if (w <= 0 || h <= 0) {
204
+ return true;
205
+ }
206
+ // Return true if either exceeds int32_t
207
+ return !SkTFitsIn<int32_t>(w | h);
208
+ }
209
+
210
+ /** Returns true if all members in a: fLeft, fTop, fRight, and fBottom; are
211
+ identical to corresponding members in b.
212
+
213
+ @param a SkIRect to compare
214
+ @param b SkIRect to compare
215
+ @return true if members are equal
216
+ */
217
+ friend bool operator==(const SkIRect& a, const SkIRect& b) {
218
+ return !memcmp(&a, &b, sizeof(a));
219
+ }
220
+
221
+ /** Returns true if any member in a: fLeft, fTop, fRight, and fBottom; is not
222
+ identical to the corresponding member in b.
223
+
224
+ @param a SkIRect to compare
225
+ @param b SkIRect to compare
226
+ @return true if members are not equal
227
+ */
228
+ friend bool operator!=(const SkIRect& a, const SkIRect& b) {
229
+ return !(a == b);
230
+ }
231
+
232
+ /** Sets SkIRect to (0, 0, 0, 0).
233
+
234
+ Many other rectangles are empty; if left is equal to or greater than right,
235
+ or if top is equal to or greater than bottom. Setting all members to zero
236
+ is a convenience, but does not designate a special empty rectangle.
237
+ */
238
+ void setEmpty() { memset(this, 0, sizeof(*this)); }
239
+
240
+ /** Sets SkIRect to (left, top, right, bottom).
241
+ left and right are not sorted; left is not necessarily less than right.
242
+ top and bottom are not sorted; top is not necessarily less than bottom.
243
+
244
+ @param left stored in fLeft
245
+ @param top stored in fTop
246
+ @param right stored in fRight
247
+ @param bottom stored in fBottom
248
+ */
249
+ void setLTRB(int32_t left, int32_t top, int32_t right, int32_t bottom) {
250
+ fLeft = left;
251
+ fTop = top;
252
+ fRight = right;
253
+ fBottom = bottom;
254
+ }
255
+
256
+ /** Sets SkIRect to: (x, y, x + width, y + height).
257
+ Does not validate input; width or height may be negative.
258
+
259
+ @param x stored in fLeft
260
+ @param y stored in fTop
261
+ @param width added to x and stored in fRight
262
+ @param height added to y and stored in fBottom
263
+ */
264
+ void setXYWH(int32_t x, int32_t y, int32_t width, int32_t height) {
265
+ fLeft = x;
266
+ fTop = y;
267
+ fRight = Sk32_sat_add(x, width);
268
+ fBottom = Sk32_sat_add(y, height);
269
+ }
270
+
271
+ void setWH(int32_t width, int32_t height) {
272
+ fLeft = 0;
273
+ fTop = 0;
274
+ fRight = width;
275
+ fBottom = height;
276
+ }
277
+
278
+ void setSize(SkISize size) {
279
+ fLeft = 0;
280
+ fTop = 0;
281
+ fRight = size.width();
282
+ fBottom = size.height();
283
+ }
284
+
285
+ /** Returns SkIRect offset by (dx, dy).
286
+
287
+ If dx is negative, SkIRect returned is moved to the left.
288
+ If dx is positive, SkIRect returned is moved to the right.
289
+ If dy is negative, SkIRect returned is moved upward.
290
+ If dy is positive, SkIRect returned is moved downward.
291
+
292
+ @param dx offset added to fLeft and fRight
293
+ @param dy offset added to fTop and fBottom
294
+ @return SkIRect offset by dx and dy, with original width and height
295
+ */
296
+ constexpr SkIRect makeOffset(int32_t dx, int32_t dy) const {
297
+ return {
298
+ Sk32_sat_add(fLeft, dx), Sk32_sat_add(fTop, dy),
299
+ Sk32_sat_add(fRight, dx), Sk32_sat_add(fBottom, dy),
300
+ };
301
+ }
302
+
303
+ /** Returns SkIRect offset by (offset.x(), offset.y()).
304
+
305
+ If offset.x() is negative, SkIRect returned is moved to the left.
306
+ If offset.x() is positive, SkIRect returned is moved to the right.
307
+ If offset.y() is negative, SkIRect returned is moved upward.
308
+ If offset.y() is positive, SkIRect returned is moved downward.
309
+
310
+ @param offset translation vector
311
+ @return SkIRect translated by offset, with original width and height
312
+ */
313
+ constexpr SkIRect makeOffset(SkIVector offset) const {
314
+ return this->makeOffset(offset.x(), offset.y());
315
+ }
316
+
317
+ /** Returns SkIRect, inset by (dx, dy).
318
+
319
+ If dx is negative, SkIRect returned is wider.
320
+ If dx is positive, SkIRect returned is narrower.
321
+ If dy is negative, SkIRect returned is taller.
322
+ If dy is positive, SkIRect returned is shorter.
323
+
324
+ @param dx offset added to fLeft and subtracted from fRight
325
+ @param dy offset added to fTop and subtracted from fBottom
326
+ @return SkIRect inset symmetrically left and right, top and bottom
327
+ */
328
+ SkIRect makeInset(int32_t dx, int32_t dy) const {
329
+ return {
330
+ Sk32_sat_add(fLeft, dx), Sk32_sat_add(fTop, dy),
331
+ Sk32_sat_sub(fRight, dx), Sk32_sat_sub(fBottom, dy),
332
+ };
333
+ }
334
+
335
+ /** Returns SkIRect, outset by (dx, dy).
336
+
337
+ If dx is negative, SkIRect returned is narrower.
338
+ If dx is positive, SkIRect returned is wider.
339
+ If dy is negative, SkIRect returned is shorter.
340
+ If dy is positive, SkIRect returned is taller.
341
+
342
+ @param dx offset subtracted to fLeft and added from fRight
343
+ @param dy offset subtracted to fTop and added from fBottom
344
+ @return SkIRect outset symmetrically left and right, top and bottom
345
+ */
346
+ SkIRect makeOutset(int32_t dx, int32_t dy) const {
347
+ return {
348
+ Sk32_sat_sub(fLeft, dx), Sk32_sat_sub(fTop, dy),
349
+ Sk32_sat_add(fRight, dx), Sk32_sat_add(fBottom, dy),
350
+ };
351
+ }
352
+
353
+ /** Offsets SkIRect by adding dx to fLeft, fRight; and by adding dy to fTop, fBottom.
354
+
355
+ If dx is negative, moves SkIRect returned to the left.
356
+ If dx is positive, moves SkIRect returned to the right.
357
+ If dy is negative, moves SkIRect returned upward.
358
+ If dy is positive, moves SkIRect returned downward.
359
+
360
+ @param dx offset added to fLeft and fRight
361
+ @param dy offset added to fTop and fBottom
362
+ */
363
+ void offset(int32_t dx, int32_t dy) {
364
+ fLeft = Sk32_sat_add(fLeft, dx);
365
+ fTop = Sk32_sat_add(fTop, dy);
366
+ fRight = Sk32_sat_add(fRight, dx);
367
+ fBottom = Sk32_sat_add(fBottom, dy);
368
+ }
369
+
370
+ /** Offsets SkIRect by adding delta.fX to fLeft, fRight; and by adding delta.fY to
371
+ fTop, fBottom.
372
+
373
+ If delta.fX is negative, moves SkIRect returned to the left.
374
+ If delta.fX is positive, moves SkIRect returned to the right.
375
+ If delta.fY is negative, moves SkIRect returned upward.
376
+ If delta.fY is positive, moves SkIRect returned downward.
377
+
378
+ @param delta offset added to SkIRect
379
+ */
380
+ void offset(const SkIPoint& delta) {
381
+ this->offset(delta.fX, delta.fY);
382
+ }
383
+
384
+ /** Offsets SkIRect so that fLeft equals newX, and fTop equals newY. width and height
385
+ are unchanged.
386
+
387
+ @param newX stored in fLeft, preserving width()
388
+ @param newY stored in fTop, preserving height()
389
+ */
390
+ void offsetTo(int32_t newX, int32_t newY) {
391
+ fRight = Sk64_pin_to_s32((int64_t)fRight + newX - fLeft);
392
+ fBottom = Sk64_pin_to_s32((int64_t)fBottom + newY - fTop);
393
+ fLeft = newX;
394
+ fTop = newY;
395
+ }
396
+
397
+ /** Insets SkIRect by (dx,dy).
398
+
399
+ If dx is positive, makes SkIRect narrower.
400
+ If dx is negative, makes SkIRect wider.
401
+ If dy is positive, makes SkIRect shorter.
402
+ If dy is negative, makes SkIRect taller.
403
+
404
+ @param dx offset added to fLeft and subtracted from fRight
405
+ @param dy offset added to fTop and subtracted from fBottom
406
+ */
407
+ void inset(int32_t dx, int32_t dy) {
408
+ fLeft = Sk32_sat_add(fLeft, dx);
409
+ fTop = Sk32_sat_add(fTop, dy);
410
+ fRight = Sk32_sat_sub(fRight, dx);
411
+ fBottom = Sk32_sat_sub(fBottom, dy);
412
+ }
413
+
414
+ /** Outsets SkIRect by (dx, dy).
415
+
416
+ If dx is positive, makes SkIRect wider.
417
+ If dx is negative, makes SkIRect narrower.
418
+ If dy is positive, makes SkIRect taller.
419
+ If dy is negative, makes SkIRect shorter.
420
+
421
+ @param dx subtracted to fLeft and added from fRight
422
+ @param dy subtracted to fTop and added from fBottom
423
+ */
424
+ void outset(int32_t dx, int32_t dy) { this->inset(-dx, -dy); }
425
+
426
+ /** Adjusts SkIRect by adding dL to fLeft, dT to fTop, dR to fRight, and dB to fBottom.
427
+
428
+ If dL is positive, narrows SkIRect on the left. If negative, widens it on the left.
429
+ If dT is positive, shrinks SkIRect on the top. If negative, lengthens it on the top.
430
+ If dR is positive, narrows SkIRect on the right. If negative, widens it on the right.
431
+ If dB is positive, shrinks SkIRect on the bottom. If negative, lengthens it on the bottom.
432
+
433
+ The resulting SkIRect is not checked for validity. Thus, if the resulting SkIRect left is
434
+ greater than right, the SkIRect will be considered empty. Call sort() after this call
435
+ if that is not the desired behavior.
436
+
437
+ @param dL offset added to fLeft
438
+ @param dT offset added to fTop
439
+ @param dR offset added to fRight
440
+ @param dB offset added to fBottom
441
+ */
442
+ void adjust(int32_t dL, int32_t dT, int32_t dR, int32_t dB) {
443
+ fLeft = Sk32_sat_add(fLeft, dL);
444
+ fTop = Sk32_sat_add(fTop, dT);
445
+ fRight = Sk32_sat_add(fRight, dR);
446
+ fBottom = Sk32_sat_add(fBottom, dB);
447
+ }
448
+
449
+ /** Returns true if: fLeft <= x < fRight && fTop <= y < fBottom.
450
+ Returns false if SkIRect is empty.
451
+
452
+ Considers input to describe constructed SkIRect: (x, y, x + 1, y + 1) and
453
+ returns true if constructed area is completely enclosed by SkIRect area.
454
+
455
+ @param x test SkIPoint x-coordinate
456
+ @param y test SkIPoint y-coordinate
457
+ @return true if (x, y) is inside SkIRect
458
+ */
459
+ bool contains(int32_t x, int32_t y) const {
460
+ return x >= fLeft && x < fRight && y >= fTop && y < fBottom;
461
+ }
462
+
463
+ /** Returns true if SkIRect contains r.
464
+ Returns false if SkIRect is empty or r is empty.
465
+
466
+ SkIRect contains r when SkIRect area completely includes r area.
467
+
468
+ @param r SkIRect contained
469
+ @return true if all sides of SkIRect are outside r
470
+ */
471
+ bool contains(const SkIRect& r) const {
472
+ return !r.isEmpty() && !this->isEmpty() && // check for empties
473
+ fLeft <= r.fLeft && fTop <= r.fTop &&
474
+ fRight >= r.fRight && fBottom >= r.fBottom;
475
+ }
476
+
477
+ /** Returns true if SkIRect contains r.
478
+ Returns false if SkIRect is empty or r is empty.
479
+
480
+ SkIRect contains r when SkIRect area completely includes r area.
481
+
482
+ @param r SkRect contained
483
+ @return true if all sides of SkIRect are outside r
484
+ */
485
+ inline bool contains(const SkRect& r) const;
486
+
487
+ /** Returns true if SkIRect contains construction.
488
+ Asserts if SkIRect is empty or construction is empty, and if SK_DEBUG is defined.
489
+
490
+ Return is undefined if SkIRect is empty or construction is empty.
491
+
492
+ @param r SkIRect contained
493
+ @return true if all sides of SkIRect are outside r
494
+ */
495
+ bool containsNoEmptyCheck(const SkIRect& r) const {
496
+ SkASSERT(fLeft < fRight && fTop < fBottom);
497
+ SkASSERT(r.fLeft < r.fRight && r.fTop < r.fBottom);
498
+ return fLeft <= r.fLeft && fTop <= r.fTop && fRight >= r.fRight && fBottom >= r.fBottom;
499
+ }
500
+
501
+ /** Returns true if SkIRect intersects r, and sets SkIRect to intersection.
502
+ Returns false if SkIRect does not intersect r, and leaves SkIRect unchanged.
503
+
504
+ Returns false if either r or SkIRect is empty, leaving SkIRect unchanged.
505
+
506
+ @param r limit of result
507
+ @return true if r and SkIRect have area in common
508
+ */
509
+ bool intersect(const SkIRect& r) {
510
+ return this->intersect(*this, r);
511
+ }
512
+
513
+ /** Returns true if a intersects b, and sets SkIRect to intersection.
514
+ Returns false if a does not intersect b, and leaves SkIRect unchanged.
515
+
516
+ Returns false if either a or b is empty, leaving SkIRect unchanged.
517
+
518
+ @param a SkIRect to intersect
519
+ @param b SkIRect to intersect
520
+ @return true if a and b have area in common
521
+ */
522
+ bool SK_WARN_UNUSED_RESULT intersect(const SkIRect& a, const SkIRect& b);
523
+
524
+ /** Returns true if a intersects b.
525
+ Returns false if either a or b is empty, or do not intersect.
526
+
527
+ @param a SkIRect to intersect
528
+ @param b SkIRect to intersect
529
+ @return true if a and b have area in common
530
+ */
531
+ static bool Intersects(const SkIRect& a, const SkIRect& b) {
532
+ return SkIRect{}.intersect(a, b);
533
+ }
534
+
535
+ /** Sets SkIRect to the union of itself and r.
536
+
537
+ Has no effect if r is empty. Otherwise, if SkIRect is empty, sets SkIRect to r.
538
+
539
+ @param r expansion SkIRect
540
+
541
+ example: https://fiddle.skia.org/c/@IRect_join_2
542
+ */
543
+ void join(const SkIRect& r);
544
+
545
+ /** Swaps fLeft and fRight if fLeft is greater than fRight; and swaps
546
+ fTop and fBottom if fTop is greater than fBottom. Result may be empty,
547
+ and width() and height() will be zero or positive.
548
+ */
549
+ void sort() {
550
+ using std::swap;
551
+ if (fLeft > fRight) {
552
+ swap(fLeft, fRight);
553
+ }
554
+ if (fTop > fBottom) {
555
+ swap(fTop, fBottom);
556
+ }
557
+ }
558
+
559
+ /** Returns SkIRect with fLeft and fRight swapped if fLeft is greater than fRight; and
560
+ with fTop and fBottom swapped if fTop is greater than fBottom. Result may be empty;
561
+ and width() and height() will be zero or positive.
562
+
563
+ @return sorted SkIRect
564
+ */
565
+ SkIRect makeSorted() const {
566
+ return MakeLTRB(std::min(fLeft, fRight), std::min(fTop, fBottom),
567
+ std::max(fLeft, fRight), std::max(fTop, fBottom));
568
+ }
569
+ };
570
+
571
+ /** \struct SkRect
572
+ SkRect holds four SkScalar coordinates describing the upper and
573
+ lower bounds of a rectangle. SkRect may be created from outer bounds or
574
+ from position, width, and height. SkRect describes an area; if its right
575
+ is less than or equal to its left, or if its bottom is less than or equal to
576
+ its top, it is considered empty.
577
+ */
578
+ struct SK_API SkRect {
579
+ SkScalar fLeft; //!< smaller x-axis bounds
580
+ SkScalar fTop; //!< smaller y-axis bounds
581
+ SkScalar fRight; //!< larger x-axis bounds
582
+ SkScalar fBottom; //!< larger y-axis bounds
583
+
584
+ /** Returns constructed SkRect set to (0, 0, 0, 0).
585
+ Many other rectangles are empty; if left is equal to or greater than right,
586
+ or if top is equal to or greater than bottom. Setting all members to zero
587
+ is a convenience, but does not designate a special empty rectangle.
588
+
589
+ @return bounds (0, 0, 0, 0)
590
+ */
591
+ static constexpr SkRect SK_WARN_UNUSED_RESULT MakeEmpty() {
592
+ return SkRect{0, 0, 0, 0};
593
+ }
594
+
595
+ /** Returns constructed SkRect set to SkScalar values (0, 0, w, h). Does not
596
+ validate input; w or h may be negative.
597
+
598
+ Passing integer values may generate a compiler warning since SkRect cannot
599
+ represent 32-bit integers exactly. Use SkIRect for an exact integer rectangle.
600
+
601
+ @param w SkScalar width of constructed SkRect
602
+ @param h SkScalar height of constructed SkRect
603
+ @return bounds (0, 0, w, h)
604
+ */
605
+ static constexpr SkRect SK_WARN_UNUSED_RESULT MakeWH(SkScalar w, SkScalar h) {
606
+ return SkRect{0, 0, w, h};
607
+ }
608
+
609
+ /** Returns constructed SkRect set to integer values (0, 0, w, h). Does not validate
610
+ input; w or h may be negative.
611
+
612
+ Use to avoid a compiler warning that input may lose precision when stored.
613
+ Use SkIRect for an exact integer rectangle.
614
+
615
+ @param w integer width of constructed SkRect
616
+ @param h integer height of constructed SkRect
617
+ @return bounds (0, 0, w, h)
618
+ */
619
+ static SkRect SK_WARN_UNUSED_RESULT MakeIWH(int w, int h) {
620
+ return {0, 0, SkIntToScalar(w), SkIntToScalar(h)};
621
+ }
622
+
623
+ /** Returns constructed SkRect set to (0, 0, size.width(), size.height()). Does not
624
+ validate input; size.width() or size.height() may be negative.
625
+
626
+ @param size SkScalar values for SkRect width and height
627
+ @return bounds (0, 0, size.width(), size.height())
628
+ */
629
+ static constexpr SkRect SK_WARN_UNUSED_RESULT MakeSize(const SkSize& size) {
630
+ return SkRect{0, 0, size.fWidth, size.fHeight};
631
+ }
632
+
633
+ /** Returns constructed SkRect set to (l, t, r, b). Does not sort input; SkRect may
634
+ result in fLeft greater than fRight, or fTop greater than fBottom.
635
+
636
+ @param l SkScalar stored in fLeft
637
+ @param t SkScalar stored in fTop
638
+ @param r SkScalar stored in fRight
639
+ @param b SkScalar stored in fBottom
640
+ @return bounds (l, t, r, b)
641
+ */
642
+ static constexpr SkRect SK_WARN_UNUSED_RESULT MakeLTRB(SkScalar l, SkScalar t, SkScalar r,
643
+ SkScalar b) {
644
+ return SkRect {l, t, r, b};
645
+ }
646
+
647
+ /** Returns constructed SkRect set to (x, y, x + w, y + h).
648
+ Does not validate input; w or h may be negative.
649
+
650
+ @param x stored in fLeft
651
+ @param y stored in fTop
652
+ @param w added to x and stored in fRight
653
+ @param h added to y and stored in fBottom
654
+ @return bounds at (x, y) with width w and height h
655
+ */
656
+ static constexpr SkRect SK_WARN_UNUSED_RESULT MakeXYWH(SkScalar x, SkScalar y, SkScalar w,
657
+ SkScalar h) {
658
+ return SkRect {x, y, x + w, y + h};
659
+ }
660
+
661
+ /** Returns constructed SkIRect set to (0, 0, size.width(), size.height()).
662
+ Does not validate input; size.width() or size.height() may be negative.
663
+
664
+ @param size integer values for SkRect width and height
665
+ @return bounds (0, 0, size.width(), size.height())
666
+ */
667
+ static SkRect Make(const SkISize& size) {
668
+ return MakeIWH(size.width(), size.height());
669
+ }
670
+
671
+ /** Returns constructed SkIRect set to irect, promoting integers to scalar.
672
+ Does not validate input; fLeft may be greater than fRight, fTop may be greater
673
+ than fBottom.
674
+
675
+ @param irect integer unsorted bounds
676
+ @return irect members converted to SkScalar
677
+ */
678
+ static SkRect SK_WARN_UNUSED_RESULT Make(const SkIRect& irect) {
679
+ return {
680
+ SkIntToScalar(irect.fLeft), SkIntToScalar(irect.fTop),
681
+ SkIntToScalar(irect.fRight), SkIntToScalar(irect.fBottom)
682
+ };
683
+ }
684
+
685
+ /** Returns true if fLeft is equal to or greater than fRight, or if fTop is equal
686
+ to or greater than fBottom. Call sort() to reverse rectangles with negative
687
+ width() or height().
688
+
689
+ @return true if width() or height() are zero or negative
690
+ */
691
+ bool isEmpty() const {
692
+ // We write it as the NOT of a non-empty rect, so we will return true if any values
693
+ // are NaN.
694
+ return !(fLeft < fRight && fTop < fBottom);
695
+ }
696
+
697
+ /** Returns true if fLeft is equal to or less than fRight, or if fTop is equal
698
+ to or less than fBottom. Call sort() to reverse rectangles with negative
699
+ width() or height().
700
+
701
+ @return true if width() or height() are zero or positive
702
+ */
703
+ bool isSorted() const { return fLeft <= fRight && fTop <= fBottom; }
704
+
705
+ /** Returns true if all values in the rectangle are finite: SK_ScalarMin or larger,
706
+ and SK_ScalarMax or smaller.
707
+
708
+ @return true if no member is infinite or NaN
709
+ */
710
+ bool isFinite() const {
711
+ float accum = 0;
712
+ accum *= fLeft;
713
+ accum *= fTop;
714
+ accum *= fRight;
715
+ accum *= fBottom;
716
+
717
+ // accum is either NaN or it is finite (zero).
718
+ SkASSERT(0 == accum || SkScalarIsNaN(accum));
719
+
720
+ // value==value will be true iff value is not NaN
721
+ // TODO: is it faster to say !accum or accum==accum?
722
+ return !SkScalarIsNaN(accum);
723
+ }
724
+
725
+ /** Returns left edge of SkRect, if sorted. Call isSorted() to see if SkRect is valid.
726
+ Call sort() to reverse fLeft and fRight if needed.
727
+
728
+ @return fLeft
729
+ */
730
+ constexpr SkScalar x() const { return fLeft; }
731
+
732
+ /** Returns top edge of SkRect, if sorted. Call isEmpty() to see if SkRect may be invalid,
733
+ and sort() to reverse fTop and fBottom if needed.
734
+
735
+ @return fTop
736
+ */
737
+ constexpr SkScalar y() const { return fTop; }
738
+
739
+ /** Returns left edge of SkRect, if sorted. Call isSorted() to see if SkRect is valid.
740
+ Call sort() to reverse fLeft and fRight if needed.
741
+
742
+ @return fLeft
743
+ */
744
+ constexpr SkScalar left() const { return fLeft; }
745
+
746
+ /** Returns top edge of SkRect, if sorted. Call isEmpty() to see if SkRect may be invalid,
747
+ and sort() to reverse fTop and fBottom if needed.
748
+
749
+ @return fTop
750
+ */
751
+ constexpr SkScalar top() const { return fTop; }
752
+
753
+ /** Returns right edge of SkRect, if sorted. Call isSorted() to see if SkRect is valid.
754
+ Call sort() to reverse fLeft and fRight if needed.
755
+
756
+ @return fRight
757
+ */
758
+ constexpr SkScalar right() const { return fRight; }
759
+
760
+ /** Returns bottom edge of SkRect, if sorted. Call isEmpty() to see if SkRect may be invalid,
761
+ and sort() to reverse fTop and fBottom if needed.
762
+
763
+ @return fBottom
764
+ */
765
+ constexpr SkScalar bottom() const { return fBottom; }
766
+
767
+ /** Returns span on the x-axis. This does not check if SkRect is sorted, or if
768
+ result fits in 32-bit float; result may be negative or infinity.
769
+
770
+ @return fRight minus fLeft
771
+ */
772
+ constexpr SkScalar width() const { return fRight - fLeft; }
773
+
774
+ /** Returns span on the y-axis. This does not check if SkRect is sorted, or if
775
+ result fits in 32-bit float; result may be negative or infinity.
776
+
777
+ @return fBottom minus fTop
778
+ */
779
+ constexpr SkScalar height() const { return fBottom - fTop; }
780
+
781
+ /** Returns average of left edge and right edge. Result does not change if SkRect
782
+ is sorted. Result may overflow to infinity if SkRect is far from the origin.
783
+
784
+ @return midpoint on x-axis
785
+ */
786
+ SkScalar centerX() const {
787
+ // don't use SkScalarHalf(fLeft + fBottom) as that might overflow before the 0.5
788
+ return SkScalarHalf(fLeft) + SkScalarHalf(fRight);
789
+ }
790
+
791
+ /** Returns average of top edge and bottom edge. Result does not change if SkRect
792
+ is sorted.
793
+
794
+ @return midpoint on y-axis
795
+ */
796
+ SkScalar centerY() const {
797
+ // don't use SkScalarHalf(fTop + fBottom) as that might overflow before the 0.5
798
+ return SkScalarHalf(fTop) + SkScalarHalf(fBottom);
799
+ }
800
+
801
+ /** Returns true if all members in a: fLeft, fTop, fRight, and fBottom; are
802
+ equal to the corresponding members in b.
803
+
804
+ a and b are not equal if either contain NaN. a and b are equal if members
805
+ contain zeroes with different signs.
806
+
807
+ @param a SkRect to compare
808
+ @param b SkRect to compare
809
+ @return true if members are equal
810
+ */
811
+ friend bool operator==(const SkRect& a, const SkRect& b) {
812
+ return SkScalarsEqual((const SkScalar*)&a, (const SkScalar*)&b, 4);
813
+ }
814
+
815
+ /** Returns true if any in a: fLeft, fTop, fRight, and fBottom; does not
816
+ equal the corresponding members in b.
817
+
818
+ a and b are not equal if either contain NaN. a and b are equal if members
819
+ contain zeroes with different signs.
820
+
821
+ @param a SkRect to compare
822
+ @param b SkRect to compare
823
+ @return true if members are not equal
824
+ */
825
+ friend bool operator!=(const SkRect& a, const SkRect& b) {
826
+ return !SkScalarsEqual((const SkScalar*)&a, (const SkScalar*)&b, 4);
827
+ }
828
+
829
+ /** Returns four points in quad that enclose SkRect ordered as: top-left, top-right,
830
+ bottom-right, bottom-left.
831
+
832
+ TODO: Consider adding parameter to control whether quad is clockwise or counterclockwise.
833
+
834
+ @param quad storage for corners of SkRect
835
+
836
+ example: https://fiddle.skia.org/c/@Rect_toQuad
837
+ */
838
+ void toQuad(SkPoint quad[4]) const;
839
+
840
+ /** Sets SkRect to (0, 0, 0, 0).
841
+
842
+ Many other rectangles are empty; if left is equal to or greater than right,
843
+ or if top is equal to or greater than bottom. Setting all members to zero
844
+ is a convenience, but does not designate a special empty rectangle.
845
+ */
846
+ void setEmpty() { *this = MakeEmpty(); }
847
+
848
+ /** Sets SkRect to src, promoting src members from integer to scalar.
849
+ Very large values in src may lose precision.
850
+
851
+ @param src integer SkRect
852
+ */
853
+ void set(const SkIRect& src) {
854
+ fLeft = SkIntToScalar(src.fLeft);
855
+ fTop = SkIntToScalar(src.fTop);
856
+ fRight = SkIntToScalar(src.fRight);
857
+ fBottom = SkIntToScalar(src.fBottom);
858
+ }
859
+
860
+ /** Sets SkRect to (left, top, right, bottom).
861
+ left and right are not sorted; left is not necessarily less than right.
862
+ top and bottom are not sorted; top is not necessarily less than bottom.
863
+
864
+ @param left stored in fLeft
865
+ @param top stored in fTop
866
+ @param right stored in fRight
867
+ @param bottom stored in fBottom
868
+ */
869
+ void setLTRB(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom) {
870
+ fLeft = left;
871
+ fTop = top;
872
+ fRight = right;
873
+ fBottom = bottom;
874
+ }
875
+
876
+ /** Sets to bounds of SkPoint array with count entries. If count is zero or smaller,
877
+ or if SkPoint array contains an infinity or NaN, sets to (0, 0, 0, 0).
878
+
879
+ Result is either empty or sorted: fLeft is less than or equal to fRight, and
880
+ fTop is less than or equal to fBottom.
881
+
882
+ @param pts SkPoint array
883
+ @param count entries in array
884
+ */
885
+ void setBounds(const SkPoint pts[], int count) {
886
+ (void)this->setBoundsCheck(pts, count);
887
+ }
888
+
889
+ /** Sets to bounds of SkPoint array with count entries. Returns false if count is
890
+ zero or smaller, or if SkPoint array contains an infinity or NaN; in these cases
891
+ sets SkRect to (0, 0, 0, 0).
892
+
893
+ Result is either empty or sorted: fLeft is less than or equal to fRight, and
894
+ fTop is less than or equal to fBottom.
895
+
896
+ @param pts SkPoint array
897
+ @param count entries in array
898
+ @return true if all SkPoint values are finite
899
+
900
+ example: https://fiddle.skia.org/c/@Rect_setBoundsCheck
901
+ */
902
+ bool setBoundsCheck(const SkPoint pts[], int count);
903
+
904
+ /** Sets to bounds of SkPoint pts array with count entries. If any SkPoint in pts
905
+ contains infinity or NaN, all SkRect dimensions are set to NaN.
906
+
907
+ @param pts SkPoint array
908
+ @param count entries in array
909
+
910
+ example: https://fiddle.skia.org/c/@Rect_setBoundsNoCheck
911
+ */
912
+ void setBoundsNoCheck(const SkPoint pts[], int count);
913
+
914
+ /** Sets bounds to the smallest SkRect enclosing SkPoint p0 and p1. The result is
915
+ sorted and may be empty. Does not check to see if values are finite.
916
+
917
+ @param p0 corner to include
918
+ @param p1 corner to include
919
+ */
920
+ void set(const SkPoint& p0, const SkPoint& p1) {
921
+ fLeft = std::min(p0.fX, p1.fX);
922
+ fRight = std::max(p0.fX, p1.fX);
923
+ fTop = std::min(p0.fY, p1.fY);
924
+ fBottom = std::max(p0.fY, p1.fY);
925
+ }
926
+
927
+ /** Sets SkRect to (x, y, x + width, y + height).
928
+ Does not validate input; width or height may be negative.
929
+
930
+ @param x stored in fLeft
931
+ @param y stored in fTop
932
+ @param width added to x and stored in fRight
933
+ @param height added to y and stored in fBottom
934
+ */
935
+ void setXYWH(SkScalar x, SkScalar y, SkScalar width, SkScalar height) {
936
+ fLeft = x;
937
+ fTop = y;
938
+ fRight = x + width;
939
+ fBottom = y + height;
940
+ }
941
+
942
+ /** Sets SkRect to (0, 0, width, height). Does not validate input;
943
+ width or height may be negative.
944
+
945
+ @param width stored in fRight
946
+ @param height stored in fBottom
947
+ */
948
+ void setWH(SkScalar width, SkScalar height) {
949
+ fLeft = 0;
950
+ fTop = 0;
951
+ fRight = width;
952
+ fBottom = height;
953
+ }
954
+ void setIWH(int32_t width, int32_t height) {
955
+ this->setWH(SkIntToScalar(width), SkIntToScalar(height));
956
+ }
957
+
958
+ /** Returns SkRect offset by (dx, dy).
959
+
960
+ If dx is negative, SkRect returned is moved to the left.
961
+ If dx is positive, SkRect returned is moved to the right.
962
+ If dy is negative, SkRect returned is moved upward.
963
+ If dy is positive, SkRect returned is moved downward.
964
+
965
+ @param dx added to fLeft and fRight
966
+ @param dy added to fTop and fBottom
967
+ @return SkRect offset on axes, with original width and height
968
+ */
969
+ constexpr SkRect makeOffset(SkScalar dx, SkScalar dy) const {
970
+ return MakeLTRB(fLeft + dx, fTop + dy, fRight + dx, fBottom + dy);
971
+ }
972
+
973
+ /** Returns SkRect offset by v.
974
+
975
+ @param v added to rect
976
+ @return SkRect offset on axes, with original width and height
977
+ */
978
+ constexpr SkRect makeOffset(SkVector v) const { return this->makeOffset(v.x(), v.y()); }
979
+
980
+ /** Returns SkRect, inset by (dx, dy).
981
+
982
+ If dx is negative, SkRect returned is wider.
983
+ If dx is positive, SkRect returned is narrower.
984
+ If dy is negative, SkRect returned is taller.
985
+ If dy is positive, SkRect returned is shorter.
986
+
987
+ @param dx added to fLeft and subtracted from fRight
988
+ @param dy added to fTop and subtracted from fBottom
989
+ @return SkRect inset symmetrically left and right, top and bottom
990
+ */
991
+ SkRect makeInset(SkScalar dx, SkScalar dy) const {
992
+ return MakeLTRB(fLeft + dx, fTop + dy, fRight - dx, fBottom - dy);
993
+ }
994
+
995
+ /** Returns SkRect, outset by (dx, dy).
996
+
997
+ If dx is negative, SkRect returned is narrower.
998
+ If dx is positive, SkRect returned is wider.
999
+ If dy is negative, SkRect returned is shorter.
1000
+ If dy is positive, SkRect returned is taller.
1001
+
1002
+ @param dx subtracted to fLeft and added from fRight
1003
+ @param dy subtracted to fTop and added from fBottom
1004
+ @return SkRect outset symmetrically left and right, top and bottom
1005
+ */
1006
+ SkRect makeOutset(SkScalar dx, SkScalar dy) const {
1007
+ return MakeLTRB(fLeft - dx, fTop - dy, fRight + dx, fBottom + dy);
1008
+ }
1009
+
1010
+ /** Offsets SkRect by adding dx to fLeft, fRight; and by adding dy to fTop, fBottom.
1011
+
1012
+ If dx is negative, moves SkRect to the left.
1013
+ If dx is positive, moves SkRect to the right.
1014
+ If dy is negative, moves SkRect upward.
1015
+ If dy is positive, moves SkRect downward.
1016
+
1017
+ @param dx offset added to fLeft and fRight
1018
+ @param dy offset added to fTop and fBottom
1019
+ */
1020
+ void offset(SkScalar dx, SkScalar dy) {
1021
+ fLeft += dx;
1022
+ fTop += dy;
1023
+ fRight += dx;
1024
+ fBottom += dy;
1025
+ }
1026
+
1027
+ /** Offsets SkRect by adding delta.fX to fLeft, fRight; and by adding delta.fY to
1028
+ fTop, fBottom.
1029
+
1030
+ If delta.fX is negative, moves SkRect to the left.
1031
+ If delta.fX is positive, moves SkRect to the right.
1032
+ If delta.fY is negative, moves SkRect upward.
1033
+ If delta.fY is positive, moves SkRect downward.
1034
+
1035
+ @param delta added to SkRect
1036
+ */
1037
+ void offset(const SkPoint& delta) {
1038
+ this->offset(delta.fX, delta.fY);
1039
+ }
1040
+
1041
+ /** Offsets SkRect so that fLeft equals newX, and fTop equals newY. width and height
1042
+ are unchanged.
1043
+
1044
+ @param newX stored in fLeft, preserving width()
1045
+ @param newY stored in fTop, preserving height()
1046
+ */
1047
+ void offsetTo(SkScalar newX, SkScalar newY) {
1048
+ fRight += newX - fLeft;
1049
+ fBottom += newY - fTop;
1050
+ fLeft = newX;
1051
+ fTop = newY;
1052
+ }
1053
+
1054
+ /** Insets SkRect by (dx, dy).
1055
+
1056
+ If dx is positive, makes SkRect narrower.
1057
+ If dx is negative, makes SkRect wider.
1058
+ If dy is positive, makes SkRect shorter.
1059
+ If dy is negative, makes SkRect taller.
1060
+
1061
+ @param dx added to fLeft and subtracted from fRight
1062
+ @param dy added to fTop and subtracted from fBottom
1063
+ */
1064
+ void inset(SkScalar dx, SkScalar dy) {
1065
+ fLeft += dx;
1066
+ fTop += dy;
1067
+ fRight -= dx;
1068
+ fBottom -= dy;
1069
+ }
1070
+
1071
+ /** Outsets SkRect by (dx, dy).
1072
+
1073
+ If dx is positive, makes SkRect wider.
1074
+ If dx is negative, makes SkRect narrower.
1075
+ If dy is positive, makes SkRect taller.
1076
+ If dy is negative, makes SkRect shorter.
1077
+
1078
+ @param dx subtracted to fLeft and added from fRight
1079
+ @param dy subtracted to fTop and added from fBottom
1080
+ */
1081
+ void outset(SkScalar dx, SkScalar dy) { this->inset(-dx, -dy); }
1082
+
1083
+ /** Returns true if SkRect intersects r, and sets SkRect to intersection.
1084
+ Returns false if SkRect does not intersect r, and leaves SkRect unchanged.
1085
+
1086
+ Returns false if either r or SkRect is empty, leaving SkRect unchanged.
1087
+
1088
+ @param r limit of result
1089
+ @return true if r and SkRect have area in common
1090
+
1091
+ example: https://fiddle.skia.org/c/@Rect_intersect
1092
+ */
1093
+ bool intersect(const SkRect& r);
1094
+
1095
+ /** Returns true if a intersects b, and sets SkRect to intersection.
1096
+ Returns false if a does not intersect b, and leaves SkRect unchanged.
1097
+
1098
+ Returns false if either a or b is empty, leaving SkRect unchanged.
1099
+
1100
+ @param a SkRect to intersect
1101
+ @param b SkRect to intersect
1102
+ @return true if a and b have area in common
1103
+ */
1104
+ bool SK_WARN_UNUSED_RESULT intersect(const SkRect& a, const SkRect& b);
1105
+
1106
+
1107
+ private:
1108
+ static bool Intersects(SkScalar al, SkScalar at, SkScalar ar, SkScalar ab,
1109
+ SkScalar bl, SkScalar bt, SkScalar br, SkScalar bb) {
1110
+ SkScalar L = std::max(al, bl);
1111
+ SkScalar R = std::min(ar, br);
1112
+ SkScalar T = std::max(at, bt);
1113
+ SkScalar B = std::min(ab, bb);
1114
+ return L < R && T < B;
1115
+ }
1116
+
1117
+ public:
1118
+
1119
+ /** Returns true if SkRect intersects r.
1120
+ Returns false if either r or SkRect is empty, or do not intersect.
1121
+
1122
+ @param r SkRect to intersect
1123
+ @return true if r and SkRect have area in common
1124
+ */
1125
+ bool intersects(const SkRect& r) const {
1126
+ return Intersects(fLeft, fTop, fRight, fBottom,
1127
+ r.fLeft, r.fTop, r.fRight, r.fBottom);
1128
+ }
1129
+
1130
+ /** Returns true if a intersects b.
1131
+ Returns false if either a or b is empty, or do not intersect.
1132
+
1133
+ @param a SkRect to intersect
1134
+ @param b SkRect to intersect
1135
+ @return true if a and b have area in common
1136
+ */
1137
+ static bool Intersects(const SkRect& a, const SkRect& b) {
1138
+ return Intersects(a.fLeft, a.fTop, a.fRight, a.fBottom,
1139
+ b.fLeft, b.fTop, b.fRight, b.fBottom);
1140
+ }
1141
+
1142
+ /** Sets SkRect to the union of itself and r.
1143
+
1144
+ Has no effect if r is empty. Otherwise, if SkRect is empty, sets
1145
+ SkRect to r.
1146
+
1147
+ @param r expansion SkRect
1148
+
1149
+ example: https://fiddle.skia.org/c/@Rect_join_2
1150
+ */
1151
+ void join(const SkRect& r);
1152
+
1153
+ /** Sets SkRect to the union of itself and r.
1154
+
1155
+ Asserts if r is empty and SK_DEBUG is defined.
1156
+ If SkRect is empty, sets SkRect to r.
1157
+
1158
+ May produce incorrect results if r is empty.
1159
+
1160
+ @param r expansion SkRect
1161
+ */
1162
+ void joinNonEmptyArg(const SkRect& r) {
1163
+ SkASSERT(!r.isEmpty());
1164
+ // if we are empty, just assign
1165
+ if (fLeft >= fRight || fTop >= fBottom) {
1166
+ *this = r;
1167
+ } else {
1168
+ this->joinPossiblyEmptyRect(r);
1169
+ }
1170
+ }
1171
+
1172
+ /** Sets SkRect to the union of itself and the construction.
1173
+
1174
+ May produce incorrect results if SkRect or r is empty.
1175
+
1176
+ @param r expansion SkRect
1177
+ */
1178
+ void joinPossiblyEmptyRect(const SkRect& r) {
1179
+ fLeft = std::min(fLeft, r.left());
1180
+ fTop = std::min(fTop, r.top());
1181
+ fRight = std::max(fRight, r.right());
1182
+ fBottom = std::max(fBottom, r.bottom());
1183
+ }
1184
+
1185
+ /** Returns true if: fLeft <= x < fRight && fTop <= y < fBottom.
1186
+ Returns false if SkRect is empty.
1187
+
1188
+ @param x test SkPoint x-coordinate
1189
+ @param y test SkPoint y-coordinate
1190
+ @return true if (x, y) is inside SkRect
1191
+ */
1192
+ bool contains(SkScalar x, SkScalar y) const {
1193
+ return x >= fLeft && x < fRight && y >= fTop && y < fBottom;
1194
+ }
1195
+
1196
+ /** Returns true if SkRect contains r.
1197
+ Returns false if SkRect is empty or r is empty.
1198
+
1199
+ SkRect contains r when SkRect area completely includes r area.
1200
+
1201
+ @param r SkRect contained
1202
+ @return true if all sides of SkRect are outside r
1203
+ */
1204
+ bool contains(const SkRect& r) const {
1205
+ // todo: can we eliminate the this->isEmpty check?
1206
+ return !r.isEmpty() && !this->isEmpty() &&
1207
+ fLeft <= r.fLeft && fTop <= r.fTop &&
1208
+ fRight >= r.fRight && fBottom >= r.fBottom;
1209
+ }
1210
+
1211
+ /** Returns true if SkRect contains r.
1212
+ Returns false if SkRect is empty or r is empty.
1213
+
1214
+ SkRect contains r when SkRect area completely includes r area.
1215
+
1216
+ @param r SkIRect contained
1217
+ @return true if all sides of SkRect are outside r
1218
+ */
1219
+ bool contains(const SkIRect& r) const {
1220
+ // todo: can we eliminate the this->isEmpty check?
1221
+ return !r.isEmpty() && !this->isEmpty() &&
1222
+ fLeft <= SkIntToScalar(r.fLeft) && fTop <= SkIntToScalar(r.fTop) &&
1223
+ fRight >= SkIntToScalar(r.fRight) && fBottom >= SkIntToScalar(r.fBottom);
1224
+ }
1225
+
1226
+ /** Sets SkIRect by adding 0.5 and discarding the fractional portion of SkRect
1227
+ members, using (SkScalarRoundToInt(fLeft), SkScalarRoundToInt(fTop),
1228
+ SkScalarRoundToInt(fRight), SkScalarRoundToInt(fBottom)).
1229
+
1230
+ @param dst storage for SkIRect
1231
+ */
1232
+ void round(SkIRect* dst) const {
1233
+ SkASSERT(dst);
1234
+ dst->setLTRB(SkScalarRoundToInt(fLeft), SkScalarRoundToInt(fTop),
1235
+ SkScalarRoundToInt(fRight), SkScalarRoundToInt(fBottom));
1236
+ }
1237
+
1238
+ /** Sets SkIRect by discarding the fractional portion of fLeft and fTop; and rounding
1239
+ up fRight and fBottom, using
1240
+ (SkScalarFloorToInt(fLeft), SkScalarFloorToInt(fTop),
1241
+ SkScalarCeilToInt(fRight), SkScalarCeilToInt(fBottom)).
1242
+
1243
+ @param dst storage for SkIRect
1244
+ */
1245
+ void roundOut(SkIRect* dst) const {
1246
+ SkASSERT(dst);
1247
+ dst->setLTRB(SkScalarFloorToInt(fLeft), SkScalarFloorToInt(fTop),
1248
+ SkScalarCeilToInt(fRight), SkScalarCeilToInt(fBottom));
1249
+ }
1250
+
1251
+ /** Sets SkRect by discarding the fractional portion of fLeft and fTop; and rounding
1252
+ up fRight and fBottom, using
1253
+ (SkScalarFloorToInt(fLeft), SkScalarFloorToInt(fTop),
1254
+ SkScalarCeilToInt(fRight), SkScalarCeilToInt(fBottom)).
1255
+
1256
+ @param dst storage for SkRect
1257
+ */
1258
+ void roundOut(SkRect* dst) const {
1259
+ dst->setLTRB(SkScalarFloorToScalar(fLeft), SkScalarFloorToScalar(fTop),
1260
+ SkScalarCeilToScalar(fRight), SkScalarCeilToScalar(fBottom));
1261
+ }
1262
+
1263
+ /** Sets SkRect by rounding up fLeft and fTop; and discarding the fractional portion
1264
+ of fRight and fBottom, using
1265
+ (SkScalarCeilToInt(fLeft), SkScalarCeilToInt(fTop),
1266
+ SkScalarFloorToInt(fRight), SkScalarFloorToInt(fBottom)).
1267
+
1268
+ @param dst storage for SkIRect
1269
+ */
1270
+ void roundIn(SkIRect* dst) const {
1271
+ SkASSERT(dst);
1272
+ dst->setLTRB(SkScalarCeilToInt(fLeft), SkScalarCeilToInt(fTop),
1273
+ SkScalarFloorToInt(fRight), SkScalarFloorToInt(fBottom));
1274
+ }
1275
+
1276
+ /** Returns SkIRect by adding 0.5 and discarding the fractional portion of SkRect
1277
+ members, using (SkScalarRoundToInt(fLeft), SkScalarRoundToInt(fTop),
1278
+ SkScalarRoundToInt(fRight), SkScalarRoundToInt(fBottom)).
1279
+
1280
+ @return rounded SkIRect
1281
+ */
1282
+ SkIRect round() const {
1283
+ SkIRect ir;
1284
+ this->round(&ir);
1285
+ return ir;
1286
+ }
1287
+
1288
+ /** Sets SkIRect by discarding the fractional portion of fLeft and fTop; and rounding
1289
+ up fRight and fBottom, using
1290
+ (SkScalarFloorToInt(fLeft), SkScalarFloorToInt(fTop),
1291
+ SkScalarCeilToInt(fRight), SkScalarCeilToInt(fBottom)).
1292
+
1293
+ @return rounded SkIRect
1294
+ */
1295
+ SkIRect roundOut() const {
1296
+ SkIRect ir;
1297
+ this->roundOut(&ir);
1298
+ return ir;
1299
+ }
1300
+ /** Sets SkIRect by rounding up fLeft and fTop; and discarding the fractional portion
1301
+ of fRight and fBottom, using
1302
+ (SkScalarCeilToInt(fLeft), SkScalarCeilToInt(fTop),
1303
+ SkScalarFloorToInt(fRight), SkScalarFloorToInt(fBottom)).
1304
+
1305
+ @return rounded SkIRect
1306
+ */
1307
+ SkIRect roundIn() const {
1308
+ SkIRect ir;
1309
+ this->roundIn(&ir);
1310
+ return ir;
1311
+ }
1312
+
1313
+ /** Swaps fLeft and fRight if fLeft is greater than fRight; and swaps
1314
+ fTop and fBottom if fTop is greater than fBottom. Result may be empty;
1315
+ and width() and height() will be zero or positive.
1316
+ */
1317
+ void sort() {
1318
+ using std::swap;
1319
+ if (fLeft > fRight) {
1320
+ swap(fLeft, fRight);
1321
+ }
1322
+
1323
+ if (fTop > fBottom) {
1324
+ swap(fTop, fBottom);
1325
+ }
1326
+ }
1327
+
1328
+ /** Returns SkRect with fLeft and fRight swapped if fLeft is greater than fRight; and
1329
+ with fTop and fBottom swapped if fTop is greater than fBottom. Result may be empty;
1330
+ and width() and height() will be zero or positive.
1331
+
1332
+ @return sorted SkRect
1333
+ */
1334
+ SkRect makeSorted() const {
1335
+ return MakeLTRB(std::min(fLeft, fRight), std::min(fTop, fBottom),
1336
+ std::max(fLeft, fRight), std::max(fTop, fBottom));
1337
+ }
1338
+
1339
+ /** Returns pointer to first scalar in SkRect, to treat it as an array with four
1340
+ entries.
1341
+
1342
+ @return pointer to fLeft
1343
+ */
1344
+ const SkScalar* asScalars() const { return &fLeft; }
1345
+
1346
+ /** Writes text representation of SkRect to standard output. Set asHex to true to
1347
+ generate exact binary representations of floating point numbers.
1348
+
1349
+ @param asHex true if SkScalar values are written as hexadecimal
1350
+
1351
+ example: https://fiddle.skia.org/c/@Rect_dump
1352
+ */
1353
+ void dump(bool asHex) const;
1354
+
1355
+ /** Writes text representation of SkRect to standard output. The representation may be
1356
+ directly compiled as C++ code. Floating point values are written
1357
+ with limited precision; it may not be possible to reconstruct original SkRect
1358
+ from output.
1359
+ */
1360
+ void dump() const { this->dump(false); }
1361
+
1362
+ /** Writes text representation of SkRect to standard output. The representation may be
1363
+ directly compiled as C++ code. Floating point values are written
1364
+ in hexadecimal to preserve their exact bit pattern. The output reconstructs the
1365
+ original SkRect.
1366
+
1367
+ Use instead of dump() when submitting
1368
+ */
1369
+ void dumpHex() const { this->dump(true); }
1370
+ };
1371
+
1372
+ inline bool SkIRect::contains(const SkRect& r) const {
1373
+ return !r.isEmpty() && !this->isEmpty() && // check for empties
1374
+ (SkScalar)fLeft <= r.fLeft && (SkScalar)fTop <= r.fTop &&
1375
+ (SkScalar)fRight >= r.fRight && (SkScalar)fBottom >= r.fBottom;
1376
+ }
1377
+
1378
+ #endif