@shopify/react-native-skia 0.1.207 → 0.1.209

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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":"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"}
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":"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"}
@@ -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":"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"}
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