@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,1302 @@
1
+ /*
2
+ * Copyright 2012 Google Inc.
3
+ *
4
+ * Use of this source code is governed by a BSD-style license that can be
5
+ * found in the LICENSE file.
6
+ */
7
+
8
+ #ifndef SkImage_DEFINED
9
+ #define SkImage_DEFINED
10
+
11
+ #include "include/core/SkImageEncoder.h"
12
+ #include "include/core/SkImageInfo.h"
13
+ #include "include/core/SkRefCnt.h"
14
+ #include "include/core/SkSamplingOptions.h"
15
+ #include "include/core/SkScalar.h"
16
+ #include "include/core/SkShader.h"
17
+ #include "include/core/SkTileMode.h"
18
+ #include "include/private/SkTOptional.h"
19
+ #if SK_SUPPORT_GPU
20
+ #include "include/gpu/GrTypes.h"
21
+ #endif
22
+ #include <functional> // std::function
23
+
24
+ #if defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 26
25
+ #include <android/hardware_buffer.h>
26
+ #endif
27
+
28
+ class SkData;
29
+ class SkCanvas;
30
+ class SkImage;
31
+ class SkImageFilter;
32
+ class SkImageGenerator;
33
+ class SkMipmap;
34
+ class SkPaint;
35
+ class SkPicture;
36
+ class SkPromiseImageTexture;
37
+ class SkSurface;
38
+ class SkYUVAPixmaps;
39
+ class GrBackendFormat;
40
+ class GrBackendTexture;
41
+ class GrDirectContext;
42
+ class GrRecordingContext;
43
+ class GrContextThreadSafeProxy;
44
+ class GrYUVABackendTextureInfo;
45
+ class GrYUVABackendTextures;
46
+
47
+ /** \class SkImage
48
+ SkImage describes a two dimensional array of pixels to draw. The pixels may be
49
+ decoded in a raster bitmap, encoded in a SkPicture or compressed data stream,
50
+ or located in GPU memory as a GPU texture.
51
+
52
+ SkImage cannot be modified after it is created. SkImage may allocate additional
53
+ storage as needed; for instance, an encoded SkImage may decode when drawn.
54
+
55
+ SkImage width and height are greater than zero. Creating an SkImage with zero width
56
+ or height returns SkImage equal to nullptr.
57
+
58
+ SkImage may be created from SkBitmap, SkPixmap, SkSurface, SkPicture, encoded streams,
59
+ GPU texture, YUV_ColorSpace data, or hardware buffer. Encoded streams supported
60
+ include BMP, GIF, HEIF, ICO, JPEG, PNG, WBMP, WebP. Supported encoding details
61
+ vary with platform.
62
+ */
63
+ class SK_API SkImage : public SkRefCnt {
64
+ public:
65
+
66
+ /** Caller data passed to RasterReleaseProc; may be nullptr.
67
+ */
68
+ typedef void* ReleaseContext;
69
+
70
+ /** Creates SkImage from SkPixmap and copy of pixels. Since pixels are copied, SkPixmap
71
+ pixels may be modified or deleted without affecting SkImage.
72
+
73
+ SkImage is returned if SkPixmap is valid. Valid SkPixmap parameters include:
74
+ dimensions are greater than zero;
75
+ each dimension fits in 29 bits;
76
+ SkColorType and SkAlphaType are valid, and SkColorType is not kUnknown_SkColorType;
77
+ row bytes are large enough to hold one row of pixels;
78
+ pixel address is not nullptr.
79
+
80
+ @param pixmap SkImageInfo, pixel address, and row bytes
81
+ @return copy of SkPixmap pixels, or nullptr
82
+
83
+ example: https://fiddle.skia.org/c/@Image_MakeRasterCopy
84
+ */
85
+ static sk_sp<SkImage> MakeRasterCopy(const SkPixmap& pixmap);
86
+
87
+ /** Creates SkImage from SkImageInfo, sharing pixels.
88
+
89
+ SkImage is returned if SkImageInfo is valid. Valid SkImageInfo parameters include:
90
+ dimensions are greater than zero;
91
+ each dimension fits in 29 bits;
92
+ SkColorType and SkAlphaType are valid, and SkColorType is not kUnknown_SkColorType;
93
+ rowBytes are large enough to hold one row of pixels;
94
+ pixels is not nullptr, and contains enough data for SkImage.
95
+
96
+ @param info contains width, height, SkAlphaType, SkColorType, SkColorSpace
97
+ @param pixels address or pixel storage
98
+ @param rowBytes size of pixel row or larger
99
+ @return SkImage sharing pixels, or nullptr
100
+ */
101
+ static sk_sp<SkImage> MakeRasterData(const SkImageInfo& info, sk_sp<SkData> pixels,
102
+ size_t rowBytes);
103
+
104
+ /** Function called when SkImage no longer shares pixels. ReleaseContext is
105
+ provided by caller when SkImage is created, and may be nullptr.
106
+ */
107
+ typedef void (*RasterReleaseProc)(const void* pixels, ReleaseContext);
108
+
109
+ /** Creates SkImage from pixmap, sharing SkPixmap pixels. Pixels must remain valid and
110
+ unchanged until rasterReleaseProc is called. rasterReleaseProc is passed
111
+ releaseContext when SkImage is deleted or no longer refers to pixmap pixels.
112
+
113
+ Pass nullptr for rasterReleaseProc to share SkPixmap without requiring a callback
114
+ when SkImage is released. Pass nullptr for releaseContext if rasterReleaseProc
115
+ does not require state.
116
+
117
+ SkImage is returned if pixmap is valid. Valid SkPixmap parameters include:
118
+ dimensions are greater than zero;
119
+ each dimension fits in 29 bits;
120
+ SkColorType and SkAlphaType are valid, and SkColorType is not kUnknown_SkColorType;
121
+ row bytes are large enough to hold one row of pixels;
122
+ pixel address is not nullptr.
123
+
124
+ @param pixmap SkImageInfo, pixel address, and row bytes
125
+ @param rasterReleaseProc function called when pixels can be released; or nullptr
126
+ @param releaseContext state passed to rasterReleaseProc; or nullptr
127
+ @return SkImage sharing pixmap
128
+ */
129
+ static sk_sp<SkImage> MakeFromRaster(const SkPixmap& pixmap,
130
+ RasterReleaseProc rasterReleaseProc,
131
+ ReleaseContext releaseContext);
132
+
133
+ /** Creates SkImage from bitmap, sharing or copying bitmap pixels. If the bitmap
134
+ is marked immutable, and its pixel memory is shareable, it may be shared
135
+ instead of copied.
136
+
137
+ SkImage is returned if bitmap is valid. Valid SkBitmap parameters include:
138
+ dimensions are greater than zero;
139
+ each dimension fits in 29 bits;
140
+ SkColorType and SkAlphaType are valid, and SkColorType is not kUnknown_SkColorType;
141
+ row bytes are large enough to hold one row of pixels;
142
+ pixel address is not nullptr.
143
+
144
+ @param bitmap SkImageInfo, row bytes, and pixels
145
+ @return created SkImage, or nullptr
146
+
147
+ example: https://fiddle.skia.org/c/@Image_MakeFromBitmap
148
+ */
149
+ static sk_sp<SkImage> MakeFromBitmap(const SkBitmap& bitmap);
150
+
151
+ /** Creates SkImage from data returned by imageGenerator. Generated data is owned by SkImage and
152
+ may not be shared or accessed.
153
+
154
+ SkImage is returned if generator data is valid. Valid data parameters vary by type of data
155
+ and platform.
156
+
157
+ imageGenerator may wrap SkPicture data, codec data, or custom data.
158
+
159
+ @param imageGenerator stock or custom routines to retrieve SkImage
160
+ @return created SkImage, or nullptr
161
+ */
162
+ static sk_sp<SkImage> MakeFromGenerator(std::unique_ptr<SkImageGenerator> imageGenerator);
163
+
164
+ /**
165
+ * Return an image backed by the encoded data, but attempt to defer decoding until the image
166
+ * is actually used/drawn. This deferral allows the system to cache the result, either on the
167
+ * CPU or on the GPU, depending on where the image is drawn. If memory is low, the cache may
168
+ * be purged, causing the next draw of the image to have to re-decode.
169
+ *
170
+ * If alphaType is nullopt, the image's alpha type will be chosen automatically based on the
171
+ * image format. Transparent images will default to kPremul_SkAlphaType. If alphaType contains
172
+ * kPremul_SkAlphaType or kUnpremul_SkAlphaType, that alpha type will be used. Forcing opaque
173
+ * (passing kOpaque_SkAlphaType) is not allowed, and will return nullptr.
174
+ *
175
+ * This is similar to DecodeTo[Raster,Texture], but this method will attempt to defer the
176
+ * actual decode, while the DecodeTo... method explicitly decode and allocate the backend
177
+ * when the call is made.
178
+ *
179
+ * If the encoded format is not supported, nullptr is returned.
180
+ *
181
+ * @param encoded the encoded data
182
+ * @return created SkImage, or nullptr
183
+
184
+ example: https://fiddle.skia.org/c/@Image_MakeFromEncoded
185
+ */
186
+ static sk_sp<SkImage> MakeFromEncoded(sk_sp<SkData> encoded,
187
+ skstd::optional<SkAlphaType> alphaType = skstd::nullopt);
188
+
189
+ /*
190
+ * Experimental:
191
+ * Skia | GL_COMPRESSED_* | MTLPixelFormat* | VK_FORMAT_*_BLOCK
192
+ * --------------------------------------------------------------------------------------
193
+ * kETC2_RGB8_UNORM | ETC1_RGB8 | ETC2_RGB8 (iOS-only) | ETC2_R8G8B8_UNORM
194
+ * | RGB8_ETC2 | |
195
+ * --------------------------------------------------------------------------------------
196
+ * kBC1_RGB8_UNORM | RGB_S3TC_DXT1_EXT | N/A | BC1_RGB_UNORM
197
+ * --------------------------------------------------------------------------------------
198
+ * kBC1_RGBA8_UNORM | RGBA_S3TC_DXT1_EXT | BC1_RGBA (macOS-only)| BC1_RGBA_UNORM
199
+ */
200
+ enum class CompressionType {
201
+ kNone,
202
+ kETC2_RGB8_UNORM, // the same as ETC1
203
+
204
+ kBC1_RGB8_UNORM,
205
+ kBC1_RGBA8_UNORM,
206
+ kLast = kBC1_RGBA8_UNORM,
207
+ };
208
+
209
+ static constexpr int kCompressionTypeCount = static_cast<int>(CompressionType::kLast) + 1;
210
+
211
+ static const CompressionType kETC1_CompressionType = CompressionType::kETC2_RGB8_UNORM;
212
+
213
+ /** Creates a CPU-backed SkImage from compressed data.
214
+
215
+ This method will decompress the compressed data and create an image wrapping
216
+ it. Any mipmap levels present in the compressed data are discarded.
217
+
218
+ @param data compressed data to store in SkImage
219
+ @param width width of full SkImage
220
+ @param height height of full SkImage
221
+ @param type type of compression used
222
+ @return created SkImage, or nullptr
223
+ */
224
+ static sk_sp<SkImage> MakeRasterFromCompressed(sk_sp<SkData> data,
225
+ int width, int height,
226
+ CompressionType type);
227
+
228
+ enum class BitDepth {
229
+ kU8, //!< uses 8-bit unsigned int per color component
230
+ kF16, //!< uses 16-bit float per color component
231
+ };
232
+
233
+ /** Creates SkImage from picture. Returned SkImage width and height are set by dimensions.
234
+ SkImage draws picture with matrix and paint, set to bitDepth and colorSpace.
235
+
236
+ If matrix is nullptr, draws with identity SkMatrix. If paint is nullptr, draws
237
+ with default SkPaint. colorSpace may be nullptr.
238
+
239
+ @param picture stream of drawing commands
240
+ @param dimensions width and height
241
+ @param matrix SkMatrix to rotate, scale, translate, and so on; may be nullptr
242
+ @param paint SkPaint to apply transparency, filtering, and so on; may be nullptr
243
+ @param bitDepth 8-bit integer or 16-bit float: per component
244
+ @param colorSpace range of colors; may be nullptr
245
+ @return created SkImage, or nullptr
246
+ */
247
+ static sk_sp<SkImage> MakeFromPicture(sk_sp<SkPicture> picture, const SkISize& dimensions,
248
+ const SkMatrix* matrix, const SkPaint* paint,
249
+ BitDepth bitDepth,
250
+ sk_sp<SkColorSpace> colorSpace);
251
+
252
+ #if SK_SUPPORT_GPU
253
+ /** Creates a GPU-backed SkImage from compressed data.
254
+
255
+ This method will return an SkImage representing the compressed data.
256
+ If the GPU doesn't support the specified compression method, the data
257
+ will be decompressed and then wrapped in a GPU-backed image.
258
+
259
+ Note: one can query the supported compression formats via
260
+ GrRecordingContext::compressedBackendFormat.
261
+
262
+ @param context GPU context
263
+ @param data compressed data to store in SkImage
264
+ @param width width of full SkImage
265
+ @param height height of full SkImage
266
+ @param type type of compression used
267
+ @param mipMapped does 'data' contain data for all the mipmap levels?
268
+ @param isProtected do the contents of 'data' require DRM protection (on Vulkan)?
269
+ @return created SkImage, or nullptr
270
+ */
271
+ static sk_sp<SkImage> MakeTextureFromCompressed(GrDirectContext* direct,
272
+ sk_sp<SkData> data,
273
+ int width, int height,
274
+ CompressionType type,
275
+ GrMipmapped mipMapped = GrMipmapped::kNo,
276
+ GrProtected isProtected = GrProtected::kNo);
277
+
278
+ /** User function called when supplied texture may be deleted.
279
+ */
280
+ typedef void (*TextureReleaseProc)(ReleaseContext releaseContext);
281
+
282
+ /** Creates SkImage from GPU texture associated with context. GPU texture must stay
283
+ valid and unchanged until textureReleaseProc is called. textureReleaseProc is
284
+ passed releaseContext when SkImage is deleted or no longer refers to texture.
285
+
286
+ SkImage is returned if format of backendTexture is recognized and supported.
287
+ Recognized formats vary by GPU back-end.
288
+
289
+ @note When using a DDL recording context, textureReleaseProc will be called on the
290
+ GPU thread after the DDL is played back on the direct context.
291
+
292
+ @param context GPU context
293
+ @param backendTexture texture residing on GPU
294
+ @param colorSpace This describes the color space of this image's contents, as
295
+ seen after sampling. In general, if the format of the backend
296
+ texture is SRGB, some linear colorSpace should be supplied
297
+ (e.g., SkColorSpace::MakeSRGBLinear()). If the format of the
298
+ backend texture is linear, then the colorSpace should include
299
+ a description of the transfer function as
300
+ well (e.g., SkColorSpace::MakeSRGB()).
301
+ @param textureReleaseProc function called when texture can be released
302
+ @param releaseContext state passed to textureReleaseProc
303
+ @return created SkImage, or nullptr
304
+ */
305
+ static sk_sp<SkImage> MakeFromTexture(GrRecordingContext* context,
306
+ const GrBackendTexture& backendTexture,
307
+ GrSurfaceOrigin origin,
308
+ SkColorType colorType,
309
+ SkAlphaType alphaType,
310
+ sk_sp<SkColorSpace> colorSpace,
311
+ TextureReleaseProc textureReleaseProc = nullptr,
312
+ ReleaseContext releaseContext = nullptr);
313
+
314
+ /** Creates an SkImage from a GPU backend texture. The backend texture must stay
315
+ valid and unchanged until textureReleaseProc is called. The textureReleaseProc is
316
+ called when the SkImage is deleted or no longer refers to the texture and will be
317
+ passed the releaseContext.
318
+
319
+ An SkImage is returned if the format of backendTexture is recognized and supported.
320
+ Recognized formats vary by GPU back-end.
321
+
322
+ @note When using a DDL recording context, textureReleaseProc will be called on the
323
+ GPU thread after the DDL is played back on the direct context.
324
+
325
+ @param context the GPU context
326
+ @param backendTexture a texture already allocated by the GPU
327
+ @param alphaType This characterizes the nature of the alpha values in the
328
+ backend texture. For opaque compressed formats (e.g., ETC1)
329
+ this should usually be set to kOpaque_SkAlphaType.
330
+ @param colorSpace This describes the color space of this image's contents, as
331
+ seen after sampling. In general, if the format of the backend
332
+ texture is SRGB, some linear colorSpace should be supplied
333
+ (e.g., SkColorSpace::MakeSRGBLinear()). If the format of the
334
+ backend texture is linear, then the colorSpace should include
335
+ a description of the transfer function as
336
+ well (e.g., SkColorSpace::MakeSRGB()).
337
+ @param textureReleaseProc function called when the backend texture can be released
338
+ @param releaseContext state passed to textureReleaseProc
339
+ @return created SkImage, or nullptr
340
+ */
341
+ static sk_sp<SkImage> MakeFromCompressedTexture(GrRecordingContext* context,
342
+ const GrBackendTexture& backendTexture,
343
+ GrSurfaceOrigin origin,
344
+ SkAlphaType alphaType,
345
+ sk_sp<SkColorSpace> colorSpace,
346
+ TextureReleaseProc textureReleaseProc = nullptr,
347
+ ReleaseContext releaseContext = nullptr);
348
+
349
+ /** Creates SkImage from pixmap. SkImage is uploaded to GPU back-end using context.
350
+
351
+ Created SkImage is available to other GPU contexts, and is available across thread
352
+ boundaries. All contexts must be in the same GPU share group, or otherwise
353
+ share resources.
354
+
355
+ When SkImage is no longer referenced, context releases texture memory
356
+ asynchronously.
357
+
358
+ GrBackendTexture created from pixmap is uploaded to match SkSurface created with
359
+ dstColorSpace. SkColorSpace of SkImage is determined by pixmap.colorSpace().
360
+
361
+ SkImage is returned referring to GPU back-end if context is not nullptr,
362
+ format of data is recognized and supported, and if context supports moving
363
+ resources between contexts. Otherwise, pixmap pixel data is copied and SkImage
364
+ as returned in raster format if possible; nullptr may be returned.
365
+ Recognized GPU formats vary by platform and GPU back-end.
366
+
367
+ @param context GPU context
368
+ @param pixmap SkImageInfo, pixel address, and row bytes
369
+ @param buildMips create SkImage as mip map if true
370
+ @param dstColorSpace range of colors of matching SkSurface on GPU
371
+ @param limitToMaxTextureSize downscale image to GPU maximum texture size, if necessary
372
+ @return created SkImage, or nullptr
373
+ */
374
+ static sk_sp<SkImage> MakeCrossContextFromPixmap(GrDirectContext* context,
375
+ const SkPixmap& pixmap,
376
+ bool buildMips,
377
+ bool limitToMaxTextureSize = false);
378
+
379
+ /** Creates SkImage from backendTexture associated with context. backendTexture and
380
+ returned SkImage are managed internally, and are released when no longer needed.
381
+
382
+ SkImage is returned if format of backendTexture is recognized and supported.
383
+ Recognized formats vary by GPU back-end.
384
+
385
+ @param context GPU context
386
+ @param backendTexture texture residing on GPU
387
+ @param textureOrigin origin of backendTexture
388
+ @param colorType color type of the resulting image
389
+ @param alphaType alpha type of the resulting image
390
+ @param colorSpace range of colors; may be nullptr
391
+ @return created SkImage, or nullptr
392
+ */
393
+ static sk_sp<SkImage> MakeFromAdoptedTexture(GrRecordingContext* context,
394
+ const GrBackendTexture& backendTexture,
395
+ GrSurfaceOrigin textureOrigin,
396
+ SkColorType colorType,
397
+ SkAlphaType alphaType = kPremul_SkAlphaType,
398
+ sk_sp<SkColorSpace> colorSpace = nullptr);
399
+
400
+ /** Creates an SkImage from YUV[A] planar textures. This requires that the textures stay valid
401
+ for the lifetime of the image. The ReleaseContext can be used to know when it is safe to
402
+ either delete or overwrite the textures. If ReleaseProc is provided it is also called before
403
+ return on failure.
404
+
405
+ @param context GPU context
406
+ @param yuvaTextures A set of textures containing YUVA data and a description of the
407
+ data and transformation to RGBA.
408
+ @param imageColorSpace range of colors of the resulting image after conversion to RGB;
409
+ may be nullptr
410
+ @param textureReleaseProc called when the backend textures can be released
411
+ @param releaseContext state passed to textureReleaseProc
412
+ @return created SkImage, or nullptr
413
+ */
414
+ static sk_sp<SkImage> MakeFromYUVATextures(GrRecordingContext* context,
415
+ const GrYUVABackendTextures& yuvaTextures,
416
+ sk_sp<SkColorSpace> imageColorSpace = nullptr,
417
+ TextureReleaseProc textureReleaseProc = nullptr,
418
+ ReleaseContext releaseContext = nullptr);
419
+
420
+ /** Creates SkImage from SkYUVAPixmaps.
421
+
422
+ The image will remain planar with each plane converted to a texture using the passed
423
+ GrRecordingContext.
424
+
425
+ SkYUVAPixmaps has a SkYUVAInfo which specifies the transformation from YUV to RGB.
426
+ The SkColorSpace of the resulting RGB values is specified by imageColorSpace. This will
427
+ be the SkColorSpace reported by the image and when drawn the RGB values will be converted
428
+ from this space into the destination space (if the destination is tagged).
429
+
430
+ Currently, this is only supported using the GPU backend and will fail if context is nullptr.
431
+
432
+ SkYUVAPixmaps does not need to remain valid after this returns.
433
+
434
+ @param context GPU context
435
+ @param pixmaps The planes as pixmaps with supported SkYUVAInfo that
436
+ specifies conversion to RGB.
437
+ @param buildMips create internal YUVA textures as mip map if kYes. This is
438
+ silently ignored if the context does not support mip maps.
439
+ @param limitToMaxTextureSize downscale image to GPU maximum texture size, if necessary
440
+ @param imageColorSpace range of colors of the resulting image; may be nullptr
441
+ @return created SkImage, or nullptr
442
+ */
443
+ static sk_sp<SkImage> MakeFromYUVAPixmaps(GrRecordingContext* context,
444
+ const SkYUVAPixmaps& pixmaps,
445
+ GrMipMapped buildMips = GrMipmapped::kNo,
446
+ bool limitToMaxTextureSize = false,
447
+ sk_sp<SkColorSpace> imageColorSpace = nullptr);
448
+
449
+ using PromiseImageTextureContext = void*;
450
+ using PromiseImageTextureFulfillProc =
451
+ sk_sp<SkPromiseImageTexture> (*)(PromiseImageTextureContext);
452
+ using PromiseImageTextureReleaseProc = void (*)(PromiseImageTextureContext);
453
+
454
+ /** Create a new SkImage that is very similar to an SkImage created by MakeFromTexture. The
455
+ difference is that the caller need not have created the texture nor populated it with the
456
+ image pixel data. Moreover, the SkImage may be created on a thread as the creation of the
457
+ image does not require access to the backend API or GrDirectContext. Instead of passing a
458
+ GrBackendTexture the client supplies a description of the texture consisting of
459
+ GrBackendFormat, width, height, and GrMipmapped state. The resulting SkImage can be drawn
460
+ to a SkDeferredDisplayListRecorder or directly to a GPU-backed SkSurface.
461
+
462
+ When the actual texture is required to perform a backend API draw, textureFulfillProc will
463
+ be called to receive a GrBackendTexture. The properties of the GrBackendTexture must match
464
+ those set during the SkImage creation, and it must refer to a valid existing texture in the
465
+ backend API context/device, and be populated with the image pixel data. The texture cannot
466
+ be deleted until textureReleaseProc is called.
467
+
468
+ There is at most one call to each of textureFulfillProc and textureReleaseProc.
469
+ textureReleaseProc is always called even if image creation fails or if the
470
+ image is never fulfilled (e.g. it is never drawn or all draws are clipped out)
471
+
472
+ @param gpuContextProxy the thread-safe proxy of the gpu context. required.
473
+ @param backendFormat format of promised gpu texture
474
+ @param dimensions width & height of promised gpu texture
475
+ @param mipMapped mip mapped state of promised gpu texture
476
+ @param origin surface origin of promised gpu texture
477
+ @param colorType color type of promised gpu texture
478
+ @param alphaType alpha type of promised gpu texture
479
+ @param colorSpace range of colors; may be nullptr
480
+ @param textureFulfillProc function called to get actual gpu texture
481
+ @param textureReleaseProc function called when texture can be deleted
482
+ @param textureContext state passed to textureFulfillProc and textureReleaseProc
483
+ @return created SkImage, or nullptr
484
+ */
485
+ static sk_sp<SkImage> MakePromiseTexture(sk_sp<GrContextThreadSafeProxy> gpuContextProxy,
486
+ const GrBackendFormat& backendFormat,
487
+ SkISize dimensions,
488
+ GrMipmapped mipMapped,
489
+ GrSurfaceOrigin origin,
490
+ SkColorType colorType,
491
+ SkAlphaType alphaType,
492
+ sk_sp<SkColorSpace> colorSpace,
493
+ PromiseImageTextureFulfillProc textureFulfillProc,
494
+ PromiseImageTextureReleaseProc textureReleaseProc,
495
+ PromiseImageTextureContext textureContext);
496
+
497
+ /** This entry point operates like 'MakePromiseTexture' but it is used to construct a SkImage
498
+ from YUV[A] data. The source data may be planar (i.e. spread across multiple textures). In
499
+ the extreme Y, U, V, and A are all in different planes and thus the image is specified by
500
+ four textures. 'backendTextureInfo' describes the planar arrangement, texture formats,
501
+ conversion to RGB, and origin of the textures. Separate 'textureFulfillProc' and
502
+ 'textureReleaseProc' calls are made for each texture. Each texture has its own
503
+ PromiseImageTextureContext. If 'backendTextureInfo' is not valid then no release proc
504
+ calls are made. Otherwise, the calls will be made even on failure. 'textureContexts' has one
505
+ entry for each of the up to four textures, as indicated by 'backendTextureInfo'.
506
+
507
+ Currently the mip mapped property of 'backendTextureInfo' is ignored. However, in the
508
+ near future it will be required that if it is kYes then textureFulfillProc must return
509
+ a mip mapped texture for each plane in order to successfully draw the image.
510
+
511
+ @param gpuContextProxy the thread-safe proxy of the gpu context. required.
512
+ @param backendTextureInfo info about the promised yuva gpu texture
513
+ @param imageColorSpace range of colors; may be nullptr
514
+ @param textureFulfillProc function called to get actual gpu texture
515
+ @param textureReleaseProc function called when texture can be deleted
516
+ @param textureContexts state passed to textureFulfillProc and textureReleaseProc
517
+ @return created SkImage, or nullptr
518
+ */
519
+ static sk_sp<SkImage> MakePromiseYUVATexture(sk_sp<GrContextThreadSafeProxy> gpuContextProxy,
520
+ const GrYUVABackendTextureInfo& backendTextureInfo,
521
+ sk_sp<SkColorSpace> imageColorSpace,
522
+ PromiseImageTextureFulfillProc textureFulfillProc,
523
+ PromiseImageTextureReleaseProc textureReleaseProc,
524
+ PromiseImageTextureContext textureContexts[]);
525
+
526
+ #endif // SK_SUPPORT_GPU
527
+
528
+ #if defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 26
529
+ /** (See Skia bug 7447)
530
+ Creates SkImage from Android hardware buffer.
531
+ Returned SkImage takes a reference on the buffer.
532
+
533
+ Only available on Android, when __ANDROID_API__ is defined to be 26 or greater.
534
+
535
+ @param hardwareBuffer AHardwareBuffer Android hardware buffer
536
+ @param colorSpace range of colors; may be nullptr
537
+ @return created SkImage, or nullptr
538
+ */
539
+ static sk_sp<SkImage> MakeFromAHardwareBuffer(
540
+ AHardwareBuffer* hardwareBuffer,
541
+ SkAlphaType alphaType = kPremul_SkAlphaType,
542
+ sk_sp<SkColorSpace> colorSpace = nullptr,
543
+ GrSurfaceOrigin surfaceOrigin = kTopLeft_GrSurfaceOrigin);
544
+
545
+ /** Creates SkImage from Android hardware buffer and uploads the data from the SkPixmap to it.
546
+ Returned SkImage takes a reference on the buffer.
547
+
548
+ Only available on Android, when __ANDROID_API__ is defined to be 26 or greater.
549
+
550
+ @param context GPU context
551
+ @param pixmap SkPixmap that contains data to be uploaded to the AHardwareBuffer
552
+ @param hardwareBuffer AHardwareBuffer Android hardware buffer
553
+ @param surfaceOrigin surface origin for resulting image
554
+ @return created SkImage, or nullptr
555
+ */
556
+ static sk_sp<SkImage> MakeFromAHardwareBufferWithData(
557
+ GrDirectContext* context,
558
+ const SkPixmap& pixmap,
559
+ AHardwareBuffer* hardwareBuffer,
560
+ GrSurfaceOrigin surfaceOrigin = kTopLeft_GrSurfaceOrigin);
561
+ #endif
562
+
563
+ /** Returns a SkImageInfo describing the width, height, color type, alpha type, and color space
564
+ of the SkImage.
565
+
566
+ @return image info of SkImage.
567
+ */
568
+ const SkImageInfo& imageInfo() const { return fInfo; }
569
+
570
+ /** Returns pixel count in each row.
571
+
572
+ @return pixel width in SkImage
573
+ */
574
+ int width() const { return fInfo.width(); }
575
+
576
+ /** Returns pixel row count.
577
+
578
+ @return pixel height in SkImage
579
+ */
580
+ int height() const { return fInfo.height(); }
581
+
582
+ /** Returns SkISize { width(), height() }.
583
+
584
+ @return integral size of width() and height()
585
+ */
586
+ SkISize dimensions() const { return SkISize::Make(fInfo.width(), fInfo.height()); }
587
+
588
+ /** Returns SkIRect { 0, 0, width(), height() }.
589
+
590
+ @return integral rectangle from origin to width() and height()
591
+ */
592
+ SkIRect bounds() const { return SkIRect::MakeWH(fInfo.width(), fInfo.height()); }
593
+
594
+ /** Returns value unique to image. SkImage contents cannot change after SkImage is
595
+ created. Any operation to create a new SkImage will receive generate a new
596
+ unique number.
597
+
598
+ @return unique identifier
599
+ */
600
+ uint32_t uniqueID() const { return fUniqueID; }
601
+
602
+ /** Returns SkAlphaType.
603
+
604
+ SkAlphaType returned was a parameter to an SkImage constructor,
605
+ or was parsed from encoded data.
606
+
607
+ @return SkAlphaType in SkImage
608
+
609
+ example: https://fiddle.skia.org/c/@Image_alphaType
610
+ */
611
+ SkAlphaType alphaType() const;
612
+
613
+ /** Returns SkColorType if known; otherwise, returns kUnknown_SkColorType.
614
+
615
+ @return SkColorType of SkImage
616
+
617
+ example: https://fiddle.skia.org/c/@Image_colorType
618
+ */
619
+ SkColorType colorType() const;
620
+
621
+ /** Returns SkColorSpace, the range of colors, associated with SkImage. The
622
+ reference count of SkColorSpace is unchanged. The returned SkColorSpace is
623
+ immutable.
624
+
625
+ SkColorSpace returned was passed to an SkImage constructor,
626
+ or was parsed from encoded data. SkColorSpace returned may be ignored when SkImage
627
+ is drawn, depending on the capabilities of the SkSurface receiving the drawing.
628
+
629
+ @return SkColorSpace in SkImage, or nullptr
630
+
631
+ example: https://fiddle.skia.org/c/@Image_colorSpace
632
+ */
633
+ SkColorSpace* colorSpace() const;
634
+
635
+ /** Returns a smart pointer to SkColorSpace, the range of colors, associated with
636
+ SkImage. The smart pointer tracks the number of objects sharing this
637
+ SkColorSpace reference so the memory is released when the owners destruct.
638
+
639
+ The returned SkColorSpace is immutable.
640
+
641
+ SkColorSpace returned was passed to an SkImage constructor,
642
+ or was parsed from encoded data. SkColorSpace returned may be ignored when SkImage
643
+ is drawn, depending on the capabilities of the SkSurface receiving the drawing.
644
+
645
+ @return SkColorSpace in SkImage, or nullptr, wrapped in a smart pointer
646
+
647
+ example: https://fiddle.skia.org/c/@Image_refColorSpace
648
+ */
649
+ sk_sp<SkColorSpace> refColorSpace() const;
650
+
651
+ /** Returns true if SkImage pixels represent transparency only. If true, each pixel
652
+ is packed in 8 bits as defined by kAlpha_8_SkColorType.
653
+
654
+ @return true if pixels represent a transparency mask
655
+
656
+ example: https://fiddle.skia.org/c/@Image_isAlphaOnly
657
+ */
658
+ bool isAlphaOnly() const;
659
+
660
+ /** Returns true if pixels ignore their alpha value and are treated as fully opaque.
661
+
662
+ @return true if SkAlphaType is kOpaque_SkAlphaType
663
+ */
664
+ bool isOpaque() const { return SkAlphaTypeIsOpaque(this->alphaType()); }
665
+
666
+ /**
667
+ * Make a shader with the specified tiling and mipmap sampling.
668
+ */
669
+ sk_sp<SkShader> makeShader(SkTileMode tmx, SkTileMode tmy, const SkSamplingOptions&,
670
+ const SkMatrix* localMatrix = nullptr) const;
671
+
672
+ sk_sp<SkShader> makeShader(SkTileMode tmx, SkTileMode tmy, const SkSamplingOptions& sampling,
673
+ const SkMatrix& lm) const {
674
+ return this->makeShader(tmx, tmy, sampling, &lm);
675
+ }
676
+ sk_sp<SkShader> makeShader(const SkSamplingOptions& sampling, const SkMatrix& lm) const {
677
+ return this->makeShader(SkTileMode::kClamp, SkTileMode::kClamp, sampling, &lm);
678
+ }
679
+ sk_sp<SkShader> makeShader(const SkSamplingOptions& sampling,
680
+ const SkMatrix* lm = nullptr) const {
681
+ return this->makeShader(SkTileMode::kClamp, SkTileMode::kClamp, sampling, lm);
682
+ }
683
+
684
+ /**
685
+ * makeRawShader functions like makeShader, but for images that contain non-color data.
686
+ * This includes images encoding things like normals, material properties (eg, roughness),
687
+ * heightmaps, or any other purely mathematical data that happens to be stored in an image.
688
+ * These types of images are useful with some programmable shaders (see: SkRuntimeEffect).
689
+ *
690
+ * Raw image shaders work like regular image shaders (including filtering and tiling), with
691
+ * a few major differences:
692
+ * - No color space transformation is ever applied (the color space of the image is ignored).
693
+ * - Images with an alpha type of kUnpremul are *not* automatically premultiplied.
694
+ * - Bicubic filtering is not supported. If SkSamplingOptions::useCubic is true, these
695
+ * factories will return nullptr.
696
+ */
697
+ sk_sp<SkShader> makeRawShader(SkTileMode tmx, SkTileMode tmy, const SkSamplingOptions&,
698
+ const SkMatrix* localMatrix = nullptr) const;
699
+
700
+ sk_sp<SkShader> makeRawShader(SkTileMode tmx, SkTileMode tmy, const SkSamplingOptions& sampling,
701
+ const SkMatrix& lm) const {
702
+ return this->makeRawShader(tmx, tmy, sampling, &lm);
703
+ }
704
+ sk_sp<SkShader> makeRawShader(const SkSamplingOptions& sampling, const SkMatrix& lm) const {
705
+ return this->makeRawShader(SkTileMode::kClamp, SkTileMode::kClamp, sampling, &lm);
706
+ }
707
+ sk_sp<SkShader> makeRawShader(const SkSamplingOptions& sampling,
708
+ const SkMatrix* lm = nullptr) const {
709
+ return this->makeRawShader(SkTileMode::kClamp, SkTileMode::kClamp, sampling, lm);
710
+ }
711
+
712
+ using CubicResampler = SkCubicResampler;
713
+
714
+ /** Copies SkImage pixel address, row bytes, and SkImageInfo to pixmap, if address
715
+ is available, and returns true. If pixel address is not available, return
716
+ false and leave pixmap unchanged.
717
+
718
+ @param pixmap storage for pixel state if pixels are readable; otherwise, ignored
719
+ @return true if SkImage has direct access to pixels
720
+
721
+ example: https://fiddle.skia.org/c/@Image_peekPixels
722
+ */
723
+ bool peekPixels(SkPixmap* pixmap) const;
724
+
725
+ /** Returns true the contents of SkImage was created on or uploaded to GPU memory,
726
+ and is available as a GPU texture.
727
+
728
+ @return true if SkImage is a GPU texture
729
+
730
+ example: https://fiddle.skia.org/c/@Image_isTextureBacked
731
+ */
732
+ bool isTextureBacked() const;
733
+
734
+ /** Returns an approximation of the amount of texture memory used by the image. Returns
735
+ zero if the image is not texture backed or if the texture has an external format.
736
+ */
737
+ size_t textureSize() const;
738
+
739
+ /** Returns true if SkImage can be drawn on either raster surface or GPU surface.
740
+ If context is nullptr, tests if SkImage draws on raster surface;
741
+ otherwise, tests if SkImage draws on GPU surface associated with context.
742
+
743
+ SkImage backed by GPU texture may become invalid if associated context is
744
+ invalid. lazy image may be invalid and may not draw to raster surface or
745
+ GPU surface or both.
746
+
747
+ @param context GPU context
748
+ @return true if SkImage can be drawn
749
+
750
+ example: https://fiddle.skia.org/c/@Image_isValid
751
+ */
752
+ bool isValid(GrRecordingContext* context) const;
753
+
754
+ #if SK_SUPPORT_GPU
755
+ /** Flushes any pending uses of texture-backed images in the GPU backend. If the image is not
756
+ texture-backed (including promise texture images) or if the GrDirectContext does not
757
+ have the same context ID as the context backing the image then this is a no-op.
758
+
759
+ If the image was not used in any non-culled draws in the current queue of work for the
760
+ passed GrDirectContext then this is a no-op unless the GrFlushInfo contains semaphores or
761
+ a finish proc. Those are respected even when the image has not been used.
762
+
763
+ @param context the context on which to flush pending usages of the image.
764
+ @param info flush options
765
+ */
766
+ GrSemaphoresSubmitted flush(GrDirectContext* context, const GrFlushInfo& flushInfo) const;
767
+
768
+ void flush(GrDirectContext* context) const { this->flush(context, {}); }
769
+
770
+ /** Version of flush() that uses a default GrFlushInfo. Also submits the flushed work to the
771
+ GPU.
772
+ */
773
+ void flushAndSubmit(GrDirectContext*) const;
774
+
775
+ /** Retrieves the back-end texture. If SkImage has no back-end texture, an invalid
776
+ object is returned. Call GrBackendTexture::isValid to determine if the result
777
+ is valid.
778
+
779
+ If flushPendingGrContextIO is true, completes deferred I/O operations.
780
+
781
+ If origin in not nullptr, copies location of content drawn into SkImage.
782
+
783
+ @param flushPendingGrContextIO flag to flush outstanding requests
784
+ @return back-end API texture handle; invalid on failure
785
+ */
786
+ GrBackendTexture getBackendTexture(bool flushPendingGrContextIO,
787
+ GrSurfaceOrigin* origin = nullptr) const;
788
+ #endif // SK_SUPPORT_GPU
789
+
790
+ /** \enum SkImage::CachingHint
791
+ CachingHint selects whether Skia may internally cache SkBitmap generated by
792
+ decoding SkImage, or by copying SkImage from GPU to CPU. The default behavior
793
+ allows caching SkBitmap.
794
+
795
+ Choose kDisallow_CachingHint if SkImage pixels are to be used only once, or
796
+ if SkImage pixels reside in a cache outside of Skia, or to reduce memory pressure.
797
+
798
+ Choosing kAllow_CachingHint does not ensure that pixels will be cached.
799
+ SkImage pixels may not be cached if memory requirements are too large or
800
+ pixels are not accessible.
801
+ */
802
+ enum CachingHint {
803
+ kAllow_CachingHint, //!< allows internally caching decoded and copied pixels
804
+ kDisallow_CachingHint, //!< disallows internally caching decoded and copied pixels
805
+ };
806
+
807
+ /** Copies SkRect of pixels from SkImage to dstPixels. Copy starts at offset (srcX, srcY),
808
+ and does not exceed SkImage (width(), height()).
809
+
810
+ dstInfo specifies width, height, SkColorType, SkAlphaType, and SkColorSpace of
811
+ destination. dstRowBytes specifies the gap from one destination row to the next.
812
+ Returns true if pixels are copied. Returns false if:
813
+ - dstInfo.addr() equals nullptr
814
+ - dstRowBytes is less than dstInfo.minRowBytes()
815
+ - SkPixelRef is nullptr
816
+
817
+ Pixels are copied only if pixel conversion is possible. If SkImage SkColorType is
818
+ kGray_8_SkColorType, or kAlpha_8_SkColorType; dstInfo.colorType() must match.
819
+ If SkImage SkColorType is kGray_8_SkColorType, dstInfo.colorSpace() must match.
820
+ If SkImage SkAlphaType is kOpaque_SkAlphaType, dstInfo.alphaType() must
821
+ match. If SkImage SkColorSpace is nullptr, dstInfo.colorSpace() must match. Returns
822
+ false if pixel conversion is not possible.
823
+
824
+ srcX and srcY may be negative to copy only top or left of source. Returns
825
+ false if width() or height() is zero or negative.
826
+ Returns false if abs(srcX) >= Image width(), or if abs(srcY) >= Image height().
827
+
828
+ If cachingHint is kAllow_CachingHint, pixels may be retained locally.
829
+ If cachingHint is kDisallow_CachingHint, pixels are not added to the local cache.
830
+
831
+ @param context the GrDirectContext in play, if it exists
832
+ @param dstInfo destination width, height, SkColorType, SkAlphaType, SkColorSpace
833
+ @param dstPixels destination pixel storage
834
+ @param dstRowBytes destination row length
835
+ @param srcX column index whose absolute value is less than width()
836
+ @param srcY row index whose absolute value is less than height()
837
+ @param cachingHint whether the pixels should be cached locally
838
+ @return true if pixels are copied to dstPixels
839
+ */
840
+ bool readPixels(GrDirectContext* context,
841
+ const SkImageInfo& dstInfo,
842
+ void* dstPixels,
843
+ size_t dstRowBytes,
844
+ int srcX, int srcY,
845
+ CachingHint cachingHint = kAllow_CachingHint) const;
846
+
847
+ /** Copies a SkRect of pixels from SkImage to dst. Copy starts at (srcX, srcY), and
848
+ does not exceed SkImage (width(), height()).
849
+
850
+ dst specifies width, height, SkColorType, SkAlphaType, SkColorSpace, pixel storage,
851
+ and row bytes of destination. dst.rowBytes() specifics the gap from one destination
852
+ row to the next. Returns true if pixels are copied. Returns false if:
853
+ - dst pixel storage equals nullptr
854
+ - dst.rowBytes is less than SkImageInfo::minRowBytes
855
+ - SkPixelRef is nullptr
856
+
857
+ Pixels are copied only if pixel conversion is possible. If SkImage SkColorType is
858
+ kGray_8_SkColorType, or kAlpha_8_SkColorType; dst.colorType() must match.
859
+ If SkImage SkColorType is kGray_8_SkColorType, dst.colorSpace() must match.
860
+ If SkImage SkAlphaType is kOpaque_SkAlphaType, dst.alphaType() must
861
+ match. If SkImage SkColorSpace is nullptr, dst.colorSpace() must match. Returns
862
+ false if pixel conversion is not possible.
863
+
864
+ srcX and srcY may be negative to copy only top or left of source. Returns
865
+ false if width() or height() is zero or negative.
866
+ Returns false if abs(srcX) >= Image width(), or if abs(srcY) >= Image height().
867
+
868
+ If cachingHint is kAllow_CachingHint, pixels may be retained locally.
869
+ If cachingHint is kDisallow_CachingHint, pixels are not added to the local cache.
870
+
871
+ @param context the GrDirectContext in play, if it exists
872
+ @param dst destination SkPixmap: SkImageInfo, pixels, row bytes
873
+ @param srcX column index whose absolute value is less than width()
874
+ @param srcY row index whose absolute value is less than height()
875
+ @param cachingHint whether the pixels should be cached locallyZ
876
+ @return true if pixels are copied to dst
877
+ */
878
+ bool readPixels(GrDirectContext* context,
879
+ const SkPixmap& dst,
880
+ int srcX,
881
+ int srcY,
882
+ CachingHint cachingHint = kAllow_CachingHint) const;
883
+
884
+ #ifndef SK_IMAGE_READ_PIXELS_DISABLE_LEGACY_API
885
+ /** Deprecated. Use the variants that accept a GrDirectContext. */
886
+ bool readPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRowBytes,
887
+ int srcX, int srcY, CachingHint cachingHint = kAllow_CachingHint) const;
888
+ bool readPixels(const SkPixmap& dst, int srcX, int srcY,
889
+ CachingHint cachingHint = kAllow_CachingHint) const;
890
+ #endif
891
+
892
+ /** The result from asyncRescaleAndReadPixels() or asyncRescaleAndReadPixelsYUV420(). */
893
+ class AsyncReadResult {
894
+ public:
895
+ AsyncReadResult(const AsyncReadResult&) = delete;
896
+ AsyncReadResult(AsyncReadResult&&) = delete;
897
+ AsyncReadResult& operator=(const AsyncReadResult&) = delete;
898
+ AsyncReadResult& operator=(AsyncReadResult&&) = delete;
899
+
900
+ virtual ~AsyncReadResult() = default;
901
+ virtual int count() const = 0;
902
+ virtual const void* data(int i) const = 0;
903
+ virtual size_t rowBytes(int i) const = 0;
904
+
905
+ protected:
906
+ AsyncReadResult() = default;
907
+ };
908
+
909
+ /** Client-provided context that is passed to client-provided ReadPixelsContext. */
910
+ using ReadPixelsContext = void*;
911
+
912
+ /** Client-provided callback to asyncRescaleAndReadPixels() or
913
+ asyncRescaleAndReadPixelsYUV420() that is called when read result is ready or on failure.
914
+ */
915
+ using ReadPixelsCallback = void(ReadPixelsContext, std::unique_ptr<const AsyncReadResult>);
916
+
917
+ enum class RescaleGamma : bool { kSrc, kLinear };
918
+
919
+ enum class RescaleMode {
920
+ kNearest,
921
+ kRepeatedLinear,
922
+ kRepeatedCubic,
923
+ };
924
+
925
+ /** Makes image pixel data available to caller, possibly asynchronously. It can also rescale
926
+ the image pixels.
927
+
928
+ Currently asynchronous reads are only supported on the GPU backend and only when the
929
+ underlying 3D API supports transfer buffers and CPU/GPU synchronization primitives. In all
930
+ other cases this operates synchronously.
931
+
932
+ Data is read from the source sub-rectangle, is optionally converted to a linear gamma, is
933
+ rescaled to the size indicated by 'info', is then converted to the color space, color type,
934
+ and alpha type of 'info'. A 'srcRect' that is not contained by the bounds of the image
935
+ causes failure.
936
+
937
+ When the pixel data is ready the caller's ReadPixelsCallback is called with a
938
+ AsyncReadResult containing pixel data in the requested color type, alpha type, and color
939
+ space. The AsyncReadResult will have count() == 1. Upon failure the callback is called with
940
+ nullptr for AsyncReadResult. For a GPU image this flushes work but a submit must occur to
941
+ guarantee a finite time before the callback is called.
942
+
943
+ The data is valid for the lifetime of AsyncReadResult with the exception that if the SkImage
944
+ is GPU-backed the data is immediately invalidated if the context is abandoned or
945
+ destroyed.
946
+
947
+ @param info info of the requested pixels
948
+ @param srcRect subrectangle of image to read
949
+ @param rescaleGamma controls whether rescaling is done in the image's gamma or whether
950
+ the source data is transformed to a linear gamma before rescaling.
951
+ @param rescaleMode controls the technique (and cost) of the rescaling
952
+ @param callback function to call with result of the read
953
+ @param context passed to callback
954
+ */
955
+ void asyncRescaleAndReadPixels(const SkImageInfo& info,
956
+ const SkIRect& srcRect,
957
+ RescaleGamma rescaleGamma,
958
+ RescaleMode rescaleMode,
959
+ ReadPixelsCallback callback,
960
+ ReadPixelsContext context) const;
961
+
962
+ /**
963
+ Similar to asyncRescaleAndReadPixels but performs an additional conversion to YUV. The
964
+ RGB->YUV conversion is controlled by 'yuvColorSpace'. The YUV data is returned as three
965
+ planes ordered y, u, v. The u and v planes are half the width and height of the resized
966
+ rectangle. The y, u, and v values are single bytes. Currently this fails if 'dstSize'
967
+ width and height are not even. A 'srcRect' that is not contained by the bounds of the
968
+ image causes failure.
969
+
970
+ When the pixel data is ready the caller's ReadPixelsCallback is called with a
971
+ AsyncReadResult containing the planar data. The AsyncReadResult will have count() == 3.
972
+ Upon failure the callback is called with nullptr for AsyncReadResult. For a GPU image this
973
+ flushes work but a submit must occur to guarantee a finite time before the callback is
974
+ called.
975
+
976
+ The data is valid for the lifetime of AsyncReadResult with the exception that if the SkImage
977
+ is GPU-backed the data is immediately invalidated if the context is abandoned or
978
+ destroyed.
979
+
980
+ @param yuvColorSpace The transformation from RGB to YUV. Applied to the resized image
981
+ after it is converted to dstColorSpace.
982
+ @param dstColorSpace The color space to convert the resized image to, after rescaling.
983
+ @param srcRect The portion of the image to rescale and convert to YUV planes.
984
+ @param dstSize The size to rescale srcRect to
985
+ @param rescaleGamma controls whether rescaling is done in the image's gamma or whether
986
+ the source data is transformed to a linear gamma before rescaling.
987
+ @param rescaleMode controls the technique (and cost) of the rescaling
988
+ @param callback function to call with the planar read result
989
+ @param context passed to callback
990
+ */
991
+ void asyncRescaleAndReadPixelsYUV420(SkYUVColorSpace yuvColorSpace,
992
+ sk_sp<SkColorSpace> dstColorSpace,
993
+ const SkIRect& srcRect,
994
+ const SkISize& dstSize,
995
+ RescaleGamma rescaleGamma,
996
+ RescaleMode rescaleMode,
997
+ ReadPixelsCallback callback,
998
+ ReadPixelsContext context) const;
999
+
1000
+ /** Copies SkImage to dst, scaling pixels to fit dst.width() and dst.height(), and
1001
+ converting pixels to match dst.colorType() and dst.alphaType(). Returns true if
1002
+ pixels are copied. Returns false if dst.addr() is nullptr, or dst.rowBytes() is
1003
+ less than dst SkImageInfo::minRowBytes.
1004
+
1005
+ Pixels are copied only if pixel conversion is possible. If SkImage SkColorType is
1006
+ kGray_8_SkColorType, or kAlpha_8_SkColorType; dst.colorType() must match.
1007
+ If SkImage SkColorType is kGray_8_SkColorType, dst.colorSpace() must match.
1008
+ If SkImage SkAlphaType is kOpaque_SkAlphaType, dst.alphaType() must
1009
+ match. If SkImage SkColorSpace is nullptr, dst.colorSpace() must match. Returns
1010
+ false if pixel conversion is not possible.
1011
+
1012
+ If cachingHint is kAllow_CachingHint, pixels may be retained locally.
1013
+ If cachingHint is kDisallow_CachingHint, pixels are not added to the local cache.
1014
+
1015
+ @param dst destination SkPixmap: SkImageInfo, pixels, row bytes
1016
+ @return true if pixels are scaled to fit dst
1017
+ */
1018
+ bool scalePixels(const SkPixmap& dst, const SkSamplingOptions&,
1019
+ CachingHint cachingHint = kAllow_CachingHint) const;
1020
+
1021
+ /** Encodes SkImage pixels, returning result as SkData.
1022
+
1023
+ Returns nullptr if encoding fails, or if encodedImageFormat is not supported.
1024
+
1025
+ SkImage encoding in a format requires both building with one or more of:
1026
+ SK_ENCODE_JPEG, SK_ENCODE_PNG, SK_ENCODE_WEBP; and platform support
1027
+ for the encoded format.
1028
+
1029
+ If SK_BUILD_FOR_MAC or SK_BUILD_FOR_IOS is defined, encodedImageFormat can
1030
+ additionally be one of: SkEncodedImageFormat::kICO, SkEncodedImageFormat::kBMP,
1031
+ SkEncodedImageFormat::kGIF.
1032
+
1033
+ quality is a platform and format specific metric trading off size and encoding
1034
+ error. When used, quality equaling 100 encodes with the least error. quality may
1035
+ be ignored by the encoder.
1036
+
1037
+ @param encodedImageFormat one of: SkEncodedImageFormat::kJPEG, SkEncodedImageFormat::kPNG,
1038
+ SkEncodedImageFormat::kWEBP
1039
+ @param quality encoder specific metric with 100 equaling best
1040
+ @return encoded SkImage, or nullptr
1041
+
1042
+ example: https://fiddle.skia.org/c/@Image_encodeToData
1043
+ */
1044
+ sk_sp<SkData> encodeToData(SkEncodedImageFormat encodedImageFormat, int quality) const;
1045
+
1046
+ /** Encodes SkImage pixels, returning result as SkData. Returns existing encoded data
1047
+ if present; otherwise, SkImage is encoded with SkEncodedImageFormat::kPNG. Skia
1048
+ must be built with SK_ENCODE_PNG to encode SkImage.
1049
+
1050
+ Returns nullptr if existing encoded data is missing or invalid, and
1051
+ encoding fails.
1052
+
1053
+ @return encoded SkImage, or nullptr
1054
+
1055
+ example: https://fiddle.skia.org/c/@Image_encodeToData_2
1056
+ */
1057
+ sk_sp<SkData> encodeToData() const;
1058
+
1059
+ /** Returns encoded SkImage pixels as SkData, if SkImage was created from supported
1060
+ encoded stream format. Platform support for formats vary and may require building
1061
+ with one or more of: SK_ENCODE_JPEG, SK_ENCODE_PNG, SK_ENCODE_WEBP.
1062
+
1063
+ Returns nullptr if SkImage contents are not encoded.
1064
+
1065
+ @return encoded SkImage, or nullptr
1066
+
1067
+ example: https://fiddle.skia.org/c/@Image_refEncodedData
1068
+ */
1069
+ sk_sp<SkData> refEncodedData() const;
1070
+
1071
+ /** Returns subset of this image.
1072
+
1073
+ Returns nullptr if any of the following are true:
1074
+ - Subset is empty
1075
+ - Subset is not contained inside the image's bounds
1076
+ - Pixels in the image could not be read or copied
1077
+
1078
+ If this image is texture-backed, the context parameter is required and must match the
1079
+ context of the source image. If the context parameter is provided, and the image is
1080
+ raster-backed, the subset will be converted to texture-backed.
1081
+
1082
+ @param subset bounds of returned SkImage
1083
+ @param context the GrDirectContext in play, if it exists
1084
+ @return the subsetted image, or nullptr
1085
+
1086
+ example: https://fiddle.skia.org/c/@Image_makeSubset
1087
+ */
1088
+ sk_sp<SkImage> makeSubset(const SkIRect& subset, GrDirectContext* direct = nullptr) const;
1089
+
1090
+ /**
1091
+ * Returns true if the image has mipmap levels.
1092
+ */
1093
+ bool hasMipmaps() const;
1094
+
1095
+ /**
1096
+ * Returns an image with the same "base" pixels as the this image, but with mipmap levels
1097
+ * automatically generated and attached.
1098
+ */
1099
+ sk_sp<SkImage> withDefaultMipmaps() const;
1100
+
1101
+ #if SK_SUPPORT_GPU
1102
+ /** Returns SkImage backed by GPU texture associated with context. Returned SkImage is
1103
+ compatible with SkSurface created with dstColorSpace. The returned SkImage respects
1104
+ mipMapped setting; if mipMapped equals GrMipmapped::kYes, the backing texture
1105
+ allocates mip map levels.
1106
+
1107
+ The mipMapped parameter is effectively treated as kNo if MIP maps are not supported by the
1108
+ GPU.
1109
+
1110
+ Returns original SkImage if the image is already texture-backed, the context matches, and
1111
+ mipMapped is compatible with the backing GPU texture. SkBudgeted is ignored in this case.
1112
+
1113
+ Returns nullptr if context is nullptr, or if SkImage was created with another
1114
+ GrDirectContext.
1115
+
1116
+ @param GrDirectContext the GrDirectContext in play, if it exists
1117
+ @param GrMipmapped whether created SkImage texture must allocate mip map levels
1118
+ @param SkBudgeted whether to count a newly created texture for the returned image
1119
+ counts against the context's budget.
1120
+ @return created SkImage, or nullptr
1121
+ */
1122
+ sk_sp<SkImage> makeTextureImage(GrDirectContext*,
1123
+ GrMipmapped = GrMipmapped::kNo,
1124
+ SkBudgeted = SkBudgeted::kYes) const;
1125
+ #endif
1126
+
1127
+ /** Returns raster image or lazy image. Copies SkImage backed by GPU texture into
1128
+ CPU memory if needed. Returns original SkImage if decoded in raster bitmap,
1129
+ or if encoded in a stream.
1130
+
1131
+ Returns nullptr if backed by GPU texture and copy fails.
1132
+
1133
+ @return raster image, lazy image, or nullptr
1134
+
1135
+ example: https://fiddle.skia.org/c/@Image_makeNonTextureImage
1136
+ */
1137
+ sk_sp<SkImage> makeNonTextureImage() const;
1138
+
1139
+ /** Returns raster image. Copies SkImage backed by GPU texture into CPU memory,
1140
+ or decodes SkImage from lazy image. Returns original SkImage if decoded in
1141
+ raster bitmap.
1142
+
1143
+ Returns nullptr if copy, decode, or pixel read fails.
1144
+
1145
+ If cachingHint is kAllow_CachingHint, pixels may be retained locally.
1146
+ If cachingHint is kDisallow_CachingHint, pixels are not added to the local cache.
1147
+
1148
+ @return raster image, or nullptr
1149
+
1150
+ example: https://fiddle.skia.org/c/@Image_makeRasterImage
1151
+ */
1152
+ sk_sp<SkImage> makeRasterImage(CachingHint cachingHint = kDisallow_CachingHint) const;
1153
+
1154
+ /** Creates filtered SkImage. filter processes original SkImage, potentially changing
1155
+ color, position, and size. subset is the bounds of original SkImage processed
1156
+ by filter. clipBounds is the expected bounds of the filtered SkImage. outSubset
1157
+ is required storage for the actual bounds of the filtered SkImage. offset is
1158
+ required storage for translation of returned SkImage.
1159
+
1160
+ Returns nullptr if SkImage could not be created or if the recording context provided doesn't
1161
+ match the GPU context in which the image was created. If nullptr is returned, outSubset
1162
+ and offset are undefined.
1163
+
1164
+ Useful for animation of SkImageFilter that varies size from frame to frame.
1165
+ Returned SkImage is created larger than required by filter so that GPU texture
1166
+ can be reused with different sized effects. outSubset describes the valid bounds
1167
+ of GPU texture returned. offset translates the returned SkImage to keep subsequent
1168
+ animation frames aligned with respect to each other.
1169
+
1170
+ @param context the GrRecordingContext in play - if it exists
1171
+ @param filter how SkImage is sampled when transformed
1172
+ @param subset bounds of SkImage processed by filter
1173
+ @param clipBounds expected bounds of filtered SkImage
1174
+ @param outSubset storage for returned SkImage bounds
1175
+ @param offset storage for returned SkImage translation
1176
+ @return filtered SkImage, or nullptr
1177
+ */
1178
+ sk_sp<SkImage> makeWithFilter(GrRecordingContext* context,
1179
+ const SkImageFilter* filter, const SkIRect& subset,
1180
+ const SkIRect& clipBounds, SkIRect* outSubset,
1181
+ SkIPoint* offset) const;
1182
+
1183
+ /** Defines a callback function, taking one parameter of type GrBackendTexture with
1184
+ no return value. Function is called when back-end texture is to be released.
1185
+ */
1186
+ typedef std::function<void(GrBackendTexture)> BackendTextureReleaseProc;
1187
+
1188
+ #if SK_SUPPORT_GPU
1189
+ /** Creates a GrBackendTexture from the provided SkImage. Returns true and
1190
+ stores result in backendTexture and backendTextureReleaseProc if
1191
+ texture is created; otherwise, returns false and leaves
1192
+ backendTexture and backendTextureReleaseProc unmodified.
1193
+
1194
+ Call backendTextureReleaseProc after deleting backendTexture.
1195
+ backendTextureReleaseProc cleans up auxiliary data related to returned
1196
+ backendTexture. The caller must delete returned backendTexture after use.
1197
+
1198
+ If SkImage is both texture backed and singly referenced, image is returned in
1199
+ backendTexture without conversion or making a copy. SkImage is singly referenced
1200
+ if its was transferred solely using std::move().
1201
+
1202
+ If SkImage is not texture backed, returns texture with SkImage contents.
1203
+
1204
+ @param context GPU context
1205
+ @param image SkImage used for texture
1206
+ @param backendTexture storage for back-end texture
1207
+ @param backendTextureReleaseProc storage for clean up function
1208
+ @return true if back-end texture was created
1209
+ */
1210
+ static bool MakeBackendTextureFromSkImage(GrDirectContext* context,
1211
+ sk_sp<SkImage> image,
1212
+ GrBackendTexture* backendTexture,
1213
+ BackendTextureReleaseProc* backendTextureReleaseProc);
1214
+ #endif
1215
+ /** Deprecated.
1216
+ */
1217
+ enum LegacyBitmapMode {
1218
+ kRO_LegacyBitmapMode, //!< returned bitmap is read-only and immutable
1219
+ };
1220
+
1221
+ /** Deprecated.
1222
+ Creates raster SkBitmap with same pixels as SkImage. If legacyBitmapMode is
1223
+ kRO_LegacyBitmapMode, returned bitmap is read-only and immutable.
1224
+ Returns true if SkBitmap is stored in bitmap. Returns false and resets bitmap if
1225
+ SkBitmap write did not succeed.
1226
+
1227
+ @param bitmap storage for legacy SkBitmap
1228
+ @param legacyBitmapMode bitmap is read-only and immutable
1229
+ @return true if SkBitmap was created
1230
+ */
1231
+ bool asLegacyBitmap(SkBitmap* bitmap,
1232
+ LegacyBitmapMode legacyBitmapMode = kRO_LegacyBitmapMode) const;
1233
+
1234
+ /** Returns true if SkImage is backed by an image-generator or other service that creates
1235
+ and caches its pixels or texture on-demand.
1236
+
1237
+ @return true if SkImage is created as needed
1238
+
1239
+ example: https://fiddle.skia.org/c/@Image_isLazyGenerated_a
1240
+ example: https://fiddle.skia.org/c/@Image_isLazyGenerated_b
1241
+ */
1242
+ bool isLazyGenerated() const;
1243
+
1244
+ /** Creates SkImage in target SkColorSpace.
1245
+ Returns nullptr if SkImage could not be created.
1246
+
1247
+ Returns original SkImage if it is in target SkColorSpace.
1248
+ Otherwise, converts pixels from SkImage SkColorSpace to target SkColorSpace.
1249
+ If SkImage colorSpace() returns nullptr, SkImage SkColorSpace is assumed to be sRGB.
1250
+
1251
+ If this image is texture-backed, the context parameter is required and must match the
1252
+ context of the source image.
1253
+
1254
+ @param target SkColorSpace describing color range of returned SkImage
1255
+ @param direct The GrDirectContext in play, if it exists
1256
+ @return created SkImage in target SkColorSpace
1257
+
1258
+ example: https://fiddle.skia.org/c/@Image_makeColorSpace
1259
+ */
1260
+ sk_sp<SkImage> makeColorSpace(sk_sp<SkColorSpace> target,
1261
+ GrDirectContext* direct = nullptr) const;
1262
+
1263
+ /** Experimental.
1264
+ Creates SkImage in target SkColorType and SkColorSpace.
1265
+ Returns nullptr if SkImage could not be created.
1266
+
1267
+ Returns original SkImage if it is in target SkColorType and SkColorSpace.
1268
+
1269
+ If this image is texture-backed, the context parameter is required and must match the
1270
+ context of the source image.
1271
+
1272
+ @param targetColorType SkColorType of returned SkImage
1273
+ @param targetColorSpace SkColorSpace of returned SkImage
1274
+ @param direct The GrDirectContext in play, if it exists
1275
+ @return created SkImage in target SkColorType and SkColorSpace
1276
+ */
1277
+ sk_sp<SkImage> makeColorTypeAndColorSpace(SkColorType targetColorType,
1278
+ sk_sp<SkColorSpace> targetColorSpace,
1279
+ GrDirectContext* direct = nullptr) const;
1280
+
1281
+ /** Creates a new SkImage identical to this one, but with a different SkColorSpace.
1282
+ This does not convert the underlying pixel data, so the resulting image will draw
1283
+ differently.
1284
+ */
1285
+ sk_sp<SkImage> reinterpretColorSpace(sk_sp<SkColorSpace> newColorSpace) const;
1286
+
1287
+ private:
1288
+ SkImage(const SkImageInfo& info, uint32_t uniqueID);
1289
+
1290
+ friend class SkBitmap;
1291
+ friend class SkImage_Base;
1292
+ friend class SkMipmapBuilder;
1293
+
1294
+ SkImageInfo fInfo;
1295
+ const uint32_t fUniqueID;
1296
+
1297
+ sk_sp<SkImage> withMipmaps(sk_sp<SkMipmap>) const;
1298
+
1299
+ using INHERITED = SkRefCnt;
1300
+ };
1301
+
1302
+ #endif