@shopify/react-native-skia 0.1.207 → 0.1.209

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +19 -12
  2. package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseViewManager.java +1 -1
  3. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDomView.java +1 -1
  4. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawView.java +1 -1
  5. package/android/src/main/java/com/shopify/reactnative/skia/SkiaPictureView.java +1 -1
  6. package/android/src/main/java/com/shopify/reactnative/skia/ViewScreenshotService.java +2 -0
  7. package/cpp/api/JsiSkColorFilter.h +1 -1
  8. package/cpp/api/JsiSkContourMeasure.h +1 -1
  9. package/cpp/api/JsiSkContourMeasureIter.h +1 -1
  10. package/cpp/api/JsiSkData.h +1 -1
  11. package/cpp/api/JsiSkFont.h +1 -1
  12. package/cpp/api/JsiSkFontMgr.h +2 -2
  13. package/cpp/api/JsiSkFontStyle.h +11 -5
  14. package/cpp/api/JsiSkImage.h +1 -1
  15. package/cpp/api/JsiSkImageFilter.h +1 -1
  16. package/cpp/api/JsiSkMaskFilter.h +1 -1
  17. package/cpp/api/JsiSkMatrix.h +1 -1
  18. package/cpp/api/JsiSkPaint.h +8 -1
  19. package/cpp/api/JsiSkPath.h +11 -8
  20. package/cpp/api/JsiSkPathEffect.h +1 -1
  21. package/cpp/api/JsiSkPicture.h +1 -1
  22. package/cpp/api/JsiSkPictureRecorder.h +1 -1
  23. package/cpp/api/JsiSkRuntimeEffect.h +1 -1
  24. package/cpp/api/JsiSkSVG.h +1 -1
  25. package/cpp/api/JsiSkShader.h +1 -1
  26. package/cpp/api/JsiSkSurface.h +1 -1
  27. package/cpp/api/JsiSkTextBlob.h +1 -1
  28. package/cpp/api/JsiSkTypeFaceFontProvider.h +4 -2
  29. package/cpp/api/JsiSkTypeface.h +24 -2
  30. package/cpp/api/JsiSkVertices.h +1 -1
  31. package/cpp/rnskia/dom/base/JsiDomRenderNode.h +1 -1
  32. package/cpp/rnskia/dom/nodes/JsiPaintNode.h +4 -0
  33. package/cpp/rnskia/dom/props/FontProp.h +3 -1
  34. package/cpp/rnskia/dom/props/PaintProps.h +3 -0
  35. package/lib/commonjs/dom/nodes/PaintContext.d.ts +1 -0
  36. package/lib/commonjs/dom/nodes/PaintContext.js.map +1 -1
  37. package/lib/commonjs/dom/nodes/PaintNode.js +6 -1
  38. package/lib/commonjs/dom/nodes/PaintNode.js.map +1 -1
  39. package/lib/commonjs/dom/nodes/RenderNode.js +1 -1
  40. package/lib/commonjs/dom/nodes/RenderNode.js.map +1 -1
  41. package/lib/commonjs/dom/nodes/drawings/Text.d.ts +3 -3
  42. package/lib/commonjs/dom/nodes/drawings/Text.js +26 -4
  43. package/lib/commonjs/dom/nodes/drawings/Text.js.map +1 -1
  44. package/lib/commonjs/dom/types/Common.d.ts +1 -0
  45. package/lib/commonjs/dom/types/Common.js.map +1 -1
  46. package/lib/commonjs/dom/types/DrawingContext.js +15 -0
  47. package/lib/commonjs/dom/types/DrawingContext.js.map +1 -1
  48. package/lib/commonjs/dom/types/Drawings.d.ts +1 -1
  49. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  50. package/lib/commonjs/external/reanimated/moduleWrapper.js +1 -1
  51. package/lib/commonjs/external/reanimated/moduleWrapper.js.map +1 -1
  52. package/lib/commonjs/skia/types/Font/FontMgr.d.ts +1 -1
  53. package/lib/commonjs/skia/types/Font/FontMgr.js.map +1 -1
  54. package/lib/commonjs/skia/types/Image/ImageFactory.d.ts +12 -11
  55. package/lib/commonjs/skia/types/Image/ImageFactory.js +12 -11
  56. package/lib/commonjs/skia/types/Image/ImageFactory.js.map +1 -1
  57. package/lib/commonjs/skia/types/Paint/Paint.d.ts +5 -0
  58. package/lib/commonjs/skia/types/Paint/Paint.js.map +1 -1
  59. package/lib/commonjs/skia/types/Typeface/Typeface.d.ts +10 -1
  60. package/lib/commonjs/skia/types/Typeface/Typeface.js.map +1 -1
  61. package/lib/commonjs/skia/web/JsiSkPaint.d.ts +1 -0
  62. package/lib/commonjs/skia/web/JsiSkPaint.js +4 -0
  63. package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
  64. package/lib/commonjs/skia/web/JsiSkPath.d.ts +1 -1
  65. package/lib/commonjs/skia/web/JsiSkPath.js +10 -1
  66. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  67. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +1 -0
  68. package/lib/commonjs/skia/web/JsiSkTypeface.js +4 -0
  69. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  70. package/lib/module/dom/nodes/PaintContext.d.ts +1 -0
  71. package/lib/module/dom/nodes/PaintContext.js.map +1 -1
  72. package/lib/module/dom/nodes/PaintNode.js +6 -1
  73. package/lib/module/dom/nodes/PaintNode.js.map +1 -1
  74. package/lib/module/dom/nodes/RenderNode.js +1 -1
  75. package/lib/module/dom/nodes/RenderNode.js.map +1 -1
  76. package/lib/module/dom/nodes/drawings/Text.d.ts +3 -3
  77. package/lib/module/dom/nodes/drawings/Text.js +26 -4
  78. package/lib/module/dom/nodes/drawings/Text.js.map +1 -1
  79. package/lib/module/dom/types/Common.d.ts +1 -0
  80. package/lib/module/dom/types/Common.js.map +1 -1
  81. package/lib/module/dom/types/DrawingContext.js +15 -0
  82. package/lib/module/dom/types/DrawingContext.js.map +1 -1
  83. package/lib/module/dom/types/Drawings.d.ts +1 -1
  84. package/lib/module/dom/types/Drawings.js.map +1 -1
  85. package/lib/module/external/reanimated/moduleWrapper.js +1 -1
  86. package/lib/module/external/reanimated/moduleWrapper.js.map +1 -1
  87. package/lib/module/skia/types/Font/FontMgr.d.ts +1 -1
  88. package/lib/module/skia/types/Font/FontMgr.js.map +1 -1
  89. package/lib/module/skia/types/Image/ImageFactory.d.ts +12 -11
  90. package/lib/module/skia/types/Image/ImageFactory.js +12 -11
  91. package/lib/module/skia/types/Image/ImageFactory.js.map +1 -1
  92. package/lib/module/skia/types/Paint/Paint.d.ts +5 -0
  93. package/lib/module/skia/types/Paint/Paint.js.map +1 -1
  94. package/lib/module/skia/types/Typeface/Typeface.d.ts +10 -1
  95. package/lib/module/skia/types/Typeface/Typeface.js.map +1 -1
  96. package/lib/module/skia/web/JsiSkPaint.d.ts +1 -0
  97. package/lib/module/skia/web/JsiSkPaint.js +4 -0
  98. package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
  99. package/lib/module/skia/web/JsiSkPath.d.ts +1 -1
  100. package/lib/module/skia/web/JsiSkPath.js +11 -1
  101. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  102. package/lib/module/skia/web/JsiSkTypeface.d.ts +1 -0
  103. package/lib/module/skia/web/JsiSkTypeface.js +4 -0
  104. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  105. package/lib/typescript/src/dom/nodes/PaintContext.d.ts +1 -0
  106. package/lib/typescript/src/dom/nodes/drawings/Text.d.ts +3 -3
  107. package/lib/typescript/src/dom/types/Common.d.ts +1 -0
  108. package/lib/typescript/src/dom/types/Drawings.d.ts +1 -1
  109. package/lib/typescript/src/skia/types/Font/FontMgr.d.ts +1 -1
  110. package/lib/typescript/src/skia/types/Image/ImageFactory.d.ts +12 -11
  111. package/lib/typescript/src/skia/types/Paint/Paint.d.ts +5 -0
  112. package/lib/typescript/src/skia/types/Typeface/Typeface.d.ts +10 -1
  113. package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +1 -0
  114. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +1 -1
  115. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +1 -0
  116. package/package.json +2 -2
  117. package/src/dom/nodes/PaintContext.ts +1 -0
  118. package/src/dom/nodes/PaintNode.ts +4 -0
  119. package/src/dom/nodes/RenderNode.ts +1 -0
  120. package/src/dom/nodes/drawings/Text.ts +31 -5
  121. package/src/dom/types/Common.ts +1 -0
  122. package/src/dom/types/DrawingContext.ts +13 -0
  123. package/src/dom/types/Drawings.ts +1 -1
  124. package/src/external/reanimated/moduleWrapper.ts +1 -1
  125. package/src/skia/types/Font/FontMgr.ts +1 -1
  126. package/src/skia/types/Image/ImageFactory.ts +1 -0
  127. package/src/skia/types/Paint/Paint.ts +6 -0
  128. package/src/skia/types/Typeface/Typeface.ts +10 -1
  129. package/src/skia/web/JsiSkPaint.ts +4 -0
  130. package/src/skia/web/JsiSkPath.ts +8 -1
  131. package/src/skia/web/JsiSkTypeface.ts +4 -0
@@ -4,5 +4,5 @@ import type { FontStyle } from "./Font";
4
4
  export interface SkFontMgr extends SkJSIInstance<"FontMgr"> {
5
5
  countFamilies(): number;
6
6
  getFamilyName(index: number): string;
7
- matchFamilyStyle(name: string, style: FontStyle): SkTypeface;
7
+ matchFamilyStyle(name?: string, style?: FontStyle): SkTypeface;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["FontMgr.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkTypeface } from \"../Typeface\";\n\nimport type { FontStyle } from \"./Font\";\n\nexport interface SkFontMgr extends SkJSIInstance<\"FontMgr\"> {\n countFamilies(): number;\n getFamilyName(index: number): string;\n matchFamilyStyle(name: string, style: FontStyle): SkTypeface;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["FontMgr.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkTypeface } from \"../Typeface\";\n\nimport type { FontStyle } from \"./Font\";\n\nexport interface SkFontMgr extends SkJSIInstance<\"FontMgr\"> {\n countFamilies(): number;\n getFamilyName(index: number): string;\n matchFamilyStyle(name?: string, style?: FontStyle): SkTypeface;\n}\n"],"mappings":""}
@@ -18,17 +18,18 @@ export declare enum ColorType {
18
18
  BGRA_1010102 = 8,
19
19
  RGB_101010x = 9,
20
20
  BGR_101010x = 10,
21
- Gray_8 = 11,
22
- RGBA_F16Norm = 12,
23
- RGBA_F16 = 13,
24
- RGBA_F32 = 14,
25
- R8G8_unorm = 15,
26
- A16_float = 16,
27
- R16G16_float = 17,
28
- A16_unorm = 18,
29
- R16G16_unorm = 19,
30
- R16G16B16A16_unorm = 20,
31
- SRGBA_8888 = 21
21
+ BGR_101010x_XR = 11,
22
+ Gray_8 = 12,
23
+ RGBA_F16Norm = 13,
24
+ RGBA_F16 = 14,
25
+ RGBA_F32 = 15,
26
+ R8G8_unorm = 16,
27
+ A16_float = 17,
28
+ R16G16_float = 18,
29
+ A16_unorm = 19,
30
+ R16G16_unorm = 20,
31
+ R16G16B16A16_unorm = 21,
32
+ SRGBA_8888 = 22
32
33
  }
33
34
  export interface ImageInfo {
34
35
  alphaType: AlphaType;
@@ -21,16 +21,17 @@ export let ColorType;
21
21
  ColorType[ColorType["BGRA_1010102"] = 8] = "BGRA_1010102";
22
22
  ColorType[ColorType["RGB_101010x"] = 9] = "RGB_101010x";
23
23
  ColorType[ColorType["BGR_101010x"] = 10] = "BGR_101010x";
24
- ColorType[ColorType["Gray_8"] = 11] = "Gray_8";
25
- ColorType[ColorType["RGBA_F16Norm"] = 12] = "RGBA_F16Norm";
26
- ColorType[ColorType["RGBA_F16"] = 13] = "RGBA_F16";
27
- ColorType[ColorType["RGBA_F32"] = 14] = "RGBA_F32";
28
- ColorType[ColorType["R8G8_unorm"] = 15] = "R8G8_unorm";
29
- ColorType[ColorType["A16_float"] = 16] = "A16_float";
30
- ColorType[ColorType["R16G16_float"] = 17] = "R16G16_float";
31
- ColorType[ColorType["A16_unorm"] = 18] = "A16_unorm";
32
- ColorType[ColorType["R16G16_unorm"] = 19] = "R16G16_unorm";
33
- ColorType[ColorType["R16G16B16A16_unorm"] = 20] = "R16G16B16A16_unorm";
34
- ColorType[ColorType["SRGBA_8888"] = 21] = "SRGBA_8888";
24
+ ColorType[ColorType["BGR_101010x_XR"] = 11] = "BGR_101010x_XR";
25
+ ColorType[ColorType["Gray_8"] = 12] = "Gray_8";
26
+ ColorType[ColorType["RGBA_F16Norm"] = 13] = "RGBA_F16Norm";
27
+ ColorType[ColorType["RGBA_F16"] = 14] = "RGBA_F16";
28
+ ColorType[ColorType["RGBA_F32"] = 15] = "RGBA_F32";
29
+ ColorType[ColorType["R8G8_unorm"] = 16] = "R8G8_unorm";
30
+ ColorType[ColorType["A16_float"] = 17] = "A16_float";
31
+ ColorType[ColorType["R16G16_float"] = 18] = "R16G16_float";
32
+ ColorType[ColorType["A16_unorm"] = 19] = "A16_unorm";
33
+ ColorType[ColorType["R16G16_unorm"] = 20] = "R16G16_unorm";
34
+ ColorType[ColorType["R16G16B16A16_unorm"] = 21] = "R16G16B16A16_unorm";
35
+ ColorType[ColorType["SRGBA_8888"] = 22] = "SRGBA_8888";
35
36
  })(ColorType || (ColorType = {}));
36
37
  //# sourceMappingURL=ImageFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AlphaType","ColorType"],"sources":["ImageFactory.ts"],"sourcesContent":["import type { SkData } from \"../Data\";\n\nimport type { SkImage } from \"./Image\";\n\nexport enum AlphaType {\n Unknown,\n Opaque,\n Premul,\n Unpremul,\n}\n\nexport enum ColorType {\n Unknown, //!< uninitialized\n Alpha_8, //!< pixel with alpha in 8-bit byte\n RGB_565, //!< pixel with 5 bits red, 6 bits green, 5 bits blue, in 16-bit word\n ARGB_4444, //!< pixel with 4 bits for alpha, red, green, blue; in 16-bit word\n RGBA_8888, //!< pixel with 8 bits for red, green, blue, alpha; in 32-bit word\n RGB_888x, //!< pixel with 8 bits each for red, green, blue; in 32-bit word\n BGRA_8888, //!< pixel with 8 bits for blue, green, red, alpha; in 32-bit word\n RGBA_1010102, //!< 10 bits for red, green, blue; 2 bits for alpha; in 32-bit word\n BGRA_1010102, //!< 10 bits for blue, green, red; 2 bits for alpha; in 32-bit word\n RGB_101010x, //!< pixel with 10 bits each for red, green, blue; in 32-bit word\n BGR_101010x, //!< pixel with 10 bits each for blue, green, red; in 32-bit word\n Gray_8, //!< pixel with grayscale level in 8-bit byte\n RGBA_F16Norm, //!< pixel with half floats in [0,1] for red, green, blue, alpha;\n // in 64-bit word\n RGBA_F16, //!< pixel with half floats for red, green, blue, alpha;\n // in 64-bit word\n RGBA_F32, //!< pixel using C float for red, green, blue, alpha; in 128-bit word\n\n // The following 6 colortypes are just for reading from - not for rendering to\n R8G8_unorm, //!< pixel with a uint8_t for red and green\n\n A16_float, //!< pixel with a half float for alpha\n R16G16_float, //!< pixel with a half float for red and green\n\n A16_unorm, //!< pixel with a little endian uint16_t for alpha\n R16G16_unorm, //!< pixel with a little endian uint16_t for red and green\n R16G16B16A16_unorm, //!< pixel with a little endian uint16_t for red, green, blue\n // and alpha\n SRGBA_8888,\n}\n\nexport interface ImageInfo {\n alphaType: AlphaType;\n // TODO: add support for color space\n // colorSpace: ColorSpace;\n colorType: ColorType;\n height: number;\n width: number;\n}\n\nexport interface ImageFactory {\n /**\n * Return an Image backed by the encoded data, but attempt to defer decoding until the image\n * is actually used/drawn. This deferral allows the system to cache the result, either on the\n * CPU or on the GPU, depending on where the image is drawn.\n * This decoding uses the codecs that have been compiled into CanvasKit. If the bytes are\n * invalid (or an unrecognized codec), null will be returned. See Image.h for more details.\n * @param data - Data object with bytes of data\n * @returns If the encoded format is not supported, or subset is outside of the bounds of the decoded\n * image, nullptr is returned.\n */\n MakeImageFromEncoded: (encoded: SkData) => SkImage | null;\n\n /**\n * Returns an image that will be a screenshot of the view represented by\n * the view tag\n * @param viewTag - The tag of the view to make an image from.\n * @returns Returns a valid SkImage, if the view tag is invalid, nullptr is returned.\n */\n MakeImageFromViewTag: (viewTag: number) => Promise<SkImage | null>;\n\n /**\n * Returns an image with the given pixel data and format.\n * Note that we will always make a copy of the pixel data, because of inconsistencies in\n * behavior between GPU and CPU (i.e. the pixel data will be turned into a GPU texture and\n * not modifiable after creation).\n *\n * @param info\n * @param data - bytes representing the pixel data.\n * @param bytesPerRow\n */\n MakeImage(info: ImageInfo, data: SkData, bytesPerRow: number): SkImage | null;\n}\n"],"mappings":"AAIA,WAAYA,SAAZ;;WAAYA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S;;AAOZ,WAAYC,SAAZ;;WAAYA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S"}
1
+ {"version":3,"names":["AlphaType","ColorType"],"sources":["ImageFactory.ts"],"sourcesContent":["import type { SkData } from \"../Data\";\n\nimport type { SkImage } from \"./Image\";\n\nexport enum AlphaType {\n Unknown,\n Opaque,\n Premul,\n Unpremul,\n}\n\nexport enum ColorType {\n Unknown, //!< uninitialized\n Alpha_8, //!< pixel with alpha in 8-bit byte\n RGB_565, //!< pixel with 5 bits red, 6 bits green, 5 bits blue, in 16-bit word\n ARGB_4444, //!< pixel with 4 bits for alpha, red, green, blue; in 16-bit word\n RGBA_8888, //!< pixel with 8 bits for red, green, blue, alpha; in 32-bit word\n RGB_888x, //!< pixel with 8 bits each for red, green, blue; in 32-bit word\n BGRA_8888, //!< pixel with 8 bits for blue, green, red, alpha; in 32-bit word\n RGBA_1010102, //!< 10 bits for red, green, blue; 2 bits for alpha; in 32-bit word\n BGRA_1010102, //!< 10 bits for blue, green, red; 2 bits for alpha; in 32-bit word\n RGB_101010x, //!< pixel with 10 bits each for red, green, blue; in 32-bit word\n BGR_101010x, //!< pixel with 10 bits each for blue, green, red; in 32-bit word\n BGR_101010x_XR, //!< pixel with 10 bits each for blue, green, red; in 32-bit word, extended range\n Gray_8, //!< pixel with grayscale level in 8-bit byte\n RGBA_F16Norm, //!< pixel with half floats in [0,1] for red, green, blue, alpha;\n // in 64-bit word\n RGBA_F16, //!< pixel with half floats for red, green, blue, alpha;\n // in 64-bit word\n RGBA_F32, //!< pixel using C float for red, green, blue, alpha; in 128-bit word\n\n // The following 6 colortypes are just for reading from - not for rendering to\n R8G8_unorm, //!< pixel with a uint8_t for red and green\n\n A16_float, //!< pixel with a half float for alpha\n R16G16_float, //!< pixel with a half float for red and green\n\n A16_unorm, //!< pixel with a little endian uint16_t for alpha\n R16G16_unorm, //!< pixel with a little endian uint16_t for red and green\n R16G16B16A16_unorm, //!< pixel with a little endian uint16_t for red, green, blue\n // and alpha\n SRGBA_8888,\n}\n\nexport interface ImageInfo {\n alphaType: AlphaType;\n // TODO: add support for color space\n // colorSpace: ColorSpace;\n colorType: ColorType;\n height: number;\n width: number;\n}\n\nexport interface ImageFactory {\n /**\n * Return an Image backed by the encoded data, but attempt to defer decoding until the image\n * is actually used/drawn. This deferral allows the system to cache the result, either on the\n * CPU or on the GPU, depending on where the image is drawn.\n * This decoding uses the codecs that have been compiled into CanvasKit. If the bytes are\n * invalid (or an unrecognized codec), null will be returned. See Image.h for more details.\n * @param data - Data object with bytes of data\n * @returns If the encoded format is not supported, or subset is outside of the bounds of the decoded\n * image, nullptr is returned.\n */\n MakeImageFromEncoded: (encoded: SkData) => SkImage | null;\n\n /**\n * Returns an image that will be a screenshot of the view represented by\n * the view tag\n * @param viewTag - The tag of the view to make an image from.\n * @returns Returns a valid SkImage, if the view tag is invalid, nullptr is returned.\n */\n MakeImageFromViewTag: (viewTag: number) => Promise<SkImage | null>;\n\n /**\n * Returns an image with the given pixel data and format.\n * Note that we will always make a copy of the pixel data, because of inconsistencies in\n * behavior between GPU and CPU (i.e. the pixel data will be turned into a GPU texture and\n * not modifiable after creation).\n *\n * @param info\n * @param data - bytes representing the pixel data.\n * @param bytesPerRow\n */\n MakeImage(info: ImageInfo, data: SkData, bytesPerRow: number): SkImage | null;\n}\n"],"mappings":"AAIA,WAAYA,SAAZ;;WAAYA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S;;AAOZ,WAAYC,SAAZ;;WAAYA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S"}
@@ -67,6 +67,11 @@ export interface SkPaint extends SkJSIInstance<"Paint"> {
67
67
  * @param aa
68
68
  */
69
69
  setAntiAlias: (aa: boolean) => void;
70
+ /**
71
+ * Requests, but does not require, to distribute color error.
72
+ * @param dither
73
+ */
74
+ setDither: (dither: boolean) => void;
70
75
  /**
71
76
  * Sets the blend mode that is, the mode used to combine source color
72
77
  * with destination color.
@@ -1 +1 @@
1
- {"version":3,"names":["PaintStyle","StrokeCap","StrokeJoin","isPaint","obj","__typename__"],"sources":["Paint.ts"],"sourcesContent":["import type { SkImageFilter } from \"../ImageFilter\";\nimport type { SkMaskFilter } from \"../MaskFilter\";\nimport type { SkColorFilter } from \"../ColorFilter\";\nimport type { SkColor } from \"../Color\";\nimport type { SkPathEffect } from \"../PathEffect\";\nimport type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkShader } from \"../Shader\";\n\nimport type { BlendMode } from \"./BlendMode\";\n\nexport enum PaintStyle {\n Fill,\n Stroke,\n}\n\nexport enum StrokeCap {\n Butt,\n Round,\n Square,\n}\n\nexport enum StrokeJoin {\n Miter,\n Round,\n Bevel,\n}\n\nexport const isPaint = (obj: SkJSIInstance<string> | null): obj is SkPaint =>\n obj !== null && obj.__typename__ === \"Paint\";\n\nexport interface SkPaint extends SkJSIInstance<\"Paint\"> {\n /**\n * Retrieves alpha from the color used when stroking and filling.\n */\n getAlphaf(): number;\n\n /**\n * Returns a copy of this paint.\n */\n copy(): SkPaint;\n\n /**\n * Sets all SkPaint contents to their initial values. This is equivalent to replacing\n SkPaint with the result of SkPaint().\n */\n reset(): void;\n\n /**\n * Retrieves the alpha and RGB unpremultiplied. RGB are extended sRGB values\n * (sRGB gamut, and encoded with the sRGB transfer function).\n */\n getColor(): SkColor;\n\n /**\n * Returns the geometry drawn at the beginning and end of strokes.\n */\n getStrokeCap(): StrokeCap;\n\n /**\n * Returns the geometry drawn at the corners of strokes.\n */\n getStrokeJoin(): StrokeJoin;\n\n /**\n * Returns the limit at which a sharp corner is drawn beveled.\n */\n getStrokeMiter(): number;\n\n /**\n * Returns the thickness of the pen used to outline the shape.\n */\n getStrokeWidth(): number;\n\n /**\n * Replaces alpha, leaving RGBA unchanged. 0 means fully transparent, 1.0 means opaque.\n * @param alpha\n */\n setAlphaf(alpha: number): void;\n\n /**\n * Requests, but does not require, that edge pixels draw opaque or with\n * partial transparency.\n * @param aa\n */\n setAntiAlias: (aa: boolean) => void;\n\n /**\n * Sets the blend mode that is, the mode used to combine source color\n * with destination color.\n * @param mode\n */\n setBlendMode: (blendMode: BlendMode) => void;\n\n /**\n * Sets alpha and RGB used when stroking and filling. The color is a 32-bit\n * value, unpremultiplied, packing 8-bit components for alpha, red, blue,\n * and green.\n *\n * @param color unpremultiplied ARGB\n *\n * example: https://fiddle.skia.org/c/@Paint_setColor\n */\n setColor(color: SkColor): void;\n\n /**\n * Sets the current color filter, replacing the existing one if there was one.\n * @param filter\n */\n setColorFilter(filter: SkColorFilter | null): void;\n\n /**\n * Sets the current image filter, replacing the existing one if there was one.\n * @param filter\n */\n setImageFilter(filter: SkImageFilter | null): void;\n\n /**\n * Sets the current mask filter, replacing the existing one if there was one.\n * @param filter\n */\n setMaskFilter(filter: SkMaskFilter | null): void;\n\n /**\n * Sets the current path effect, replacing the existing one if there was one.\n * @param effect\n */\n setPathEffect(effect: SkPathEffect | null): void;\n\n /**\n * Sets the current shader, replacing the existing one if there was one.\n * @param shader\n */\n setShader(shader: SkShader | null): void;\n\n /**\n * Sets the geometry drawn at the beginning and end of strokes.\n * @param cap\n */\n setStrokeCap(cap: StrokeCap): void;\n\n /**\n * Sets the geometry drawn at the corners of strokes.\n * @param join\n */\n setStrokeJoin(join: StrokeJoin): void;\n\n /**\n * Sets the limit at which a sharp corner is drawn beveled.\n * @param limit\n */\n setStrokeMiter(limit: number): void;\n\n /**\n * Sets the thickness of the pen used to outline the shape.\n * @param width\n */\n setStrokeWidth(width: number): void;\n\n /**\n * Sets whether the geometry is filled or stroked.\n * @param style\n */\n setStyle(style: PaintStyle): void;\n}\n"],"mappings":"AAUA,WAAYA,UAAZ;;WAAYA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAKZ,WAAYC,SAAZ;;WAAYA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S;;AAMZ,WAAYC,UAAZ;;WAAYA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAMZ,OAAO,MAAMC,OAAO,GAAIC,GAAD,IACrBA,GAAG,KAAK,IAAR,IAAgBA,GAAG,CAACC,YAAJ,KAAqB,OADhC"}
1
+ {"version":3,"names":["PaintStyle","StrokeCap","StrokeJoin","isPaint","obj","__typename__"],"sources":["Paint.ts"],"sourcesContent":["import type { SkImageFilter } from \"../ImageFilter\";\nimport type { SkMaskFilter } from \"../MaskFilter\";\nimport type { SkColorFilter } from \"../ColorFilter\";\nimport type { SkColor } from \"../Color\";\nimport type { SkPathEffect } from \"../PathEffect\";\nimport type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkShader } from \"../Shader\";\n\nimport type { BlendMode } from \"./BlendMode\";\n\nexport enum PaintStyle {\n Fill,\n Stroke,\n}\n\nexport enum StrokeCap {\n Butt,\n Round,\n Square,\n}\n\nexport enum StrokeJoin {\n Miter,\n Round,\n Bevel,\n}\n\nexport const isPaint = (obj: SkJSIInstance<string> | null): obj is SkPaint =>\n obj !== null && obj.__typename__ === \"Paint\";\n\nexport interface SkPaint extends SkJSIInstance<\"Paint\"> {\n /**\n * Retrieves alpha from the color used when stroking and filling.\n */\n getAlphaf(): number;\n\n /**\n * Returns a copy of this paint.\n */\n copy(): SkPaint;\n\n /**\n * Sets all SkPaint contents to their initial values. This is equivalent to replacing\n SkPaint with the result of SkPaint().\n */\n reset(): void;\n\n /**\n * Retrieves the alpha and RGB unpremultiplied. RGB are extended sRGB values\n * (sRGB gamut, and encoded with the sRGB transfer function).\n */\n getColor(): SkColor;\n\n /**\n * Returns the geometry drawn at the beginning and end of strokes.\n */\n getStrokeCap(): StrokeCap;\n\n /**\n * Returns the geometry drawn at the corners of strokes.\n */\n getStrokeJoin(): StrokeJoin;\n\n /**\n * Returns the limit at which a sharp corner is drawn beveled.\n */\n getStrokeMiter(): number;\n\n /**\n * Returns the thickness of the pen used to outline the shape.\n */\n getStrokeWidth(): number;\n\n /**\n * Replaces alpha, leaving RGBA unchanged. 0 means fully transparent, 1.0 means opaque.\n * @param alpha\n */\n setAlphaf(alpha: number): void;\n\n /**\n * Requests, but does not require, that edge pixels draw opaque or with\n * partial transparency.\n * @param aa\n */\n setAntiAlias: (aa: boolean) => void;\n\n /**\n * Requests, but does not require, to distribute color error.\n * @param dither\n */\n setDither: (dither: boolean) => void;\n\n /**\n * Sets the blend mode that is, the mode used to combine source color\n * with destination color.\n * @param mode\n */\n setBlendMode: (blendMode: BlendMode) => void;\n\n /**\n * Sets alpha and RGB used when stroking and filling. The color is a 32-bit\n * value, unpremultiplied, packing 8-bit components for alpha, red, blue,\n * and green.\n *\n * @param color unpremultiplied ARGB\n *\n * example: https://fiddle.skia.org/c/@Paint_setColor\n */\n setColor(color: SkColor): void;\n\n /**\n * Sets the current color filter, replacing the existing one if there was one.\n * @param filter\n */\n setColorFilter(filter: SkColorFilter | null): void;\n\n /**\n * Sets the current image filter, replacing the existing one if there was one.\n * @param filter\n */\n setImageFilter(filter: SkImageFilter | null): void;\n\n /**\n * Sets the current mask filter, replacing the existing one if there was one.\n * @param filter\n */\n setMaskFilter(filter: SkMaskFilter | null): void;\n\n /**\n * Sets the current path effect, replacing the existing one if there was one.\n * @param effect\n */\n setPathEffect(effect: SkPathEffect | null): void;\n\n /**\n * Sets the current shader, replacing the existing one if there was one.\n * @param shader\n */\n setShader(shader: SkShader | null): void;\n\n /**\n * Sets the geometry drawn at the beginning and end of strokes.\n * @param cap\n */\n setStrokeCap(cap: StrokeCap): void;\n\n /**\n * Sets the geometry drawn at the corners of strokes.\n * @param join\n */\n setStrokeJoin(join: StrokeJoin): void;\n\n /**\n * Sets the limit at which a sharp corner is drawn beveled.\n * @param limit\n */\n setStrokeMiter(limit: number): void;\n\n /**\n * Sets the thickness of the pen used to outline the shape.\n * @param width\n */\n setStrokeWidth(width: number): void;\n\n /**\n * Sets whether the geometry is filled or stroked.\n * @param style\n */\n setStyle(style: PaintStyle): void;\n}\n"],"mappings":"AAUA,WAAYA,UAAZ;;WAAYA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAKZ,WAAYC,SAAZ;;WAAYA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S;;AAMZ,WAAYC,UAAZ;;WAAYA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAMZ,OAAO,MAAMC,OAAO,GAAIC,GAAD,IACrBA,GAAG,KAAK,IAAR,IAAgBA,GAAG,CAACC,YAAJ,KAAqB,OADhC"}
@@ -1,2 +1,11 @@
1
1
  import type { SkJSIInstance } from "../JsiInstance";
2
- export declare type SkTypeface = SkJSIInstance<"Typeface">;
2
+ export interface SkTypeface extends SkJSIInstance<"Typeface"> {
3
+ /**
4
+ * Retrieves the glyph ids for each code point in the provided string. This call is passed to
5
+ * the typeface of this font. Note that glyph IDs are typeface-dependent; different faces
6
+ * may have different ids for the same code point.
7
+ * @param str
8
+ * @param numCodePoints - the number of code points in the string. Defaults to str.length.
9
+ */
10
+ getGlyphIDs(str: string, numCodePoints?: number): number[];
11
+ }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["Typeface.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkTypeface = SkJSIInstance<\"Typeface\">;\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["Typeface.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\n\nexport interface SkTypeface extends SkJSIInstance<\"Typeface\"> {\n /**\n * Retrieves the glyph ids for each code point in the provided string. This call is passed to\n * the typeface of this font. Note that glyph IDs are typeface-dependent; different faces\n * may have different ids for the same code point.\n * @param str\n * @param numCodePoints - the number of code points in the string. Defaults to str.length.\n */\n getGlyphIDs(str: string, numCodePoints?: number): number[];\n}\n"],"mappings":""}
@@ -14,6 +14,7 @@ export declare class JsiSkPaint extends HostObject<Paint, "Paint"> implements Sk
14
14
  getStrokeWidth(): number;
15
15
  setAlphaf(alpha: number): void;
16
16
  setAntiAlias(aa: boolean): void;
17
+ setDither(dither: boolean): void;
17
18
  setBlendMode(blendMode: BlendMode): void;
18
19
  setColor(color: SkColor): void;
19
20
  setColorFilter(filter: SkColorFilter | null): void;
@@ -55,6 +55,10 @@ export class JsiSkPaint extends HostObject {
55
55
  this.ref.setAntiAlias(aa);
56
56
  }
57
57
 
58
+ setDither(dither) {
59
+ this.ref.setDither(dither);
60
+ }
61
+
58
62
  setBlendMode(blendMode) {
59
63
  this.ref.setBlendMode(ckEnum(blendMode));
60
64
  }
@@ -1 +1 @@
1
- {"version":3,"names":["HostObject","ckEnum","JsiSkColorFilter","JsiSkImageFilter","JsiSkMaskFilter","JsiSkPathEffect","JsiSkShader","JsiSkPaint","constructor","CanvasKit","ref","delete","copy","reset","Paint","getAlphaf","getColor","getStrokeCap","value","getStrokeJoin","getStrokeMiter","getStrokeWidth","setAlphaf","alpha","setAntiAlias","aa","setBlendMode","blendMode","setColor","color","setColorFilter","filter","fromValue","setImageFilter","setMaskFilter","setPathEffect","effect","setShader","shader","setStrokeCap","cap","setStrokeJoin","join","setStrokeMiter","limit","setStrokeWidth","width","setStyle","style"],"sources":["JsiSkPaint.ts"],"sourcesContent":["import type { CanvasKit, Paint } from \"canvaskit-wasm\";\n\nimport type {\n StrokeJoin,\n BlendMode,\n SkColor,\n SkColorFilter,\n SkImageFilter,\n SkPaint,\n SkShader,\n StrokeCap,\n PaintStyle,\n SkMaskFilter,\n SkPathEffect,\n} from \"../types\";\n\nimport { HostObject, ckEnum } from \"./Host\";\nimport { JsiSkColorFilter } from \"./JsiSkColorFilter\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkMaskFilter } from \"./JsiSkMaskFilter\";\nimport { JsiSkPathEffect } from \"./JsiSkPathEffect\";\nimport { JsiSkShader } from \"./JsiSkShader\";\n\nexport class JsiSkPaint extends HostObject<Paint, \"Paint\"> implements SkPaint {\n constructor(CanvasKit: CanvasKit, ref: Paint) {\n super(CanvasKit, ref, \"Paint\");\n }\n\n dispose = () => {\n this.ref.delete();\n };\n\n copy() {\n return new JsiSkPaint(this.CanvasKit, this.ref.copy());\n }\n\n reset() {\n this.ref = new this.CanvasKit.Paint();\n }\n\n getAlphaf() {\n return this.getColor()[3];\n }\n\n getColor() {\n return this.ref.getColor();\n }\n\n getStrokeCap() {\n return this.ref.getStrokeCap().value;\n }\n\n getStrokeJoin() {\n return this.ref.getStrokeJoin().value;\n }\n\n getStrokeMiter() {\n return this.ref.getStrokeMiter();\n }\n\n getStrokeWidth() {\n return this.ref.getStrokeWidth();\n }\n\n setAlphaf(alpha: number) {\n this.ref.setAlphaf(alpha);\n }\n\n setAntiAlias(aa: boolean) {\n this.ref.setAntiAlias(aa);\n }\n\n setBlendMode(blendMode: BlendMode) {\n this.ref.setBlendMode(ckEnum(blendMode));\n }\n\n setColor(color: SkColor) {\n this.ref.setColor(color);\n }\n\n setColorFilter(filter: SkColorFilter | null) {\n this.ref.setColorFilter(filter ? JsiSkColorFilter.fromValue(filter) : null);\n }\n\n setImageFilter(filter: SkImageFilter | null) {\n this.ref.setImageFilter(filter ? JsiSkImageFilter.fromValue(filter) : null);\n }\n\n setMaskFilter(filter: SkMaskFilter | null) {\n this.ref.setMaskFilter(filter ? JsiSkMaskFilter.fromValue(filter) : null);\n }\n\n setPathEffect(effect: SkPathEffect | null) {\n this.ref.setPathEffect(effect ? JsiSkPathEffect.fromValue(effect) : null);\n }\n\n setShader(shader: SkShader | null) {\n this.ref.setShader(shader ? JsiSkShader.fromValue(shader) : null);\n }\n\n setStrokeCap(cap: StrokeCap) {\n this.ref.setStrokeCap(ckEnum(cap));\n }\n\n setStrokeJoin(join: StrokeJoin) {\n this.ref.setStrokeJoin(ckEnum(join));\n }\n\n setStrokeMiter(limit: number) {\n this.ref.setStrokeMiter(limit);\n }\n\n setStrokeWidth(width: number) {\n this.ref.setStrokeWidth(width);\n }\n\n setStyle(style: PaintStyle) {\n this.ref.setStyle({ value: style });\n }\n}\n"],"mappings":";;AAgBA,SAASA,UAAT,EAAqBC,MAArB,QAAmC,QAAnC;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SAASC,eAAT,QAAgC,mBAAhC;AACA,SAASC,eAAT,QAAgC,mBAAhC;AACA,SAASC,WAAT,QAA4B,eAA5B;AAEA,OAAO,MAAMC,UAAN,SAAyBP,UAAzB,CAAuE;EAC5EQ,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAmC;IAC5C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,OAAtB;;IAD4C,iCAIpC,MAAM;MACd,KAAKA,GAAL,CAASC,MAAT;IACD,CAN6C;EAE7C;;EAMDC,IAAI,GAAG;IACL,OAAO,IAAIL,UAAJ,CAAe,KAAKE,SAApB,EAA+B,KAAKC,GAAL,CAASE,IAAT,EAA/B,CAAP;EACD;;EAEDC,KAAK,GAAG;IACN,KAAKH,GAAL,GAAW,IAAI,KAAKD,SAAL,CAAeK,KAAnB,EAAX;EACD;;EAEDC,SAAS,GAAG;IACV,OAAO,KAAKC,QAAL,GAAgB,CAAhB,CAAP;EACD;;EAEDA,QAAQ,GAAG;IACT,OAAO,KAAKN,GAAL,CAASM,QAAT,EAAP;EACD;;EAEDC,YAAY,GAAG;IACb,OAAO,KAAKP,GAAL,CAASO,YAAT,GAAwBC,KAA/B;EACD;;EAEDC,aAAa,GAAG;IACd,OAAO,KAAKT,GAAL,CAASS,aAAT,GAAyBD,KAAhC;EACD;;EAEDE,cAAc,GAAG;IACf,OAAO,KAAKV,GAAL,CAASU,cAAT,EAAP;EACD;;EAEDC,cAAc,GAAG;IACf,OAAO,KAAKX,GAAL,CAASW,cAAT,EAAP;EACD;;EAEDC,SAAS,CAACC,KAAD,EAAgB;IACvB,KAAKb,GAAL,CAASY,SAAT,CAAmBC,KAAnB;EACD;;EAEDC,YAAY,CAACC,EAAD,EAAc;IACxB,KAAKf,GAAL,CAASc,YAAT,CAAsBC,EAAtB;EACD;;EAEDC,YAAY,CAACC,SAAD,EAAuB;IACjC,KAAKjB,GAAL,CAASgB,YAAT,CAAsBzB,MAAM,CAAC0B,SAAD,CAA5B;EACD;;EAEDC,QAAQ,CAACC,KAAD,EAAiB;IACvB,KAAKnB,GAAL,CAASkB,QAAT,CAAkBC,KAAlB;EACD;;EAEDC,cAAc,CAACC,MAAD,EAA+B;IAC3C,KAAKrB,GAAL,CAASoB,cAAT,CAAwBC,MAAM,GAAG7B,gBAAgB,CAAC8B,SAAjB,CAA2BD,MAA3B,CAAH,GAAwC,IAAtE;EACD;;EAEDE,cAAc,CAACF,MAAD,EAA+B;IAC3C,KAAKrB,GAAL,CAASuB,cAAT,CAAwBF,MAAM,GAAG5B,gBAAgB,CAAC6B,SAAjB,CAA2BD,MAA3B,CAAH,GAAwC,IAAtE;EACD;;EAEDG,aAAa,CAACH,MAAD,EAA8B;IACzC,KAAKrB,GAAL,CAASwB,aAAT,CAAuBH,MAAM,GAAG3B,eAAe,CAAC4B,SAAhB,CAA0BD,MAA1B,CAAH,GAAuC,IAApE;EACD;;EAEDI,aAAa,CAACC,MAAD,EAA8B;IACzC,KAAK1B,GAAL,CAASyB,aAAT,CAAuBC,MAAM,GAAG/B,eAAe,CAAC2B,SAAhB,CAA0BI,MAA1B,CAAH,GAAuC,IAApE;EACD;;EAEDC,SAAS,CAACC,MAAD,EAA0B;IACjC,KAAK5B,GAAL,CAAS2B,SAAT,CAAmBC,MAAM,GAAGhC,WAAW,CAAC0B,SAAZ,CAAsBM,MAAtB,CAAH,GAAmC,IAA5D;EACD;;EAEDC,YAAY,CAACC,GAAD,EAAiB;IAC3B,KAAK9B,GAAL,CAAS6B,YAAT,CAAsBtC,MAAM,CAACuC,GAAD,CAA5B;EACD;;EAEDC,aAAa,CAACC,IAAD,EAAmB;IAC9B,KAAKhC,GAAL,CAAS+B,aAAT,CAAuBxC,MAAM,CAACyC,IAAD,CAA7B;EACD;;EAEDC,cAAc,CAACC,KAAD,EAAgB;IAC5B,KAAKlC,GAAL,CAASiC,cAAT,CAAwBC,KAAxB;EACD;;EAEDC,cAAc,CAACC,KAAD,EAAgB;IAC5B,KAAKpC,GAAL,CAASmC,cAAT,CAAwBC,KAAxB;EACD;;EAEDC,QAAQ,CAACC,KAAD,EAAoB;IAC1B,KAAKtC,GAAL,CAASqC,QAAT,CAAkB;MAAE7B,KAAK,EAAE8B;IAAT,CAAlB;EACD;;AA/F2E"}
1
+ {"version":3,"names":["HostObject","ckEnum","JsiSkColorFilter","JsiSkImageFilter","JsiSkMaskFilter","JsiSkPathEffect","JsiSkShader","JsiSkPaint","constructor","CanvasKit","ref","delete","copy","reset","Paint","getAlphaf","getColor","getStrokeCap","value","getStrokeJoin","getStrokeMiter","getStrokeWidth","setAlphaf","alpha","setAntiAlias","aa","setDither","dither","setBlendMode","blendMode","setColor","color","setColorFilter","filter","fromValue","setImageFilter","setMaskFilter","setPathEffect","effect","setShader","shader","setStrokeCap","cap","setStrokeJoin","join","setStrokeMiter","limit","setStrokeWidth","width","setStyle","style"],"sources":["JsiSkPaint.ts"],"sourcesContent":["import type { CanvasKit, Paint } from \"canvaskit-wasm\";\n\nimport type {\n StrokeJoin,\n BlendMode,\n SkColor,\n SkColorFilter,\n SkImageFilter,\n SkPaint,\n SkShader,\n StrokeCap,\n PaintStyle,\n SkMaskFilter,\n SkPathEffect,\n} from \"../types\";\n\nimport { HostObject, ckEnum } from \"./Host\";\nimport { JsiSkColorFilter } from \"./JsiSkColorFilter\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkMaskFilter } from \"./JsiSkMaskFilter\";\nimport { JsiSkPathEffect } from \"./JsiSkPathEffect\";\nimport { JsiSkShader } from \"./JsiSkShader\";\n\nexport class JsiSkPaint extends HostObject<Paint, \"Paint\"> implements SkPaint {\n constructor(CanvasKit: CanvasKit, ref: Paint) {\n super(CanvasKit, ref, \"Paint\");\n }\n\n dispose = () => {\n this.ref.delete();\n };\n\n copy() {\n return new JsiSkPaint(this.CanvasKit, this.ref.copy());\n }\n\n reset() {\n this.ref = new this.CanvasKit.Paint();\n }\n\n getAlphaf() {\n return this.getColor()[3];\n }\n\n getColor() {\n return this.ref.getColor();\n }\n\n getStrokeCap() {\n return this.ref.getStrokeCap().value;\n }\n\n getStrokeJoin() {\n return this.ref.getStrokeJoin().value;\n }\n\n getStrokeMiter() {\n return this.ref.getStrokeMiter();\n }\n\n getStrokeWidth() {\n return this.ref.getStrokeWidth();\n }\n\n setAlphaf(alpha: number) {\n this.ref.setAlphaf(alpha);\n }\n\n setAntiAlias(aa: boolean) {\n this.ref.setAntiAlias(aa);\n }\n\n setDither(dither: boolean) {\n this.ref.setDither(dither);\n }\n\n setBlendMode(blendMode: BlendMode) {\n this.ref.setBlendMode(ckEnum(blendMode));\n }\n\n setColor(color: SkColor) {\n this.ref.setColor(color);\n }\n\n setColorFilter(filter: SkColorFilter | null) {\n this.ref.setColorFilter(filter ? JsiSkColorFilter.fromValue(filter) : null);\n }\n\n setImageFilter(filter: SkImageFilter | null) {\n this.ref.setImageFilter(filter ? JsiSkImageFilter.fromValue(filter) : null);\n }\n\n setMaskFilter(filter: SkMaskFilter | null) {\n this.ref.setMaskFilter(filter ? JsiSkMaskFilter.fromValue(filter) : null);\n }\n\n setPathEffect(effect: SkPathEffect | null) {\n this.ref.setPathEffect(effect ? JsiSkPathEffect.fromValue(effect) : null);\n }\n\n setShader(shader: SkShader | null) {\n this.ref.setShader(shader ? JsiSkShader.fromValue(shader) : null);\n }\n\n setStrokeCap(cap: StrokeCap) {\n this.ref.setStrokeCap(ckEnum(cap));\n }\n\n setStrokeJoin(join: StrokeJoin) {\n this.ref.setStrokeJoin(ckEnum(join));\n }\n\n setStrokeMiter(limit: number) {\n this.ref.setStrokeMiter(limit);\n }\n\n setStrokeWidth(width: number) {\n this.ref.setStrokeWidth(width);\n }\n\n setStyle(style: PaintStyle) {\n this.ref.setStyle({ value: style });\n }\n}\n"],"mappings":";;AAgBA,SAASA,UAAT,EAAqBC,MAArB,QAAmC,QAAnC;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SAASC,eAAT,QAAgC,mBAAhC;AACA,SAASC,eAAT,QAAgC,mBAAhC;AACA,SAASC,WAAT,QAA4B,eAA5B;AAEA,OAAO,MAAMC,UAAN,SAAyBP,UAAzB,CAAuE;EAC5EQ,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAmC;IAC5C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,OAAtB;;IAD4C,iCAIpC,MAAM;MACd,KAAKA,GAAL,CAASC,MAAT;IACD,CAN6C;EAE7C;;EAMDC,IAAI,GAAG;IACL,OAAO,IAAIL,UAAJ,CAAe,KAAKE,SAApB,EAA+B,KAAKC,GAAL,CAASE,IAAT,EAA/B,CAAP;EACD;;EAEDC,KAAK,GAAG;IACN,KAAKH,GAAL,GAAW,IAAI,KAAKD,SAAL,CAAeK,KAAnB,EAAX;EACD;;EAEDC,SAAS,GAAG;IACV,OAAO,KAAKC,QAAL,GAAgB,CAAhB,CAAP;EACD;;EAEDA,QAAQ,GAAG;IACT,OAAO,KAAKN,GAAL,CAASM,QAAT,EAAP;EACD;;EAEDC,YAAY,GAAG;IACb,OAAO,KAAKP,GAAL,CAASO,YAAT,GAAwBC,KAA/B;EACD;;EAEDC,aAAa,GAAG;IACd,OAAO,KAAKT,GAAL,CAASS,aAAT,GAAyBD,KAAhC;EACD;;EAEDE,cAAc,GAAG;IACf,OAAO,KAAKV,GAAL,CAASU,cAAT,EAAP;EACD;;EAEDC,cAAc,GAAG;IACf,OAAO,KAAKX,GAAL,CAASW,cAAT,EAAP;EACD;;EAEDC,SAAS,CAACC,KAAD,EAAgB;IACvB,KAAKb,GAAL,CAASY,SAAT,CAAmBC,KAAnB;EACD;;EAEDC,YAAY,CAACC,EAAD,EAAc;IACxB,KAAKf,GAAL,CAASc,YAAT,CAAsBC,EAAtB;EACD;;EAEDC,SAAS,CAACC,MAAD,EAAkB;IACzB,KAAKjB,GAAL,CAASgB,SAAT,CAAmBC,MAAnB;EACD;;EAEDC,YAAY,CAACC,SAAD,EAAuB;IACjC,KAAKnB,GAAL,CAASkB,YAAT,CAAsB3B,MAAM,CAAC4B,SAAD,CAA5B;EACD;;EAEDC,QAAQ,CAACC,KAAD,EAAiB;IACvB,KAAKrB,GAAL,CAASoB,QAAT,CAAkBC,KAAlB;EACD;;EAEDC,cAAc,CAACC,MAAD,EAA+B;IAC3C,KAAKvB,GAAL,CAASsB,cAAT,CAAwBC,MAAM,GAAG/B,gBAAgB,CAACgC,SAAjB,CAA2BD,MAA3B,CAAH,GAAwC,IAAtE;EACD;;EAEDE,cAAc,CAACF,MAAD,EAA+B;IAC3C,KAAKvB,GAAL,CAASyB,cAAT,CAAwBF,MAAM,GAAG9B,gBAAgB,CAAC+B,SAAjB,CAA2BD,MAA3B,CAAH,GAAwC,IAAtE;EACD;;EAEDG,aAAa,CAACH,MAAD,EAA8B;IACzC,KAAKvB,GAAL,CAAS0B,aAAT,CAAuBH,MAAM,GAAG7B,eAAe,CAAC8B,SAAhB,CAA0BD,MAA1B,CAAH,GAAuC,IAApE;EACD;;EAEDI,aAAa,CAACC,MAAD,EAA8B;IACzC,KAAK5B,GAAL,CAAS2B,aAAT,CAAuBC,MAAM,GAAGjC,eAAe,CAAC6B,SAAhB,CAA0BI,MAA1B,CAAH,GAAuC,IAApE;EACD;;EAEDC,SAAS,CAACC,MAAD,EAA0B;IACjC,KAAK9B,GAAL,CAAS6B,SAAT,CAAmBC,MAAM,GAAGlC,WAAW,CAAC4B,SAAZ,CAAsBM,MAAtB,CAAH,GAAmC,IAA5D;EACD;;EAEDC,YAAY,CAACC,GAAD,EAAiB;IAC3B,KAAKhC,GAAL,CAAS+B,YAAT,CAAsBxC,MAAM,CAACyC,GAAD,CAA5B;EACD;;EAEDC,aAAa,CAACC,IAAD,EAAmB;IAC9B,KAAKlC,GAAL,CAASiC,aAAT,CAAuB1C,MAAM,CAAC2C,IAAD,CAA7B;EACD;;EAEDC,cAAc,CAACC,KAAD,EAAgB;IAC5B,KAAKpC,GAAL,CAASmC,cAAT,CAAwBC,KAAxB;EACD;;EAEDC,cAAc,CAACC,KAAD,EAAgB;IAC5B,KAAKtC,GAAL,CAASqC,cAAT,CAAwBC,KAAxB;EACD;;EAEDC,QAAQ,CAACC,KAAD,EAAoB;IAC1B,KAAKxC,GAAL,CAASuC,QAAT,CAAkB;MAAE/B,KAAK,EAAEgC;IAAT,CAAlB;EACD;;AAnG2E"}
@@ -50,7 +50,7 @@ export declare class JsiSkPath extends HostObject<Path, "Path"> implements SkPat
50
50
  op(path: SkPath, op: PathOp): boolean;
51
51
  simplify(): boolean;
52
52
  toSVGString(): string;
53
- trim(startT: number, stopT: number, isComplement: boolean): this | null;
53
+ trim(start: number, stop: number, isComplement: boolean): this | null;
54
54
  transform(m3: SkMatrix): void;
55
55
  interpolate(end: SkPath, t: number): JsiSkPath | null;
56
56
  isInterpolatable(path2: SkPath): boolean;
@@ -14,6 +14,9 @@ const CommandCount = {
14
14
  [PathVerb.Cubic]: 7,
15
15
  [PathVerb.Close]: 1
16
16
  };
17
+
18
+ const pinT = t => Math.min(Math.max(t, 0), 1);
19
+
17
20
  export class JsiSkPath extends HostObject {
18
21
  constructor(CanvasKit, ref) {
19
22
  super(CanvasKit, ref, "Path");
@@ -230,7 +233,14 @@ export class JsiSkPath extends HostObject {
230
233
  return this.ref.toSVGString();
231
234
  }
232
235
 
233
- trim(startT, stopT, isComplement) {
236
+ trim(start, stop, isComplement) {
237
+ const startT = pinT(start);
238
+ const stopT = pinT(stop);
239
+
240
+ if (startT === 0 && stopT === 1) {
241
+ return this;
242
+ }
243
+
234
244
  const result = this.ref.trim(startT, stopT, isComplement);
235
245
  return result === null ? result : this;
236
246
  }
@@ -1 +1 @@
1
- {"version":3,"names":["PathVerb","ckEnum","HostObject","optEnum","JsiSkPoint","JsiSkRect","JsiSkRRect","JsiSkMatrix","CommandCount","Move","Line","Quad","Conic","Cubic","Close","JsiSkPath","constructor","CanvasKit","ref","delete","addPath","src","matrix","extend","args","fromValue","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","Array","from","flat","moveTo","x","y","lineTo","makeAsWinding","result","offset","dx","dy","rArcTo","rx","ry","xAxisRotateInDegrees","useSmallArc","rConicTo","dx1","dy1","dx2","dy2","w","rCubicTo","cpx1","cpy1","cpx2","cpy2","rMoveTo","rLineTo","rQuadTo","x1","y1","x2","y2","setFillType","fill","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","cap","reset","rewind","computeTightBounds","arcToOval","forceMoveTo","arcToRotated","arcToTangent","radius","conicTo","contains","copy","cubicTo","dash","on","off","phase","equals","other","getBounds","getFillType","value","quadTo","addRect","rect","addRRect","rrect","getPoint","index","isEmpty","isVolatile","addCircle","r","getLastPt","op","path","simplify","toSVGString","trim","startT","stopT","isComplement","transform","m3","interpolate","end","t","Path","MakeFromPathInterpolation","isInterpolatable","path2","CanInterpolate","toCmds","cmds","reduce","acc","cmd","i","push","current","length"],"sources":["JsiSkPath.ts"],"sourcesContent":["import type { CanvasKit, Path } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n SkRRect,\n StrokeOpts,\n} from \"../types\";\n\nimport { ckEnum, HostObject, optEnum } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n dispose = () => {\n this.ref.delete();\n };\n\n addPath(src: SkPath, matrix?: SkMatrix, extend = false) {\n const args = [\n JsiSkPath.fromValue(src),\n ...(matrix ? JsiSkMatrix.fromValue<Float32Array>(matrix) : []),\n extend,\n ];\n this.ref.addPath(...args);\n return this;\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees\n );\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n isCCW,\n startIndex\n );\n return this;\n }\n\n countPoints() {\n return this.ref.countPoints();\n }\n\n addPoly(points: SkPoint[], close: boolean) {\n this.ref.addPoly(\n points.map((p) => Array.from(JsiSkPoint.fromValue(p))).flat(),\n close\n );\n return this;\n }\n\n moveTo(x: number, y: number) {\n this.ref.moveTo(x, y);\n return this;\n }\n\n lineTo(x: number, y: number) {\n this.ref.lineTo(x, y);\n return this;\n }\n\n makeAsWinding() {\n const result = this.ref.makeAsWinding();\n return result === null ? result : this;\n }\n\n offset(dx: number, dy: number) {\n this.ref.offset(dx, dy);\n return this;\n }\n\n rArcTo(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n dx: number,\n dy: number\n ) {\n this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);\n return this;\n }\n\n rConicTo(dx1: number, dy1: number, dx2: number, dy2: number, w: number) {\n this.ref.rConicTo(dx1, dy1, dx2, dy2, w);\n return this;\n }\n\n rCubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.rCubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n rMoveTo(x: number, y: number) {\n this.ref.rMoveTo(x, y);\n return this;\n }\n\n rLineTo(x: number, y: number) {\n this.ref.rLineTo(x, y);\n return this;\n }\n\n rQuadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.rQuadTo(x1, y1, x2, y2);\n return this;\n }\n\n setFillType(fill: FillType) {\n this.ref.setFillType(ckEnum(fill));\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n }\n\n stroke(opts?: StrokeOpts) {\n const result = this.ref.stroke(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.width,\n precision: opts.width,\n join: optEnum(opts.join),\n cap: optEnum(opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n }\n\n reset() {\n this.ref.reset();\n }\n\n rewind() {\n this.ref.rewind();\n }\n\n computeTightBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.computeTightBounds());\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n contains(x: number, y: number) {\n return this.ref.contains(x, y);\n }\n\n copy() {\n return new JsiSkPath(this.CanvasKit, this.ref.copy());\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n dash(on: number, off: number, phase: number) {\n return this.ref.dash(on, off, phase);\n }\n\n equals(other: SkPath) {\n return this.ref.equals(JsiSkPath.fromValue(other));\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType() {\n return this.ref.getFillType().value;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n getPoint(index: number) {\n return new JsiSkPoint(this.CanvasKit, this.ref.getPoint(index));\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return this.ref.isVolatile();\n }\n\n addCircle(x: number, y: number, r: number) {\n this.ref.addCircle(x, y, r);\n return this;\n }\n\n getLastPt() {\n return new JsiSkPoint(\n this.CanvasKit,\n this.ref.getPoint(this.ref.countPoints() - 1)\n );\n }\n\n op(path: SkPath, op: PathOp) {\n return this.ref.op(JsiSkPath.fromValue(path), ckEnum(op));\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(startT: number, stopT: number, isComplement: boolean) {\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m3: SkMatrix) {\n this.ref.transform(JsiSkMatrix.fromValue(m3));\n }\n\n interpolate(end: SkPath, t: number) {\n const path = this.CanvasKit.Path.MakeFromPathInterpolation(\n this.ref,\n JsiSkPath.fromValue(end),\n t\n );\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n isInterpolatable(path2: SkPath): boolean {\n return this.CanvasKit.Path.CanInterpolate(\n this.ref,\n JsiSkPath.fromValue(path2)\n );\n }\n\n toCmds() {\n const cmds = this.ref.toCmds();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"],"mappings":";;AAEA,SAASA,QAAT,QAAyB,UAAzB;AAaA,SAASC,MAAT,EAAiBC,UAAjB,EAA6BC,OAA7B,QAA4C,QAA5C;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,SAASC,WAAT,QAA4B,eAA5B;AAEA,MAAMC,YAAY,GAAG;EACnB,CAACR,QAAQ,CAACS,IAAV,GAAiB,CADE;EAEnB,CAACT,QAAQ,CAACU,IAAV,GAAiB,CAFE;EAGnB,CAACV,QAAQ,CAACW,IAAV,GAAiB,CAHE;EAInB,CAACX,QAAQ,CAACY,KAAV,GAAkB,CAJC;EAKnB,CAACZ,QAAQ,CAACa,KAAV,GAAkB,CALC;EAMnB,CAACb,QAAQ,CAACc,KAAV,GAAkB;AANC,CAArB;AASA,OAAO,MAAMC,SAAN,SAAwBb,UAAxB,CAAmE;EACxEc,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAkC;IAC3C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,MAAtB;;IAD2C,iCAInC,MAAM;MACd,KAAKA,GAAL,CAASC,MAAT;IACD,CAN4C;EAE5C;;EAMDC,OAAO,CAACC,GAAD,EAAcC,MAAd,EAAiD;IAAA,IAAhBC,MAAgB,uEAAP,KAAO;IACtD,MAAMC,IAAI,GAAG,CACXT,SAAS,CAACU,SAAV,CAAoBJ,GAApB,CADW,EAEX,IAAIC,MAAM,GAAGf,WAAW,CAACkB,SAAZ,CAAoCH,MAApC,CAAH,GAAiD,EAA3D,CAFW,EAGXC,MAHW,CAAb;IAKA,KAAKL,GAAL,CAASE,OAAT,CAAiB,GAAGI,IAApB;IACA,OAAO,IAAP;EACD;;EAEDE,MAAM,CACJC,IADI,EAEJC,mBAFI,EAGJC,mBAHI,EAIJ;IACA,KAAKX,GAAL,CAASQ,MAAT,CACErB,SAAS,CAACoB,SAAV,CAAoB,KAAKR,SAAzB,EAAoCU,IAApC,CADF,EAEEC,mBAFF,EAGEC,mBAHF;IAKA,OAAO,IAAP;EACD;;EAEDC,OAAO,CAACH,IAAD,EAAeI,KAAf,EAAgCC,UAAhC,EAAqD;IAC1D,KAAKd,GAAL,CAASY,OAAT,CACEzB,SAAS,CAACoB,SAAV,CAAoB,KAAKR,SAAzB,EAAoCU,IAApC,CADF,EAEEI,KAFF,EAGEC,UAHF;IAKA,OAAO,IAAP;EACD;;EAEDC,WAAW,GAAG;IACZ,OAAO,KAAKf,GAAL,CAASe,WAAT,EAAP;EACD;;EAEDC,OAAO,CAACC,MAAD,EAAoBC,KAApB,EAAoC;IACzC,KAAKlB,GAAL,CAASgB,OAAT,CACEC,MAAM,CAACE,GAAP,CAAYC,CAAD,IAAOC,KAAK,CAACC,IAAN,CAAWpC,UAAU,CAACqB,SAAX,CAAqBa,CAArB,CAAX,CAAlB,EAAuDG,IAAvD,EADF,EAEEL,KAFF;IAIA,OAAO,IAAP;EACD;;EAEDM,MAAM,CAACC,CAAD,EAAYC,CAAZ,EAAuB;IAC3B,KAAK1B,GAAL,CAASwB,MAAT,CAAgBC,CAAhB,EAAmBC,CAAnB;IACA,OAAO,IAAP;EACD;;EAEDC,MAAM,CAACF,CAAD,EAAYC,CAAZ,EAAuB;IAC3B,KAAK1B,GAAL,CAAS2B,MAAT,CAAgBF,CAAhB,EAAmBC,CAAnB;IACA,OAAO,IAAP;EACD;;EAEDE,aAAa,GAAG;IACd,MAAMC,MAAM,GAAG,KAAK7B,GAAL,CAAS4B,aAAT,EAAf;IACA,OAAOC,MAAM,KAAK,IAAX,GAAkBA,MAAlB,GAA2B,IAAlC;EACD;;EAEDC,MAAM,CAACC,EAAD,EAAaC,EAAb,EAAyB;IAC7B,KAAKhC,GAAL,CAAS8B,MAAT,CAAgBC,EAAhB,EAAoBC,EAApB;IACA,OAAO,IAAP;EACD;;EAEDC,MAAM,CACJC,EADI,EAEJC,EAFI,EAGJC,oBAHI,EAIJC,WAJI,EAKJxB,KALI,EAMJkB,EANI,EAOJC,EAPI,EAQJ;IACA,KAAKhC,GAAL,CAASiC,MAAT,CAAgBC,EAAhB,EAAoBC,EAApB,EAAwBC,oBAAxB,EAA8CC,WAA9C,EAA2DxB,KAA3D,EAAkEkB,EAAlE,EAAsEC,EAAtE;IACA,OAAO,IAAP;EACD;;EAEDM,QAAQ,CAACC,GAAD,EAAcC,GAAd,EAA2BC,GAA3B,EAAwCC,GAAxC,EAAqDC,CAArD,EAAgE;IACtE,KAAK3C,GAAL,CAASsC,QAAT,CAAkBC,GAAlB,EAAuBC,GAAvB,EAA4BC,GAA5B,EAAiCC,GAAjC,EAAsCC,CAAtC;IACA,OAAO,IAAP;EACD;;EAEDC,QAAQ,CACNC,IADM,EAENC,IAFM,EAGNC,IAHM,EAINC,IAJM,EAKNvB,CALM,EAMNC,CANM,EAON;IACA,KAAK1B,GAAL,CAAS4C,QAAT,CAAkBC,IAAlB,EAAwBC,IAAxB,EAA8BC,IAA9B,EAAoCC,IAApC,EAA0CvB,CAA1C,EAA6CC,CAA7C;IACA,OAAO,IAAP;EACD;;EAEDuB,OAAO,CAACxB,CAAD,EAAYC,CAAZ,EAAuB;IAC5B,KAAK1B,GAAL,CAASiD,OAAT,CAAiBxB,CAAjB,EAAoBC,CAApB;IACA,OAAO,IAAP;EACD;;EAEDwB,OAAO,CAACzB,CAAD,EAAYC,CAAZ,EAAuB;IAC5B,KAAK1B,GAAL,CAASkD,OAAT,CAAiBzB,CAAjB,EAAoBC,CAApB;IACA,OAAO,IAAP;EACD;;EAEDyB,OAAO,CAACC,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiD;IACtD,KAAKvD,GAAL,CAASmD,OAAT,CAAiBC,EAAjB,EAAqBC,EAArB,EAAyBC,EAAzB,EAA6BC,EAA7B;IACA,OAAO,IAAP;EACD;;EAEDC,WAAW,CAACC,IAAD,EAAiB;IAC1B,KAAKzD,GAAL,CAASwD,WAAT,CAAqBzE,MAAM,CAAC0E,IAAD,CAA3B;EACD;;EAEDC,aAAa,CAACC,QAAD,EAAoB;IAC/B,KAAK3D,GAAL,CAAS0D,aAAT,CAAuBC,QAAvB;EACD;;EAEDC,MAAM,CAACC,IAAD,EAAoB;IACxB,MAAMhC,MAAM,GAAG,KAAK7B,GAAL,CAAS4D,MAAT,CACbC,IAAI,KAAKC,SAAT,GACIA,SADJ,GAEI;MACEC,KAAK,EAAEF,IAAI,CAACE,KADd;MAEE;MACAC,WAAW,EAAEH,IAAI,CAACE,KAHpB;MAIEE,SAAS,EAAEJ,IAAI,CAACE,KAJlB;MAKEG,IAAI,EAAEjF,OAAO,CAAC4E,IAAI,CAACK,IAAN,CALf;MAMEC,GAAG,EAAElF,OAAO,CAAC4E,IAAI,CAACM,GAAN;IANd,CAHS,CAAf;IAYA,OAAOtC,MAAM,KAAK,IAAX,GAAkBA,MAAlB,GAA2B,IAAlC;EACD;;EAEDX,KAAK,GAAG;IACN,KAAKlB,GAAL,CAASkB,KAAT;EACD;;EAEDkD,KAAK,GAAG;IACN,KAAKpE,GAAL,CAASoE,KAAT;EACD;;EAEDC,MAAM,GAAG;IACP,KAAKrE,GAAL,CAASqE,MAAT;EACD;;EAEDC,kBAAkB,GAAW;IAC3B,OAAO,IAAInF,SAAJ,CAAc,KAAKY,SAAnB,EAA8B,KAAKC,GAAL,CAASsE,kBAAT,EAA9B,CAAP;EACD;;EAEDC,SAAS,CACP9D,IADO,EAEPC,mBAFO,EAGPC,mBAHO,EAIP6D,WAJO,EAKP;IACA,KAAKxE,GAAL,CAASuE,SAAT,CACEpF,SAAS,CAACoB,SAAV,CAAoB,KAAKR,SAAzB,EAAoCU,IAApC,CADF,EAEEC,mBAFF,EAGEC,mBAHF,EAIE6D,WAJF;IAMA,OAAO,IAAP;EACD;;EAEDC,YAAY,CACVvC,EADU,EAEVC,EAFU,EAGVC,oBAHU,EAIVC,WAJU,EAKVxB,KALU,EAMVY,CANU,EAOVC,CAPU,EAQV;IACA,KAAK1B,GAAL,CAASyE,YAAT,CACEvC,EADF,EAEEC,EAFF,EAGEC,oBAHF,EAIEC,WAJF,EAKExB,KALF,EAMEY,CANF,EAOEC,CAPF;IASA,OAAO,IAAP;EACD;;EAEDgD,YAAY,CAACtB,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiDoB,MAAjD,EAAiE;IAC3E,KAAK3E,GAAL,CAAS0E,YAAT,CAAsBtB,EAAtB,EAA0BC,EAA1B,EAA8BC,EAA9B,EAAkCC,EAAlC,EAAsCoB,MAAtC;IACA,OAAO,IAAP;EACD;;EAEDC,OAAO,CAACxB,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiDZ,CAAjD,EAA4D;IACjE,KAAK3C,GAAL,CAAS4E,OAAT,CAAiBxB,EAAjB,EAAqBC,EAArB,EAAyBC,EAAzB,EAA6BC,EAA7B,EAAiCZ,CAAjC;IACA,OAAO,IAAP;EACD;;EAEDkC,QAAQ,CAACpD,CAAD,EAAYC,CAAZ,EAAuB;IAC7B,OAAO,KAAK1B,GAAL,CAAS6E,QAAT,CAAkBpD,CAAlB,EAAqBC,CAArB,CAAP;EACD;;EAEDoD,IAAI,GAAG;IACL,OAAO,IAAIjF,SAAJ,CAAc,KAAKE,SAAnB,EAA8B,KAAKC,GAAL,CAAS8E,IAAT,EAA9B,CAAP;EACD;;EAEDC,OAAO,CACLlC,IADK,EAELC,IAFK,EAGLC,IAHK,EAILC,IAJK,EAKLvB,CALK,EAMLC,CANK,EAOL;IACA,KAAK1B,GAAL,CAAS+E,OAAT,CAAiBlC,IAAjB,EAAuBC,IAAvB,EAA6BC,IAA7B,EAAmCC,IAAnC,EAAyCvB,CAAzC,EAA4CC,CAA5C;IACA,OAAO,IAAP;EACD;;EAEDsD,IAAI,CAACC,EAAD,EAAaC,GAAb,EAA0BC,KAA1B,EAAyC;IAC3C,OAAO,KAAKnF,GAAL,CAASgF,IAAT,CAAcC,EAAd,EAAkBC,GAAlB,EAAuBC,KAAvB,CAAP;EACD;;EAEDC,MAAM,CAACC,KAAD,EAAgB;IACpB,OAAO,KAAKrF,GAAL,CAASoF,MAAT,CAAgBvF,SAAS,CAACU,SAAV,CAAoB8E,KAApB,CAAhB,CAAP;EACD;;EAEDC,SAAS,GAAG;IACV,OAAO,IAAInG,SAAJ,CAAc,KAAKY,SAAnB,EAA8B,KAAKC,GAAL,CAASsF,SAAT,EAA9B,CAAP;EACD;;EAEDC,WAAW,GAAG;IACZ,OAAO,KAAKvF,GAAL,CAASuF,WAAT,GAAuBC,KAA9B;EACD;;EAEDC,MAAM,CAACrC,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiD;IACrD,KAAKvD,GAAL,CAASyF,MAAT,CAAgBrC,EAAhB,EAAoBC,EAApB,EAAwBC,EAAxB,EAA4BC,EAA5B;EACD;;EAEDmC,OAAO,CAACC,IAAD,EAAe9E,KAAf,EAAgC;IACrC,KAAKb,GAAL,CAAS0F,OAAT,CAAiBvG,SAAS,CAACoB,SAAV,CAAoB,KAAKR,SAAzB,EAAoC4F,IAApC,CAAjB,EAA4D9E,KAA5D;EACD;;EAED+E,QAAQ,CAACC,KAAD,EAAiBhF,KAAjB,EAAkC;IACxC,KAAKb,GAAL,CAAS4F,QAAT,CAAkBxG,UAAU,CAACmB,SAAX,CAAqB,KAAKR,SAA1B,EAAqC8F,KAArC,CAAlB,EAA+DhF,KAA/D;IACA,OAAO,IAAP;EACD;;EAEDiF,QAAQ,CAACC,KAAD,EAAgB;IACtB,OAAO,IAAI7G,UAAJ,CAAe,KAAKa,SAApB,EAA+B,KAAKC,GAAL,CAAS8F,QAAT,CAAkBC,KAAlB,CAA/B,CAAP;EACD;;EAEDC,OAAO,GAAG;IACR,OAAO,KAAKhG,GAAL,CAASgG,OAAT,EAAP;EACD;;EAEDC,UAAU,GAAG;IACX,OAAO,KAAKjG,GAAL,CAASiG,UAAT,EAAP;EACD;;EAEDC,SAAS,CAACzE,CAAD,EAAYC,CAAZ,EAAuByE,CAAvB,EAAkC;IACzC,KAAKnG,GAAL,CAASkG,SAAT,CAAmBzE,CAAnB,EAAsBC,CAAtB,EAAyByE,CAAzB;IACA,OAAO,IAAP;EACD;;EAEDC,SAAS,GAAG;IACV,OAAO,IAAIlH,UAAJ,CACL,KAAKa,SADA,EAEL,KAAKC,GAAL,CAAS8F,QAAT,CAAkB,KAAK9F,GAAL,CAASe,WAAT,KAAyB,CAA3C,CAFK,CAAP;EAID;;EAEDsF,EAAE,CAACC,IAAD,EAAeD,EAAf,EAA2B;IAC3B,OAAO,KAAKrG,GAAL,CAASqG,EAAT,CAAYxG,SAAS,CAACU,SAAV,CAAoB+F,IAApB,CAAZ,EAAuCvH,MAAM,CAACsH,EAAD,CAA7C,CAAP;EACD;;EAEDE,QAAQ,GAAG;IACT,OAAO,KAAKvG,GAAL,CAASuG,QAAT,EAAP;EACD;;EAEDC,WAAW,GAAG;IACZ,OAAO,KAAKxG,GAAL,CAASwG,WAAT,EAAP;EACD;;EAEDC,IAAI,CAACC,MAAD,EAAiBC,KAAjB,EAAgCC,YAAhC,EAAuD;IACzD,MAAM/E,MAAM,GAAG,KAAK7B,GAAL,CAASyG,IAAT,CAAcC,MAAd,EAAsBC,KAAtB,EAA6BC,YAA7B,CAAf;IACA,OAAO/E,MAAM,KAAK,IAAX,GAAkBA,MAAlB,GAA2B,IAAlC;EACD;;EAEDgF,SAAS,CAACC,EAAD,EAAe;IACtB,KAAK9G,GAAL,CAAS6G,SAAT,CAAmBxH,WAAW,CAACkB,SAAZ,CAAsBuG,EAAtB,CAAnB;EACD;;EAEDC,WAAW,CAACC,GAAD,EAAcC,CAAd,EAAyB;IAClC,MAAMX,IAAI,GAAG,KAAKvG,SAAL,CAAemH,IAAf,CAAoBC,yBAApB,CACX,KAAKnH,GADM,EAEXH,SAAS,CAACU,SAAV,CAAoByG,GAApB,CAFW,EAGXC,CAHW,CAAb;;IAKA,IAAIX,IAAI,KAAK,IAAb,EAAmB;MACjB,OAAO,IAAP;IACD;;IACD,OAAO,IAAIzG,SAAJ,CAAc,KAAKE,SAAnB,EAA8BuG,IAA9B,CAAP;EACD;;EAEDc,gBAAgB,CAACC,KAAD,EAAyB;IACvC,OAAO,KAAKtH,SAAL,CAAemH,IAAf,CAAoBI,cAApB,CACL,KAAKtH,GADA,EAELH,SAAS,CAACU,SAAV,CAAoB8G,KAApB,CAFK,CAAP;EAID;;EAEDE,MAAM,GAAG;IACP,MAAMC,IAAI,GAAG,KAAKxH,GAAL,CAASuH,MAAT,EAAb;IACA,MAAM1F,MAAM,GAAG2F,IAAI,CAACC,MAAL,CAA2B,CAACC,GAAD,EAAMC,GAAN,EAAWC,CAAX,KAAiB;MACzD,IAAIA,CAAC,KAAK,CAAV,EAAa;QACXF,GAAG,CAACG,IAAJ,CAAS,EAAT;MACD;;MACD,MAAMC,OAAO,GAAGJ,GAAG,CAACA,GAAG,CAACK,MAAJ,GAAa,CAAd,CAAnB;;MACA,IAAID,OAAO,CAACC,MAAR,KAAmB,CAAvB,EAA0B;QACxBD,OAAO,CAACD,IAAR,CAAaF,GAAb;QACA,MAAMI,MAAM,GAAGzI,YAAY,CAACwI,OAAO,CAAC,CAAD,CAAR,CAA3B;;QACA,IAAIA,OAAO,CAACC,MAAR,KAAmBA,MAAnB,IAA6BH,CAAC,KAAKJ,IAAI,CAACO,MAAL,GAAc,CAArD,EAAwD;UACtDL,GAAG,CAACG,IAAJ,CAAS,EAAT;QACD;MACF,CAND,MAMO;QACL,MAAME,MAAM,GAAGzI,YAAY,CAACwI,OAAO,CAAC,CAAD,CAAR,CAA3B;;QACA,IAAIA,OAAO,CAACC,MAAR,GAAiBA,MAArB,EAA6B;UAC3BD,OAAO,CAACD,IAAR,CAAaF,GAAb;QACD;;QACD,IAAIG,OAAO,CAACC,MAAR,KAAmBA,MAAnB,IAA6BH,CAAC,KAAKJ,IAAI,CAACO,MAAL,GAAc,CAArD,EAAwD;UACtDL,GAAG,CAACG,IAAJ,CAAS,EAAT;QACD;MACF;;MACD,OAAOH,GAAP;IACD,CArBc,EAqBZ,EArBY,CAAf;IAsBA,OAAO7F,MAAP;EACD;;AAtVuE"}
1
+ {"version":3,"names":["PathVerb","ckEnum","HostObject","optEnum","JsiSkPoint","JsiSkRect","JsiSkRRect","JsiSkMatrix","CommandCount","Move","Line","Quad","Conic","Cubic","Close","pinT","t","Math","min","max","JsiSkPath","constructor","CanvasKit","ref","delete","addPath","src","matrix","extend","args","fromValue","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","Array","from","flat","moveTo","x","y","lineTo","makeAsWinding","result","offset","dx","dy","rArcTo","rx","ry","xAxisRotateInDegrees","useSmallArc","rConicTo","dx1","dy1","dx2","dy2","w","rCubicTo","cpx1","cpy1","cpx2","cpy2","rMoveTo","rLineTo","rQuadTo","x1","y1","x2","y2","setFillType","fill","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","cap","reset","rewind","computeTightBounds","arcToOval","forceMoveTo","arcToRotated","arcToTangent","radius","conicTo","contains","copy","cubicTo","dash","on","off","phase","equals","other","getBounds","getFillType","value","quadTo","addRect","rect","addRRect","rrect","getPoint","index","isEmpty","isVolatile","addCircle","r","getLastPt","op","path","simplify","toSVGString","trim","start","stop","isComplement","startT","stopT","transform","m3","interpolate","end","Path","MakeFromPathInterpolation","isInterpolatable","path2","CanInterpolate","toCmds","cmds","reduce","acc","cmd","i","push","current","length"],"sources":["JsiSkPath.ts"],"sourcesContent":["import type { CanvasKit, Path } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n SkRRect,\n StrokeOpts,\n} from \"../types\";\n\nimport { ckEnum, HostObject, optEnum } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\nconst pinT = (t: number) => Math.min(Math.max(t, 0), 1);\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n dispose = () => {\n this.ref.delete();\n };\n\n addPath(src: SkPath, matrix?: SkMatrix, extend = false) {\n const args = [\n JsiSkPath.fromValue(src),\n ...(matrix ? JsiSkMatrix.fromValue<Float32Array>(matrix) : []),\n extend,\n ];\n this.ref.addPath(...args);\n return this;\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees\n );\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n isCCW,\n startIndex\n );\n return this;\n }\n\n countPoints() {\n return this.ref.countPoints();\n }\n\n addPoly(points: SkPoint[], close: boolean) {\n this.ref.addPoly(\n points.map((p) => Array.from(JsiSkPoint.fromValue(p))).flat(),\n close\n );\n return this;\n }\n\n moveTo(x: number, y: number) {\n this.ref.moveTo(x, y);\n return this;\n }\n\n lineTo(x: number, y: number) {\n this.ref.lineTo(x, y);\n return this;\n }\n\n makeAsWinding() {\n const result = this.ref.makeAsWinding();\n return result === null ? result : this;\n }\n\n offset(dx: number, dy: number) {\n this.ref.offset(dx, dy);\n return this;\n }\n\n rArcTo(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n dx: number,\n dy: number\n ) {\n this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);\n return this;\n }\n\n rConicTo(dx1: number, dy1: number, dx2: number, dy2: number, w: number) {\n this.ref.rConicTo(dx1, dy1, dx2, dy2, w);\n return this;\n }\n\n rCubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.rCubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n rMoveTo(x: number, y: number) {\n this.ref.rMoveTo(x, y);\n return this;\n }\n\n rLineTo(x: number, y: number) {\n this.ref.rLineTo(x, y);\n return this;\n }\n\n rQuadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.rQuadTo(x1, y1, x2, y2);\n return this;\n }\n\n setFillType(fill: FillType) {\n this.ref.setFillType(ckEnum(fill));\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n }\n\n stroke(opts?: StrokeOpts) {\n const result = this.ref.stroke(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.width,\n precision: opts.width,\n join: optEnum(opts.join),\n cap: optEnum(opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n }\n\n reset() {\n this.ref.reset();\n }\n\n rewind() {\n this.ref.rewind();\n }\n\n computeTightBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.computeTightBounds());\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n contains(x: number, y: number) {\n return this.ref.contains(x, y);\n }\n\n copy() {\n return new JsiSkPath(this.CanvasKit, this.ref.copy());\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n dash(on: number, off: number, phase: number) {\n return this.ref.dash(on, off, phase);\n }\n\n equals(other: SkPath) {\n return this.ref.equals(JsiSkPath.fromValue(other));\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType() {\n return this.ref.getFillType().value;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n getPoint(index: number) {\n return new JsiSkPoint(this.CanvasKit, this.ref.getPoint(index));\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return this.ref.isVolatile();\n }\n\n addCircle(x: number, y: number, r: number) {\n this.ref.addCircle(x, y, r);\n return this;\n }\n\n getLastPt() {\n return new JsiSkPoint(\n this.CanvasKit,\n this.ref.getPoint(this.ref.countPoints() - 1)\n );\n }\n\n op(path: SkPath, op: PathOp) {\n return this.ref.op(JsiSkPath.fromValue(path), ckEnum(op));\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(start: number, stop: number, isComplement: boolean) {\n const startT = pinT(start);\n const stopT = pinT(stop);\n if (startT === 0 && stopT === 1) {\n return this;\n }\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m3: SkMatrix) {\n this.ref.transform(JsiSkMatrix.fromValue(m3));\n }\n\n interpolate(end: SkPath, t: number) {\n const path = this.CanvasKit.Path.MakeFromPathInterpolation(\n this.ref,\n JsiSkPath.fromValue(end),\n t\n );\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n isInterpolatable(path2: SkPath): boolean {\n return this.CanvasKit.Path.CanInterpolate(\n this.ref,\n JsiSkPath.fromValue(path2)\n );\n }\n\n toCmds() {\n const cmds = this.ref.toCmds();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"],"mappings":";;AAEA,SAASA,QAAT,QAAyB,UAAzB;AAaA,SAASC,MAAT,EAAiBC,UAAjB,EAA6BC,OAA7B,QAA4C,QAA5C;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,SAASC,WAAT,QAA4B,eAA5B;AAEA,MAAMC,YAAY,GAAG;EACnB,CAACR,QAAQ,CAACS,IAAV,GAAiB,CADE;EAEnB,CAACT,QAAQ,CAACU,IAAV,GAAiB,CAFE;EAGnB,CAACV,QAAQ,CAACW,IAAV,GAAiB,CAHE;EAInB,CAACX,QAAQ,CAACY,KAAV,GAAkB,CAJC;EAKnB,CAACZ,QAAQ,CAACa,KAAV,GAAkB,CALC;EAMnB,CAACb,QAAQ,CAACc,KAAV,GAAkB;AANC,CAArB;;AASA,MAAMC,IAAI,GAAIC,CAAD,IAAeC,IAAI,CAACC,GAAL,CAASD,IAAI,CAACE,GAAL,CAASH,CAAT,EAAY,CAAZ,CAAT,EAAyB,CAAzB,CAA5B;;AAEA,OAAO,MAAMI,SAAN,SAAwBlB,UAAxB,CAAmE;EACxEmB,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAkC;IAC3C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,MAAtB;;IAD2C,iCAInC,MAAM;MACd,KAAKA,GAAL,CAASC,MAAT;IACD,CAN4C;EAE5C;;EAMDC,OAAO,CAACC,GAAD,EAAcC,MAAd,EAAiD;IAAA,IAAhBC,MAAgB,uEAAP,KAAO;IACtD,MAAMC,IAAI,GAAG,CACXT,SAAS,CAACU,SAAV,CAAoBJ,GAApB,CADW,EAEX,IAAIC,MAAM,GAAGpB,WAAW,CAACuB,SAAZ,CAAoCH,MAApC,CAAH,GAAiD,EAA3D,CAFW,EAGXC,MAHW,CAAb;IAKA,KAAKL,GAAL,CAASE,OAAT,CAAiB,GAAGI,IAApB;IACA,OAAO,IAAP;EACD;;EAEDE,MAAM,CACJC,IADI,EAEJC,mBAFI,EAGJC,mBAHI,EAIJ;IACA,KAAKX,GAAL,CAASQ,MAAT,CACE1B,SAAS,CAACyB,SAAV,CAAoB,KAAKR,SAAzB,EAAoCU,IAApC,CADF,EAEEC,mBAFF,EAGEC,mBAHF;IAKA,OAAO,IAAP;EACD;;EAEDC,OAAO,CAACH,IAAD,EAAeI,KAAf,EAAgCC,UAAhC,EAAqD;IAC1D,KAAKd,GAAL,CAASY,OAAT,CACE9B,SAAS,CAACyB,SAAV,CAAoB,KAAKR,SAAzB,EAAoCU,IAApC,CADF,EAEEI,KAFF,EAGEC,UAHF;IAKA,OAAO,IAAP;EACD;;EAEDC,WAAW,GAAG;IACZ,OAAO,KAAKf,GAAL,CAASe,WAAT,EAAP;EACD;;EAEDC,OAAO,CAACC,MAAD,EAAoBC,KAApB,EAAoC;IACzC,KAAKlB,GAAL,CAASgB,OAAT,CACEC,MAAM,CAACE,GAAP,CAAYC,CAAD,IAAOC,KAAK,CAACC,IAAN,CAAWzC,UAAU,CAAC0B,SAAX,CAAqBa,CAArB,CAAX,CAAlB,EAAuDG,IAAvD,EADF,EAEEL,KAFF;IAIA,OAAO,IAAP;EACD;;EAEDM,MAAM,CAACC,CAAD,EAAYC,CAAZ,EAAuB;IAC3B,KAAK1B,GAAL,CAASwB,MAAT,CAAgBC,CAAhB,EAAmBC,CAAnB;IACA,OAAO,IAAP;EACD;;EAEDC,MAAM,CAACF,CAAD,EAAYC,CAAZ,EAAuB;IAC3B,KAAK1B,GAAL,CAAS2B,MAAT,CAAgBF,CAAhB,EAAmBC,CAAnB;IACA,OAAO,IAAP;EACD;;EAEDE,aAAa,GAAG;IACd,MAAMC,MAAM,GAAG,KAAK7B,GAAL,CAAS4B,aAAT,EAAf;IACA,OAAOC,MAAM,KAAK,IAAX,GAAkBA,MAAlB,GAA2B,IAAlC;EACD;;EAEDC,MAAM,CAACC,EAAD,EAAaC,EAAb,EAAyB;IAC7B,KAAKhC,GAAL,CAAS8B,MAAT,CAAgBC,EAAhB,EAAoBC,EAApB;IACA,OAAO,IAAP;EACD;;EAEDC,MAAM,CACJC,EADI,EAEJC,EAFI,EAGJC,oBAHI,EAIJC,WAJI,EAKJxB,KALI,EAMJkB,EANI,EAOJC,EAPI,EAQJ;IACA,KAAKhC,GAAL,CAASiC,MAAT,CAAgBC,EAAhB,EAAoBC,EAApB,EAAwBC,oBAAxB,EAA8CC,WAA9C,EAA2DxB,KAA3D,EAAkEkB,EAAlE,EAAsEC,EAAtE;IACA,OAAO,IAAP;EACD;;EAEDM,QAAQ,CAACC,GAAD,EAAcC,GAAd,EAA2BC,GAA3B,EAAwCC,GAAxC,EAAqDC,CAArD,EAAgE;IACtE,KAAK3C,GAAL,CAASsC,QAAT,CAAkBC,GAAlB,EAAuBC,GAAvB,EAA4BC,GAA5B,EAAiCC,GAAjC,EAAsCC,CAAtC;IACA,OAAO,IAAP;EACD;;EAEDC,QAAQ,CACNC,IADM,EAENC,IAFM,EAGNC,IAHM,EAINC,IAJM,EAKNvB,CALM,EAMNC,CANM,EAON;IACA,KAAK1B,GAAL,CAAS4C,QAAT,CAAkBC,IAAlB,EAAwBC,IAAxB,EAA8BC,IAA9B,EAAoCC,IAApC,EAA0CvB,CAA1C,EAA6CC,CAA7C;IACA,OAAO,IAAP;EACD;;EAEDuB,OAAO,CAACxB,CAAD,EAAYC,CAAZ,EAAuB;IAC5B,KAAK1B,GAAL,CAASiD,OAAT,CAAiBxB,CAAjB,EAAoBC,CAApB;IACA,OAAO,IAAP;EACD;;EAEDwB,OAAO,CAACzB,CAAD,EAAYC,CAAZ,EAAuB;IAC5B,KAAK1B,GAAL,CAASkD,OAAT,CAAiBzB,CAAjB,EAAoBC,CAApB;IACA,OAAO,IAAP;EACD;;EAEDyB,OAAO,CAACC,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiD;IACtD,KAAKvD,GAAL,CAASmD,OAAT,CAAiBC,EAAjB,EAAqBC,EAArB,EAAyBC,EAAzB,EAA6BC,EAA7B;IACA,OAAO,IAAP;EACD;;EAEDC,WAAW,CAACC,IAAD,EAAiB;IAC1B,KAAKzD,GAAL,CAASwD,WAAT,CAAqB9E,MAAM,CAAC+E,IAAD,CAA3B;EACD;;EAEDC,aAAa,CAACC,QAAD,EAAoB;IAC/B,KAAK3D,GAAL,CAAS0D,aAAT,CAAuBC,QAAvB;EACD;;EAEDC,MAAM,CAACC,IAAD,EAAoB;IACxB,MAAMhC,MAAM,GAAG,KAAK7B,GAAL,CAAS4D,MAAT,CACbC,IAAI,KAAKC,SAAT,GACIA,SADJ,GAEI;MACEC,KAAK,EAAEF,IAAI,CAACE,KADd;MAEE;MACAC,WAAW,EAAEH,IAAI,CAACE,KAHpB;MAIEE,SAAS,EAAEJ,IAAI,CAACE,KAJlB;MAKEG,IAAI,EAAEtF,OAAO,CAACiF,IAAI,CAACK,IAAN,CALf;MAMEC,GAAG,EAAEvF,OAAO,CAACiF,IAAI,CAACM,GAAN;IANd,CAHS,CAAf;IAYA,OAAOtC,MAAM,KAAK,IAAX,GAAkBA,MAAlB,GAA2B,IAAlC;EACD;;EAEDX,KAAK,GAAG;IACN,KAAKlB,GAAL,CAASkB,KAAT;EACD;;EAEDkD,KAAK,GAAG;IACN,KAAKpE,GAAL,CAASoE,KAAT;EACD;;EAEDC,MAAM,GAAG;IACP,KAAKrE,GAAL,CAASqE,MAAT;EACD;;EAEDC,kBAAkB,GAAW;IAC3B,OAAO,IAAIxF,SAAJ,CAAc,KAAKiB,SAAnB,EAA8B,KAAKC,GAAL,CAASsE,kBAAT,EAA9B,CAAP;EACD;;EAEDC,SAAS,CACP9D,IADO,EAEPC,mBAFO,EAGPC,mBAHO,EAIP6D,WAJO,EAKP;IACA,KAAKxE,GAAL,CAASuE,SAAT,CACEzF,SAAS,CAACyB,SAAV,CAAoB,KAAKR,SAAzB,EAAoCU,IAApC,CADF,EAEEC,mBAFF,EAGEC,mBAHF,EAIE6D,WAJF;IAMA,OAAO,IAAP;EACD;;EAEDC,YAAY,CACVvC,EADU,EAEVC,EAFU,EAGVC,oBAHU,EAIVC,WAJU,EAKVxB,KALU,EAMVY,CANU,EAOVC,CAPU,EAQV;IACA,KAAK1B,GAAL,CAASyE,YAAT,CACEvC,EADF,EAEEC,EAFF,EAGEC,oBAHF,EAIEC,WAJF,EAKExB,KALF,EAMEY,CANF,EAOEC,CAPF;IASA,OAAO,IAAP;EACD;;EAEDgD,YAAY,CAACtB,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiDoB,MAAjD,EAAiE;IAC3E,KAAK3E,GAAL,CAAS0E,YAAT,CAAsBtB,EAAtB,EAA0BC,EAA1B,EAA8BC,EAA9B,EAAkCC,EAAlC,EAAsCoB,MAAtC;IACA,OAAO,IAAP;EACD;;EAEDC,OAAO,CAACxB,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiDZ,CAAjD,EAA4D;IACjE,KAAK3C,GAAL,CAAS4E,OAAT,CAAiBxB,EAAjB,EAAqBC,EAArB,EAAyBC,EAAzB,EAA6BC,EAA7B,EAAiCZ,CAAjC;IACA,OAAO,IAAP;EACD;;EAEDkC,QAAQ,CAACpD,CAAD,EAAYC,CAAZ,EAAuB;IAC7B,OAAO,KAAK1B,GAAL,CAAS6E,QAAT,CAAkBpD,CAAlB,EAAqBC,CAArB,CAAP;EACD;;EAEDoD,IAAI,GAAG;IACL,OAAO,IAAIjF,SAAJ,CAAc,KAAKE,SAAnB,EAA8B,KAAKC,GAAL,CAAS8E,IAAT,EAA9B,CAAP;EACD;;EAEDC,OAAO,CACLlC,IADK,EAELC,IAFK,EAGLC,IAHK,EAILC,IAJK,EAKLvB,CALK,EAMLC,CANK,EAOL;IACA,KAAK1B,GAAL,CAAS+E,OAAT,CAAiBlC,IAAjB,EAAuBC,IAAvB,EAA6BC,IAA7B,EAAmCC,IAAnC,EAAyCvB,CAAzC,EAA4CC,CAA5C;IACA,OAAO,IAAP;EACD;;EAEDsD,IAAI,CAACC,EAAD,EAAaC,GAAb,EAA0BC,KAA1B,EAAyC;IAC3C,OAAO,KAAKnF,GAAL,CAASgF,IAAT,CAAcC,EAAd,EAAkBC,GAAlB,EAAuBC,KAAvB,CAAP;EACD;;EAEDC,MAAM,CAACC,KAAD,EAAgB;IACpB,OAAO,KAAKrF,GAAL,CAASoF,MAAT,CAAgBvF,SAAS,CAACU,SAAV,CAAoB8E,KAApB,CAAhB,CAAP;EACD;;EAEDC,SAAS,GAAG;IACV,OAAO,IAAIxG,SAAJ,CAAc,KAAKiB,SAAnB,EAA8B,KAAKC,GAAL,CAASsF,SAAT,EAA9B,CAAP;EACD;;EAEDC,WAAW,GAAG;IACZ,OAAO,KAAKvF,GAAL,CAASuF,WAAT,GAAuBC,KAA9B;EACD;;EAEDC,MAAM,CAACrC,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiD;IACrD,KAAKvD,GAAL,CAASyF,MAAT,CAAgBrC,EAAhB,EAAoBC,EAApB,EAAwBC,EAAxB,EAA4BC,EAA5B;EACD;;EAEDmC,OAAO,CAACC,IAAD,EAAe9E,KAAf,EAAgC;IACrC,KAAKb,GAAL,CAAS0F,OAAT,CAAiB5G,SAAS,CAACyB,SAAV,CAAoB,KAAKR,SAAzB,EAAoC4F,IAApC,CAAjB,EAA4D9E,KAA5D;EACD;;EAED+E,QAAQ,CAACC,KAAD,EAAiBhF,KAAjB,EAAkC;IACxC,KAAKb,GAAL,CAAS4F,QAAT,CAAkB7G,UAAU,CAACwB,SAAX,CAAqB,KAAKR,SAA1B,EAAqC8F,KAArC,CAAlB,EAA+DhF,KAA/D;IACA,OAAO,IAAP;EACD;;EAEDiF,QAAQ,CAACC,KAAD,EAAgB;IACtB,OAAO,IAAIlH,UAAJ,CAAe,KAAKkB,SAApB,EAA+B,KAAKC,GAAL,CAAS8F,QAAT,CAAkBC,KAAlB,CAA/B,CAAP;EACD;;EAEDC,OAAO,GAAG;IACR,OAAO,KAAKhG,GAAL,CAASgG,OAAT,EAAP;EACD;;EAEDC,UAAU,GAAG;IACX,OAAO,KAAKjG,GAAL,CAASiG,UAAT,EAAP;EACD;;EAEDC,SAAS,CAACzE,CAAD,EAAYC,CAAZ,EAAuByE,CAAvB,EAAkC;IACzC,KAAKnG,GAAL,CAASkG,SAAT,CAAmBzE,CAAnB,EAAsBC,CAAtB,EAAyByE,CAAzB;IACA,OAAO,IAAP;EACD;;EAEDC,SAAS,GAAG;IACV,OAAO,IAAIvH,UAAJ,CACL,KAAKkB,SADA,EAEL,KAAKC,GAAL,CAAS8F,QAAT,CAAkB,KAAK9F,GAAL,CAASe,WAAT,KAAyB,CAA3C,CAFK,CAAP;EAID;;EAEDsF,EAAE,CAACC,IAAD,EAAeD,EAAf,EAA2B;IAC3B,OAAO,KAAKrG,GAAL,CAASqG,EAAT,CAAYxG,SAAS,CAACU,SAAV,CAAoB+F,IAApB,CAAZ,EAAuC5H,MAAM,CAAC2H,EAAD,CAA7C,CAAP;EACD;;EAEDE,QAAQ,GAAG;IACT,OAAO,KAAKvG,GAAL,CAASuG,QAAT,EAAP;EACD;;EAEDC,WAAW,GAAG;IACZ,OAAO,KAAKxG,GAAL,CAASwG,WAAT,EAAP;EACD;;EAEDC,IAAI,CAACC,KAAD,EAAgBC,IAAhB,EAA8BC,YAA9B,EAAqD;IACvD,MAAMC,MAAM,GAAGrH,IAAI,CAACkH,KAAD,CAAnB;IACA,MAAMI,KAAK,GAAGtH,IAAI,CAACmH,IAAD,CAAlB;;IACA,IAAIE,MAAM,KAAK,CAAX,IAAgBC,KAAK,KAAK,CAA9B,EAAiC;MAC/B,OAAO,IAAP;IACD;;IACD,MAAMjF,MAAM,GAAG,KAAK7B,GAAL,CAASyG,IAAT,CAAcI,MAAd,EAAsBC,KAAtB,EAA6BF,YAA7B,CAAf;IACA,OAAO/E,MAAM,KAAK,IAAX,GAAkBA,MAAlB,GAA2B,IAAlC;EACD;;EAEDkF,SAAS,CAACC,EAAD,EAAe;IACtB,KAAKhH,GAAL,CAAS+G,SAAT,CAAmB/H,WAAW,CAACuB,SAAZ,CAAsByG,EAAtB,CAAnB;EACD;;EAEDC,WAAW,CAACC,GAAD,EAAczH,CAAd,EAAyB;IAClC,MAAM6G,IAAI,GAAG,KAAKvG,SAAL,CAAeoH,IAAf,CAAoBC,yBAApB,CACX,KAAKpH,GADM,EAEXH,SAAS,CAACU,SAAV,CAAoB2G,GAApB,CAFW,EAGXzH,CAHW,CAAb;;IAKA,IAAI6G,IAAI,KAAK,IAAb,EAAmB;MACjB,OAAO,IAAP;IACD;;IACD,OAAO,IAAIzG,SAAJ,CAAc,KAAKE,SAAnB,EAA8BuG,IAA9B,CAAP;EACD;;EAEDe,gBAAgB,CAACC,KAAD,EAAyB;IACvC,OAAO,KAAKvH,SAAL,CAAeoH,IAAf,CAAoBI,cAApB,CACL,KAAKvH,GADA,EAELH,SAAS,CAACU,SAAV,CAAoB+G,KAApB,CAFK,CAAP;EAID;;EAEDE,MAAM,GAAG;IACP,MAAMC,IAAI,GAAG,KAAKzH,GAAL,CAASwH,MAAT,EAAb;IACA,MAAM3F,MAAM,GAAG4F,IAAI,CAACC,MAAL,CAA2B,CAACC,GAAD,EAAMC,GAAN,EAAWC,CAAX,KAAiB;MACzD,IAAIA,CAAC,KAAK,CAAV,EAAa;QACXF,GAAG,CAACG,IAAJ,CAAS,EAAT;MACD;;MACD,MAAMC,OAAO,GAAGJ,GAAG,CAACA,GAAG,CAACK,MAAJ,GAAa,CAAd,CAAnB;;MACA,IAAID,OAAO,CAACC,MAAR,KAAmB,CAAvB,EAA0B;QACxBD,OAAO,CAACD,IAAR,CAAaF,GAAb;QACA,MAAMI,MAAM,GAAG/I,YAAY,CAAC8I,OAAO,CAAC,CAAD,CAAR,CAA3B;;QACA,IAAIA,OAAO,CAACC,MAAR,KAAmBA,MAAnB,IAA6BH,CAAC,KAAKJ,IAAI,CAACO,MAAL,GAAc,CAArD,EAAwD;UACtDL,GAAG,CAACG,IAAJ,CAAS,EAAT;QACD;MACF,CAND,MAMO;QACL,MAAME,MAAM,GAAG/I,YAAY,CAAC8I,OAAO,CAAC,CAAD,CAAR,CAA3B;;QACA,IAAIA,OAAO,CAACC,MAAR,GAAiBA,MAArB,EAA6B;UAC3BD,OAAO,CAACD,IAAR,CAAaF,GAAb;QACD;;QACD,IAAIG,OAAO,CAACC,MAAR,KAAmBA,MAAnB,IAA6BH,CAAC,KAAKJ,IAAI,CAACO,MAAL,GAAc,CAArD,EAAwD;UACtDL,GAAG,CAACG,IAAJ,CAAS,EAAT;QACD;MACF;;MACD,OAAOH,GAAP;IACD,CArBc,EAqBZ,EArBY,CAAf;IAsBA,OAAO9F,MAAP;EACD;;AA3VuE"}
@@ -5,5 +5,6 @@ export declare class JsiSkTypeface extends HostObject<Typeface, "Typeface"> impl
5
5
  constructor(CanvasKit: CanvasKit, ref: Typeface);
6
6
  get bold(): boolean;
7
7
  get italic(): boolean;
8
+ getGlyphIDs(str: string, numCodePoints?: number): number[];
8
9
  dispose: () => void;
9
10
  }
@@ -20,5 +20,9 @@ export class JsiSkTypeface extends HostObject {
20
20
  return false;
21
21
  }
22
22
 
23
+ getGlyphIDs(str, numCodePoints) {
24
+ return Array.from(this.ref.getGlyphIDs(str, numCodePoints));
25
+ }
26
+
23
27
  }
24
28
  //# sourceMappingURL=JsiSkTypeface.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HostObject","JsiSkTypeface","constructor","CanvasKit","ref","delete","bold","console","warn","italic"],"sources":["JsiSkTypeface.ts"],"sourcesContent":["import type { CanvasKit, Typeface } from \"canvaskit-wasm\";\n\nimport type { SkTypeface } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkTypeface\n extends HostObject<Typeface, \"Typeface\">\n implements SkTypeface\n{\n constructor(CanvasKit: CanvasKit, ref: Typeface) {\n super(CanvasKit, ref, \"Typeface\");\n }\n\n get bold(): boolean {\n console.warn(\n \"Typeface.bold is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n\n get italic(): boolean {\n console.warn(\n \"Typeface.italic is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n\n dispose = () => {\n this.ref.delete();\n };\n}\n"],"mappings":";;AAIA,SAASA,UAAT,QAA2B,QAA3B;AAEA,OAAO,MAAMC,aAAN,SACGD,UADH,CAGP;EACEE,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAsC;IAC/C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,UAAtB;;IAD+C,iCAkBvC,MAAM;MACd,KAAKA,GAAL,CAASC,MAAT;IACD,CApBgD;EAEhD;;EAEO,IAAJC,IAAI,GAAY;IAClBC,OAAO,CAACC,IAAR,CACE,sGADF;IAGA,OAAO,KAAP;EACD;;EAES,IAANC,MAAM,GAAY;IACpBF,OAAO,CAACC,IAAR,CACE,wGADF;IAGA,OAAO,KAAP;EACD;;AAjBH"}
1
+ {"version":3,"names":["HostObject","JsiSkTypeface","constructor","CanvasKit","ref","delete","bold","console","warn","italic","getGlyphIDs","str","numCodePoints","Array","from"],"sources":["JsiSkTypeface.ts"],"sourcesContent":["import type { CanvasKit, Typeface } from \"canvaskit-wasm\";\n\nimport type { SkTypeface } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkTypeface\n extends HostObject<Typeface, \"Typeface\">\n implements SkTypeface\n{\n constructor(CanvasKit: CanvasKit, ref: Typeface) {\n super(CanvasKit, ref, \"Typeface\");\n }\n\n get bold(): boolean {\n console.warn(\n \"Typeface.bold is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n\n get italic(): boolean {\n console.warn(\n \"Typeface.italic is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n\n getGlyphIDs(str: string, numCodePoints?: number) {\n return Array.from(this.ref.getGlyphIDs(str, numCodePoints));\n }\n\n dispose = () => {\n this.ref.delete();\n };\n}\n"],"mappings":";;AAIA,SAASA,UAAT,QAA2B,QAA3B;AAEA,OAAO,MAAMC,aAAN,SACGD,UADH,CAGP;EACEE,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAsC;IAC/C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,UAAtB;;IAD+C,iCAsBvC,MAAM;MACd,KAAKA,GAAL,CAASC,MAAT;IACD,CAxBgD;EAEhD;;EAEO,IAAJC,IAAI,GAAY;IAClBC,OAAO,CAACC,IAAR,CACE,sGADF;IAGA,OAAO,KAAP;EACD;;EAES,IAANC,MAAM,GAAY;IACpBF,OAAO,CAACC,IAAR,CACE,wGADF;IAGA,OAAO,KAAP;EACD;;EAEDE,WAAW,CAACC,GAAD,EAAcC,aAAd,EAAsC;IAC/C,OAAOC,KAAK,CAACC,IAAN,CAAW,KAAKV,GAAL,CAASM,WAAT,CAAqBC,GAArB,EAA0BC,aAA1B,CAAX,CAAP;EACD;;AArBH"}
@@ -10,6 +10,7 @@ export interface PaintContext {
10
10
  strokeMiter?: number;
11
11
  opacity?: number;
12
12
  antiAlias?: boolean;
13
+ dither?: boolean;
13
14
  shader?: SkShader;
14
15
  colorFilter?: SkColorFilter;
15
16
  imageFilter?: SkImageFilter;
@@ -1,11 +1,11 @@
1
- import type { SkTextBlob, SkPoint } from "../../../skia/types";
1
+ import type { SkTextBlob, SkPoint, SkFont } from "../../../skia/types";
2
2
  import type { DrawingContext, TextBlobProps, TextPathProps, TextProps } from "../../types";
3
3
  import type { GlyphsProps } from "../../types/Drawings";
4
4
  import { JsiDrawingNode } from "../DrawingNode";
5
5
  import type { NodeContext } from "../Node";
6
- export declare class TextNode extends JsiDrawingNode<TextProps, null> {
6
+ export declare class TextNode extends JsiDrawingNode<TextProps, SkFont | null> {
7
7
  constructor(ctx: NodeContext, props: TextProps);
8
- protected deriveProps(): null;
8
+ protected deriveProps(): SkFont | null;
9
9
  draw({ canvas, paint }: DrawingContext): void;
10
10
  }
11
11
  export declare class TextPathNode extends JsiDrawingNode<TextPathProps, SkTextBlob | null> {
@@ -48,6 +48,7 @@ export interface PaintProps extends ChildrenProps {
48
48
  strokeMiter?: number;
49
49
  opacity?: number;
50
50
  antiAlias?: boolean;
51
+ dither?: boolean;
51
52
  }
52
53
  export interface GroupProps extends PaintProps, TransformProps {
53
54
  clip?: ClipDef;
@@ -70,7 +70,7 @@ export interface DiffRectProps extends DrawingNodeProps {
70
70
  outer: SkRRect;
71
71
  }
72
72
  export interface TextProps extends DrawingNodeProps {
73
- font: SkFont | null;
73
+ font?: SkFont | null;
74
74
  text: string;
75
75
  x: number;
76
76
  y: number;
@@ -4,5 +4,5 @@ import type { FontStyle } from "./Font";
4
4
  export interface SkFontMgr extends SkJSIInstance<"FontMgr"> {
5
5
  countFamilies(): number;
6
6
  getFamilyName(index: number): string;
7
- matchFamilyStyle(name: string, style: FontStyle): SkTypeface;
7
+ matchFamilyStyle(name?: string, style?: FontStyle): SkTypeface;
8
8
  }
@@ -18,17 +18,18 @@ export declare enum ColorType {
18
18
  BGRA_1010102 = 8,
19
19
  RGB_101010x = 9,
20
20
  BGR_101010x = 10,
21
- Gray_8 = 11,
22
- RGBA_F16Norm = 12,
23
- RGBA_F16 = 13,
24
- RGBA_F32 = 14,
25
- R8G8_unorm = 15,
26
- A16_float = 16,
27
- R16G16_float = 17,
28
- A16_unorm = 18,
29
- R16G16_unorm = 19,
30
- R16G16B16A16_unorm = 20,
31
- SRGBA_8888 = 21
21
+ BGR_101010x_XR = 11,
22
+ Gray_8 = 12,
23
+ RGBA_F16Norm = 13,
24
+ RGBA_F16 = 14,
25
+ RGBA_F32 = 15,
26
+ R8G8_unorm = 16,
27
+ A16_float = 17,
28
+ R16G16_float = 18,
29
+ A16_unorm = 19,
30
+ R16G16_unorm = 20,
31
+ R16G16B16A16_unorm = 21,
32
+ SRGBA_8888 = 22
32
33
  }
33
34
  export interface ImageInfo {
34
35
  alphaType: AlphaType;
@@ -67,6 +67,11 @@ export interface SkPaint extends SkJSIInstance<"Paint"> {
67
67
  * @param aa
68
68
  */
69
69
  setAntiAlias: (aa: boolean) => void;
70
+ /**
71
+ * Requests, but does not require, to distribute color error.
72
+ * @param dither
73
+ */
74
+ setDither: (dither: boolean) => void;
70
75
  /**
71
76
  * Sets the blend mode that is, the mode used to combine source color
72
77
  * with destination color.
@@ -1,2 +1,11 @@
1
1
  import type { SkJSIInstance } from "../JsiInstance";
2
- export declare type SkTypeface = SkJSIInstance<"Typeface">;
2
+ export interface SkTypeface extends SkJSIInstance<"Typeface"> {
3
+ /**
4
+ * Retrieves the glyph ids for each code point in the provided string. This call is passed to
5
+ * the typeface of this font. Note that glyph IDs are typeface-dependent; different faces
6
+ * may have different ids for the same code point.
7
+ * @param str
8
+ * @param numCodePoints - the number of code points in the string. Defaults to str.length.
9
+ */
10
+ getGlyphIDs(str: string, numCodePoints?: number): number[];
11
+ }
@@ -14,6 +14,7 @@ export declare class JsiSkPaint extends HostObject<Paint, "Paint"> implements Sk
14
14
  getStrokeWidth(): number;
15
15
  setAlphaf(alpha: number): void;
16
16
  setAntiAlias(aa: boolean): void;
17
+ setDither(dither: boolean): void;
17
18
  setBlendMode(blendMode: BlendMode): void;
18
19
  setColor(color: SkColor): void;
19
20
  setColorFilter(filter: SkColorFilter | null): void;
@@ -50,7 +50,7 @@ export declare class JsiSkPath extends HostObject<Path, "Path"> implements SkPat
50
50
  op(path: SkPath, op: PathOp): boolean;
51
51
  simplify(): boolean;
52
52
  toSVGString(): string;
53
- trim(startT: number, stopT: number, isComplement: boolean): this | null;
53
+ trim(start: number, stop: number, isComplement: boolean): this | null;
54
54
  transform(m3: SkMatrix): void;
55
55
  interpolate(end: SkPath, t: number): JsiSkPath | null;
56
56
  isInterpolatable(path2: SkPath): boolean;
@@ -5,5 +5,6 @@ export declare class JsiSkTypeface extends HostObject<Typeface, "Typeface"> impl
5
5
  constructor(CanvasKit: CanvasKit, ref: Typeface);
6
6
  get bold(): boolean;
7
7
  get italic(): boolean;
8
+ getGlyphIDs(str: string, numCodePoints?: number): number[];
8
9
  dispose: () => void;
9
10
  }
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "setup-skia-web": "./scripts/setup-canvaskit.js"
8
8
  },
9
9
  "title": "React Native Skia",
10
- "version": "0.1.207",
10
+ "version": "0.1.209",
11
11
  "description": "High-performance React Native Graphics using Skia",
12
12
  "main": "lib/module/index.js",
13
13
  "files": [
@@ -104,7 +104,7 @@
104
104
  "ws": "^8.11.0"
105
105
  },
106
106
  "dependencies": {
107
- "canvaskit-wasm": "0.38.0",
107
+ "canvaskit-wasm": "0.38.2",
108
108
  "react-reconciler": "^0.27.0"
109
109
  },
110
110
  "eslintIgnore": [
@@ -22,6 +22,7 @@ export interface PaintContext {
22
22
  strokeMiter?: number;
23
23
  opacity?: number;
24
24
  antiAlias?: boolean;
25
+ dither?: boolean;
25
26
 
26
27
  shader?: SkShader;
27
28
  colorFilter?: SkColorFilter;
@@ -26,6 +26,7 @@ export class PaintNode
26
26
  strokeMiter,
27
27
  opacity,
28
28
  antiAlias,
29
+ dither,
29
30
  } = this.props;
30
31
  const paint = this.Skia.Paint();
31
32
  if (color !== undefined) {
@@ -55,6 +56,9 @@ export class PaintNode
55
56
  if (antiAlias !== undefined) {
56
57
  paint.setAntiAlias(antiAlias);
57
58
  }
59
+ if (dither !== undefined) {
60
+ paint.setDither(dither);
61
+ }
58
62
  ctx.save();
59
63
  this._children.forEach((child) => {
60
64
  if (child instanceof JsiDeclarationNode) {
@@ -27,6 +27,7 @@ const paintProps = [
27
27
  "strokeMiter",
28
28
  "style",
29
29
  "antiAlias",
30
+ "dither",
30
31
  "opacity",
31
32
  ];
32
33