@shopify/react-native-skia 0.1.138 → 0.1.139

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. package/cpp/api/JsiSkApi.h +0 -4
  2. package/cpp/api/JsiSkFont.h +0 -19
  3. package/lib/commonjs/mock/index.js +0 -4
  4. package/lib/commonjs/mock/index.js.map +1 -1
  5. package/lib/commonjs/renderer/Canvas.js +5 -8
  6. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  7. package/lib/commonjs/renderer/components/text/Glyphs.js +4 -6
  8. package/lib/commonjs/renderer/components/text/Glyphs.js.map +1 -1
  9. package/lib/commonjs/renderer/components/text/Text.js +4 -6
  10. package/lib/commonjs/renderer/components/text/Text.js.map +1 -1
  11. package/lib/commonjs/renderer/components/text/TextPath.js +3 -4
  12. package/lib/commonjs/renderer/components/text/TextPath.js.map +1 -1
  13. package/lib/commonjs/renderer/processors/Font.js +1 -27
  14. package/lib/commonjs/renderer/processors/Font.js.map +1 -1
  15. package/lib/commonjs/skia/core/Data.js +4 -5
  16. package/lib/commonjs/skia/core/Data.js.map +1 -1
  17. package/lib/commonjs/skia/core/Image.js +4 -1
  18. package/lib/commonjs/skia/core/Image.js.map +1 -1
  19. package/lib/commonjs/skia/core/SVG.js +3 -1
  20. package/lib/commonjs/skia/core/SVG.js.map +1 -1
  21. package/lib/commonjs/skia/core/Typeface.js +4 -1
  22. package/lib/commonjs/skia/core/Typeface.js.map +1 -1
  23. package/lib/commonjs/skia/core/index.js +0 -26
  24. package/lib/commonjs/skia/core/index.js.map +1 -1
  25. package/lib/commonjs/skia/types/Font/Font.js.map +1 -1
  26. package/lib/commonjs/skia/types/index.js +0 -13
  27. package/lib/commonjs/skia/types/index.js.map +1 -1
  28. package/lib/commonjs/skia/web/JsiSkFont.js +0 -6
  29. package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
  30. package/lib/commonjs/skia/web/JsiSkTextBlobFactory.js +1 -1
  31. package/lib/commonjs/skia/web/JsiSkTextBlobFactory.js.map +1 -1
  32. package/lib/commonjs/skia/web/JsiSkia.js +0 -3
  33. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  34. package/lib/commonjs/values/hooks/useComputedValue.js +1 -8
  35. package/lib/commonjs/values/hooks/useComputedValue.js.map +1 -1
  36. package/lib/commonjs/views/SkiaView.web.js +53 -33
  37. package/lib/commonjs/views/SkiaView.web.js.map +1 -1
  38. package/lib/module/mock/index.js +0 -4
  39. package/lib/module/mock/index.js.map +1 -1
  40. package/lib/module/renderer/Canvas.js +5 -6
  41. package/lib/module/renderer/Canvas.js.map +1 -1
  42. package/lib/module/renderer/components/text/Glyphs.js +4 -5
  43. package/lib/module/renderer/components/text/Glyphs.js.map +1 -1
  44. package/lib/module/renderer/components/text/Text.js +4 -5
  45. package/lib/module/renderer/components/text/Text.js.map +1 -1
  46. package/lib/module/renderer/components/text/TextPath.js +3 -3
  47. package/lib/module/renderer/components/text/TextPath.js.map +1 -1
  48. package/lib/module/renderer/processors/Font.js +0 -23
  49. package/lib/module/renderer/processors/Font.js.map +1 -1
  50. package/lib/module/skia/core/Data.js +4 -5
  51. package/lib/module/skia/core/Data.js.map +1 -1
  52. package/lib/module/skia/core/Image.js +2 -1
  53. package/lib/module/skia/core/Image.js.map +1 -1
  54. package/lib/module/skia/core/SVG.js +2 -1
  55. package/lib/module/skia/core/SVG.js.map +1 -1
  56. package/lib/module/skia/core/Typeface.js +2 -1
  57. package/lib/module/skia/core/Typeface.js.map +1 -1
  58. package/lib/module/skia/core/index.js +0 -2
  59. package/lib/module/skia/core/index.js.map +1 -1
  60. package/lib/module/skia/types/Font/Font.js.map +1 -1
  61. package/lib/module/skia/types/index.js +0 -1
  62. package/lib/module/skia/types/index.js.map +1 -1
  63. package/lib/module/skia/web/JsiSkFont.js +0 -6
  64. package/lib/module/skia/web/JsiSkFont.js.map +1 -1
  65. package/lib/module/skia/web/JsiSkTextBlobFactory.js +1 -1
  66. package/lib/module/skia/web/JsiSkTextBlobFactory.js.map +1 -1
  67. package/lib/module/skia/web/JsiSkia.js +0 -2
  68. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  69. package/lib/module/values/hooks/useComputedValue.js +0 -4
  70. package/lib/module/values/hooks/useComputedValue.js.map +1 -1
  71. package/lib/module/views/SkiaView.web.js +53 -34
  72. package/lib/module/views/SkiaView.web.js.map +1 -1
  73. package/lib/typescript/src/renderer/Canvas.d.ts +1 -3
  74. package/lib/typescript/src/renderer/DrawingContext.d.ts +1 -2
  75. package/lib/typescript/src/renderer/processors/Font.d.ts +1 -5
  76. package/lib/typescript/src/skia/core/index.d.ts +0 -2
  77. package/lib/typescript/src/skia/types/Font/Font.d.ts +0 -12
  78. package/lib/typescript/src/skia/types/Skia.d.ts +0 -2
  79. package/lib/typescript/src/skia/types/index.d.ts +0 -1
  80. package/lib/typescript/src/skia/web/JsiSkFont.d.ts +1 -2
  81. package/lib/typescript/src/values/hooks/useComputedValue.d.ts +0 -1
  82. package/lib/typescript/src/views/SkiaView.web.d.ts +5 -5
  83. package/package.json +1 -1
  84. package/src/mock/index.ts +0 -4
  85. package/src/renderer/Canvas.tsx +5 -8
  86. package/src/renderer/DrawingContext.ts +1 -2
  87. package/src/renderer/components/text/Glyphs.tsx +2 -6
  88. package/src/renderer/components/text/Text.tsx +2 -3
  89. package/src/renderer/components/text/TextPath.tsx +2 -3
  90. package/src/renderer/processors/Font.ts +2 -25
  91. package/src/skia/core/Data.ts +8 -5
  92. package/src/skia/core/Image.ts +3 -1
  93. package/src/skia/core/SVG.ts +3 -1
  94. package/src/skia/core/Typeface.ts +4 -6
  95. package/src/skia/core/index.ts +0 -2
  96. package/src/skia/types/Font/Font.ts +0 -13
  97. package/src/skia/types/Skia.ts +0 -2
  98. package/src/skia/types/index.ts +0 -1
  99. package/src/skia/web/JsiSkFont.ts +0 -9
  100. package/src/skia/web/JsiSkTextBlobFactory.ts +1 -1
  101. package/src/skia/web/JsiSkia.ts +0 -2
  102. package/src/values/hooks/useComputedValue.ts +0 -5
  103. package/src/views/SkiaView.web.tsx +41 -46
  104. package/cpp/api/JsiSkFontMgr.h +0 -84
  105. package/cpp/api/JsiSkFontMgrFactory.h +0 -48
  106. package/lib/commonjs/skia/core/Paint.js +0 -28
  107. package/lib/commonjs/skia/core/Paint.js.map +0 -1
  108. package/lib/commonjs/skia/core/Path.js +0 -72
  109. package/lib/commonjs/skia/core/Path.js.map +0 -1
  110. package/lib/commonjs/skia/types/FontMgr/FontMgr.js +0 -6
  111. package/lib/commonjs/skia/types/FontMgr/FontMgr.js.map +0 -1
  112. package/lib/commonjs/skia/types/FontMgr/FontMgrFactory.js +0 -6
  113. package/lib/commonjs/skia/types/FontMgr/FontMgrFactory.js.map +0 -1
  114. package/lib/commonjs/skia/types/FontMgr/index.js +0 -32
  115. package/lib/commonjs/skia/types/FontMgr/index.js.map +0 -1
  116. package/lib/commonjs/skia/web/JsiSkFontMgr.js +0 -33
  117. package/lib/commonjs/skia/web/JsiSkFontMgr.js.map +0 -1
  118. package/lib/commonjs/skia/web/JsiSkFontMgrFactory.js +0 -25
  119. package/lib/commonjs/skia/web/JsiSkFontMgrFactory.js.map +0 -1
  120. package/lib/module/skia/core/Paint.js +0 -17
  121. package/lib/module/skia/core/Paint.js.map +0 -1
  122. package/lib/module/skia/core/Path.js +0 -53
  123. package/lib/module/skia/core/Path.js.map +0 -1
  124. package/lib/module/skia/types/FontMgr/FontMgr.js +0 -2
  125. package/lib/module/skia/types/FontMgr/FontMgr.js.map +0 -1
  126. package/lib/module/skia/types/FontMgr/FontMgrFactory.js +0 -2
  127. package/lib/module/skia/types/FontMgr/FontMgrFactory.js.map +0 -1
  128. package/lib/module/skia/types/FontMgr/index.js +0 -3
  129. package/lib/module/skia/types/FontMgr/index.js.map +0 -1
  130. package/lib/module/skia/web/JsiSkFontMgr.js +0 -23
  131. package/lib/module/skia/web/JsiSkFontMgr.js.map +0 -1
  132. package/lib/module/skia/web/JsiSkFontMgrFactory.js +0 -14
  133. package/lib/module/skia/web/JsiSkFontMgrFactory.js.map +0 -1
  134. package/lib/typescript/src/skia/core/Paint.d.ts +0 -6
  135. package/lib/typescript/src/skia/core/Path.d.ts +0 -21
  136. package/lib/typescript/src/skia/types/FontMgr/FontMgr.d.ts +0 -18
  137. package/lib/typescript/src/skia/types/FontMgr/FontMgrFactory.d.ts +0 -4
  138. package/lib/typescript/src/skia/types/FontMgr/index.d.ts +0 -2
  139. package/lib/typescript/src/skia/web/JsiSkFontMgr.d.ts +0 -9
  140. package/lib/typescript/src/skia/web/JsiSkFontMgrFactory.d.ts +0 -8
  141. package/src/skia/core/Paint.ts +0 -22
  142. package/src/skia/core/Path.ts +0 -60
  143. package/src/skia/types/FontMgr/FontMgr.ts +0 -24
  144. package/src/skia/types/FontMgr/FontMgrFactory.ts +0 -12
  145. package/src/skia/types/FontMgr/index.ts +0 -2
  146. package/src/skia/web/JsiSkFontMgr.ts +0 -38
  147. package/src/skia/web/JsiSkFontMgrFactory.ts +0 -18
@@ -2,13 +2,10 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
2
2
 
3
3
  import React from "react";
4
4
  import { createDrawing } from "../../nodes/Drawing";
5
- import { processFont } from "../../processors";
6
5
  const onDraw = createDrawing((_ref, _ref2) => {
7
6
  let {
8
7
  canvas,
9
- paint,
10
- fontMgr,
11
- Skia
8
+ paint
12
9
  } = _ref;
13
10
  let {
14
11
  text,
@@ -16,7 +13,9 @@ const onDraw = createDrawing((_ref, _ref2) => {
16
13
  y,
17
14
  ...fontDef
18
15
  } = _ref2;
19
- const font = processFont(Skia, fontMgr, fontDef);
16
+ const {
17
+ font
18
+ } = fontDef;
20
19
  canvas.drawText(text, x, y, paint, font);
21
20
  });
22
21
  export const Text = props => {
@@ -1 +1 @@
1
- {"version":3,"sources":["Text.tsx"],"names":["React","createDrawing","processFont","onDraw","canvas","paint","fontMgr","Skia","text","x","y","fontDef","font","drawText","Text","props","defaultProps"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAOA,SAASC,aAAT,QAA8B,qBAA9B;AACA,SAASC,WAAT,QAA4B,kBAA5B;AASA,MAAMC,MAAM,GAAGF,aAAa,CAC1B,iBAAkE;AAAA,MAAjE;AAAEG,IAAAA,MAAF;AAAUC,IAAAA,KAAV;AAAiBC,IAAAA,OAAjB;AAA0BC,IAAAA;AAA1B,GAAiE;AAAA,MAA/B;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,CAAR;AAAWC,IAAAA,CAAX;AAAc,OAAGC;AAAjB,GAA+B;AAChE,QAAMC,IAAI,GAAGV,WAAW,CAACK,IAAD,EAAOD,OAAP,EAAgBK,OAAhB,CAAxB;AACAP,EAAAA,MAAM,CAACS,QAAP,CAAgBL,IAAhB,EAAsBC,CAAtB,EAAyBC,CAAzB,EAA4BL,KAA5B,EAAmCO,IAAnC;AACD,CAJyB,CAA5B;AAOA,OAAO,MAAME,IAAI,GAAIC,KAAD,IAAqC;AACvD,sBAAO;AAAW,IAAA,MAAM,EAAEZ;AAAnB,KAA+BY,KAA/B,EAAP;AACD,CAFM;AAIPD,IAAI,CAACE,YAAL,GAAoB;AAClBP,EAAAA,CAAC,EAAE,CADe;AAElBC,EAAAA,CAAC,EAAE;AAFe,CAApB","sourcesContent":["import React from \"react\";\n\nimport type {\n CustomPaintProps,\n AnimatedProps,\n FontDef,\n} from \"../../processors\";\nimport { createDrawing } from \"../../nodes/Drawing\";\nimport { processFont } from \"../../processors\";\n\ntype TextProps = CustomPaintProps &\n FontDef & {\n text: string;\n x: number;\n y: number;\n };\n\nconst onDraw = createDrawing<TextProps>(\n ({ canvas, paint, fontMgr, Skia }, { text, x, y, ...fontDef }) => {\n const font = processFont(Skia, fontMgr, fontDef);\n canvas.drawText(text, x, y, paint, font);\n }\n);\n\nexport const Text = (props: AnimatedProps<TextProps>) => {\n return <skDrawing onDraw={onDraw} {...props} />;\n};\n\nText.defaultProps = {\n x: 0,\n y: 0,\n};\n"]}
1
+ {"version":3,"sources":["Text.tsx"],"names":["React","createDrawing","onDraw","canvas","paint","text","x","y","fontDef","font","drawText","Text","props","defaultProps"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAOA,SAASC,aAAT,QAA8B,qBAA9B;AASA,MAAMC,MAAM,GAAGD,aAAa,CAC1B,iBAAmD;AAAA,MAAlD;AAAEE,IAAAA,MAAF;AAAUC,IAAAA;AAAV,GAAkD;AAAA,MAA/B;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,CAAR;AAAWC,IAAAA,CAAX;AAAc,OAAGC;AAAjB,GAA+B;AACjD,QAAM;AAAEC,IAAAA;AAAF,MAAWD,OAAjB;AACAL,EAAAA,MAAM,CAACO,QAAP,CAAgBL,IAAhB,EAAsBC,CAAtB,EAAyBC,CAAzB,EAA4BH,KAA5B,EAAmCK,IAAnC;AACD,CAJyB,CAA5B;AAOA,OAAO,MAAME,IAAI,GAAIC,KAAD,IAAqC;AACvD,sBAAO;AAAW,IAAA,MAAM,EAAEV;AAAnB,KAA+BU,KAA/B,EAAP;AACD,CAFM;AAIPD,IAAI,CAACE,YAAL,GAAoB;AAClBP,EAAAA,CAAC,EAAE,CADe;AAElBC,EAAAA,CAAC,EAAE;AAFe,CAApB","sourcesContent":["import React from \"react\";\n\nimport type {\n CustomPaintProps,\n AnimatedProps,\n FontDef,\n} from \"../../processors\";\nimport { createDrawing } from \"../../nodes/Drawing\";\n\ntype TextProps = CustomPaintProps &\n FontDef & {\n text: string;\n x: number;\n y: number;\n };\n\nconst onDraw = createDrawing<TextProps>(\n ({ canvas, paint }, { text, x, y, ...fontDef }) => {\n const { font } = fontDef;\n canvas.drawText(text, x, y, paint, font);\n }\n);\n\nexport const Text = (props: AnimatedProps<TextProps>) => {\n return <skDrawing onDraw={onDraw} {...props} />;\n};\n\nText.defaultProps = {\n x: 0,\n y: 0,\n};\n"]}
@@ -2,12 +2,10 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
2
2
 
3
3
  import React from "react";
4
4
  import { createDrawing } from "../../nodes";
5
- import { processFont } from "../../processors/Font";
6
5
  const onDraw = createDrawing((_ref, _ref2) => {
7
6
  let {
8
7
  canvas,
9
8
  paint,
10
- fontMgr,
11
9
  Skia
12
10
  } = _ref;
13
11
  let {
@@ -22,7 +20,9 @@ const onDraw = createDrawing((_ref, _ref2) => {
22
20
  throw new Error("Invalid path: " + pathDef);
23
21
  }
24
22
 
25
- const font = processFont(Skia, fontMgr, fontDef);
23
+ const {
24
+ font
25
+ } = fontDef;
26
26
  const ids = font.getGlyphIDs(text);
27
27
  const widths = font.getGlyphWidths(ids, paint);
28
28
  const rsx = [];
@@ -1 +1 @@
1
- {"version":3,"sources":["TextPath.tsx"],"names":["React","createDrawing","processFont","onDraw","canvas","paint","fontMgr","Skia","text","initialOffset","path","pathDef","fontDef","Path","MakeFromSVGString","Error","font","ids","getGlyphIDs","widths","getGlyphWidths","rsx","meas","ContourMeasureIter","cont","next","dist","i","length","width","substring","px","py","tx","ty","getPosTan","adjustedX","adjustedY","push","RSXform","blob","TextBlob","MakeFromRSXform","drawTextBlob","TextPath","props","defaultProps"],"mappings":"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","sourcesContent":["import React from \"react\";\n\nimport type { CustomPaintProps, AnimatedProps } from \"../../processors\";\nimport { createDrawing } from \"../../nodes\";\nimport type { SkPath, SkRSXform } from \"../../../skia/types\";\nimport type { FontDef } from \"../../processors/Font\";\nimport { processFont } from \"../../processors/Font\";\n\nexport type TextPathProps = CustomPaintProps &\n FontDef & {\n text: string;\n path: SkPath | string;\n initialOffset: number;\n };\n\nconst onDraw = createDrawing<TextPathProps>(\n (\n { canvas, paint, fontMgr, Skia },\n { text, initialOffset, path: pathDef, ...fontDef }\n ) => {\n const path =\n typeof pathDef === \"string\"\n ? Skia.Path.MakeFromSVGString(pathDef)\n : pathDef;\n if (path === null) {\n throw new Error(\"Invalid path: \" + pathDef);\n }\n const font = processFont(Skia, fontMgr, fontDef);\n const ids = font.getGlyphIDs(text);\n const widths = font.getGlyphWidths(ids, paint);\n const rsx: SkRSXform[] = [];\n const meas = Skia.ContourMeasureIter(path, false, 1);\n let cont = meas.next();\n let dist = initialOffset;\n for (let i = 0; i < text.length && cont; i++) {\n const width = widths[i];\n dist += width / 2;\n if (dist > cont.length()) {\n // jump to next contour\n cont = meas.next();\n if (!cont) {\n // We have come to the end of the path - terminate the string\n // right here.\n text = text.substring(0, i);\n break;\n }\n dist = width / 2;\n }\n // Gives us the (x, y) coordinates as well as the cos/sin of the tangent\n // line at that position.\n const { px, py, tx, ty } = cont.getPosTan(dist);\n const adjustedX = px - (width / 2) * tx;\n const adjustedY = py - (width / 2) * ty;\n rsx.push(Skia.RSXform(tx, ty, adjustedX, adjustedY));\n dist += width / 2;\n }\n const blob = Skia.TextBlob.MakeFromRSXform(text, rsx, font);\n canvas.drawTextBlob(blob, 0, 0, paint);\n }\n);\n\nexport const TextPath = (props: AnimatedProps<TextPathProps>) => {\n return <skDrawing onDraw={onDraw} {...props} />;\n};\n\nTextPath.defaultProps = {\n initialOffset: 0,\n};\n"]}
1
+ {"version":3,"sources":["TextPath.tsx"],"names":["React","createDrawing","onDraw","canvas","paint","Skia","text","initialOffset","path","pathDef","fontDef","Path","MakeFromSVGString","Error","font","ids","getGlyphIDs","widths","getGlyphWidths","rsx","meas","ContourMeasureIter","cont","next","dist","i","length","width","substring","px","py","tx","ty","getPosTan","adjustedX","adjustedY","push","RSXform","blob","TextBlob","MakeFromRSXform","drawTextBlob","TextPath","props","defaultProps"],"mappings":"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","sourcesContent":["import React from \"react\";\n\nimport type { CustomPaintProps, AnimatedProps } from \"../../processors\";\nimport { createDrawing } from \"../../nodes\";\nimport type { SkPath, SkRSXform } from \"../../../skia/types\";\nimport type { FontDef } from \"../../processors/Font\";\n\nexport type TextPathProps = CustomPaintProps &\n FontDef & {\n text: string;\n path: SkPath | string;\n initialOffset: number;\n };\n\nconst onDraw = createDrawing<TextPathProps>(\n (\n { canvas, paint, Skia },\n { text, initialOffset, path: pathDef, ...fontDef }\n ) => {\n const path =\n typeof pathDef === \"string\"\n ? Skia.Path.MakeFromSVGString(pathDef)\n : pathDef;\n if (path === null) {\n throw new Error(\"Invalid path: \" + pathDef);\n }\n const { font } = fontDef;\n const ids = font.getGlyphIDs(text);\n const widths = font.getGlyphWidths(ids, paint);\n const rsx: SkRSXform[] = [];\n const meas = Skia.ContourMeasureIter(path, false, 1);\n let cont = meas.next();\n let dist = initialOffset;\n for (let i = 0; i < text.length && cont; i++) {\n const width = widths[i];\n dist += width / 2;\n if (dist > cont.length()) {\n // jump to next contour\n cont = meas.next();\n if (!cont) {\n // We have come to the end of the path - terminate the string\n // right here.\n text = text.substring(0, i);\n break;\n }\n dist = width / 2;\n }\n // Gives us the (x, y) coordinates as well as the cos/sin of the tangent\n // line at that position.\n const { px, py, tx, ty } = cont.getPosTan(dist);\n const adjustedX = px - (width / 2) * tx;\n const adjustedY = py - (width / 2) * ty;\n rsx.push(Skia.RSXform(tx, ty, adjustedX, adjustedY));\n dist += width / 2;\n }\n const blob = Skia.TextBlob.MakeFromRSXform(text, rsx, font);\n canvas.drawTextBlob(blob, 0, 0, paint);\n }\n);\n\nexport const TextPath = (props: AnimatedProps<TextPathProps>) => {\n return <skDrawing onDraw={onDraw} {...props} />;\n};\n\nTextPath.defaultProps = {\n initialOffset: 0,\n};\n"]}
@@ -1,27 +1,4 @@
1
1
  export const isFont = fontDef => // We have an issue to check property existence on JSI backed instances
2
2
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
3
  fontDef.font !== undefined;
4
- export const processFont = (Skia, fontMgr, fontDef) => {
5
- let selectedFont;
6
-
7
- if (isFont(fontDef)) {
8
- selectedFont = fontDef.font;
9
- } else {
10
- console.warn( // eslint-disable-next-line max-len
11
- "Using system fonts is deprecated. Please use the font property instead: https://shopify.github.io/react-native-skia/docs/text/fonts");
12
- const {
13
- familyName,
14
- size
15
- } = fontDef;
16
- const typeface = fontMgr.matchFamilyStyle(familyName);
17
-
18
- if (typeface === null) {
19
- throw new Error(`No typeface found for ${familyName}`);
20
- }
21
-
22
- selectedFont = Skia.Font(typeface, size);
23
- }
24
-
25
- return selectedFont;
26
- };
27
4
  //# sourceMappingURL=Font.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["Font.ts"],"names":["isFont","fontDef","font","undefined","processFont","Skia","fontMgr","selectedFont","console","warn","familyName","size","typeface","matchFamilyStyle","Error","Font"],"mappings":"AAIA,OAAO,MAAMA,MAAM,GAAIC,OAAD,IACpB;AACA;AACCA,OAAD,CAAiBC,IAAjB,KAA0BC,SAHrB;AAKP,OAAO,MAAMC,WAAW,GAAG,CACzBC,IADyB,EAEzBC,OAFyB,EAGzBL,OAHyB,KAItB;AACH,MAAIM,YAAJ;;AACA,MAAIP,MAAM,CAACC,OAAD,CAAV,EAAqB;AACnBM,IAAAA,YAAY,GAAGN,OAAO,CAACC,IAAvB;AACD,GAFD,MAEO;AACLM,IAAAA,OAAO,CAACC,IAAR,EACE;AACA,yIAFF;AAIA,UAAM;AAAEC,MAAAA,UAAF;AAAcC,MAAAA;AAAd,QAAuBV,OAA7B;AACA,UAAMW,QAAQ,GAAGN,OAAO,CAACO,gBAAR,CAAyBH,UAAzB,CAAjB;;AACA,QAAIE,QAAQ,KAAK,IAAjB,EAAuB;AACrB,YAAM,IAAIE,KAAJ,CAAW,yBAAwBJ,UAAW,EAA9C,CAAN;AACD;;AACDH,IAAAA,YAAY,GAAGF,IAAI,CAACU,IAAL,CAAUH,QAAV,EAAoBD,IAApB,CAAf;AACD;;AACD,SAAOJ,YAAP;AACD,CArBM","sourcesContent":["import type { SkFontMgr, SkFont, Skia } from \"../../skia/types\";\n\nexport type FontDef = { font: SkFont } | { familyName: string; size: number };\n\nexport const isFont = (fontDef: FontDef): fontDef is { font: SkFont } =>\n // We have an issue to check property existence on JSI backed instances\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (fontDef as any).font !== undefined;\n\nexport const processFont = (\n Skia: Skia,\n fontMgr: SkFontMgr,\n fontDef: FontDef\n) => {\n let selectedFont: SkFont;\n if (isFont(fontDef)) {\n selectedFont = fontDef.font;\n } else {\n console.warn(\n // eslint-disable-next-line max-len\n \"Using system fonts is deprecated. Please use the font property instead: https://shopify.github.io/react-native-skia/docs/text/fonts\"\n );\n const { familyName, size } = fontDef;\n const typeface = fontMgr.matchFamilyStyle(familyName);\n if (typeface === null) {\n throw new Error(`No typeface found for ${familyName}`);\n }\n selectedFont = Skia.Font(typeface, size);\n }\n return selectedFont;\n};\n"]}
1
+ {"version":3,"sources":["Font.ts"],"names":["isFont","fontDef","font","undefined"],"mappings":"AAIA,OAAO,MAAMA,MAAM,GAAIC,OAAD,IACpB;AACA;AACCA,OAAD,CAAiBC,IAAjB,KAA0BC,SAHrB","sourcesContent":["import type { SkFont } from \"../../skia/types\";\n\nexport type FontDef = { font: SkFont };\n\nexport const isFont = (fontDef: FontDef): fontDef is { font: SkFont } =>\n // We have an issue to check property existence on JSI backed instances\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (fontDef as any).font !== undefined;\n"]}
@@ -19,15 +19,14 @@ const factoryWrapper = (data2, factory, onError) => {
19
19
 
20
20
  const loadDataCollection = (sources, factory, onError) => Promise.all(sources.map(source => loadData(source, factory, onError)));
21
21
 
22
- const loadData = async (source, factory, onError) => {
22
+ const loadData = (source, factory, onError) => {
23
23
  if (source === null) {
24
- return null;
24
+ return new Promise(resolve => resolve(null));
25
25
  } else if (source instanceof Uint8Array) {
26
- return factoryWrapper(Skia.Data.fromBytes(source), factory, onError);
26
+ return new Promise(resolve => resolve(factoryWrapper(Skia.Data.fromBytes(source), factory, onError)));
27
27
  } else {
28
28
  const uri = typeof source === "string" ? source : resolveAsset(source);
29
- const d = await Skia.Data.fromURI(uri);
30
- return factoryWrapper(d, factory, onError);
29
+ return Skia.Data.fromURI(uri).then(d => factoryWrapper(d, factory, onError));
31
30
  }
32
31
  };
33
32
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Data.ts"],"names":["useRef","useEffect","useState","Image","Platform","Skia","resolveAsset","source","OS","default","resolveAssetSource","uri","factoryWrapper","data2","factory","onError","factoryResult","Error","loadDataCollection","sources","Promise","all","map","loadData","Uint8Array","Data","fromBytes","d","fromURI","useLoading","loader","deps","data","setData","prevSourceRef","current","then","useDataCollection","useRawData","identity","useData"],"mappings":"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","sourcesContent":["import type { DependencyList } from \"react\";\nimport { useRef, useEffect, useState } from \"react\";\nimport { Image, Platform } from \"react-native\";\n\nimport { Skia } from \"../Skia\";\nimport type { SkData, DataSource } from \"../types\";\n\nconst resolveAsset = (source: ReturnType<typeof require>) => {\n return Platform.OS === \"web\"\n ? source.default\n : Image.resolveAssetSource(source).uri;\n};\n\nconst factoryWrapper = <T>(\n data2: SkData,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n) => {\n const factoryResult = factory(data2);\n if (factoryResult === null) {\n onError && onError(new Error(\"Could not load data\"));\n return null;\n } else {\n return factoryResult;\n }\n};\n\nconst loadDataCollection = <T>(\n sources: DataSource[],\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n): Promise<(T | null)[]> =>\n Promise.all(sources.map((source) => loadData(source, factory, onError)));\n\nconst loadData = async <T>(\n source: DataSource,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n): Promise<T | null> => {\n if (source === null) {\n return null;\n } else if (source instanceof Uint8Array) {\n return factoryWrapper(Skia.Data.fromBytes(source), factory, onError);\n } else {\n const uri = typeof source === \"string\" ? source : resolveAsset(source);\n const d = await Skia.Data.fromURI(uri);\n return factoryWrapper(d, factory, onError);\n }\n};\n\ntype Source = DataSource | null | undefined;\n\nconst useLoading = <T>(\n source: Source,\n loader: () => Promise<T | null>,\n deps: DependencyList = []\n) => {\n const [data, setData] = useState<T | null>(null);\n const prevSourceRef = useRef<Source>();\n useEffect(() => {\n if (prevSourceRef.current !== source) {\n prevSourceRef.current = source;\n loader().then(setData);\n } else {\n setData(null);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n return data;\n};\n\nexport const useDataCollection = <T>(\n sources: DataSource[],\n factory: (data: SkData) => T,\n onError?: (err: Error) => void,\n deps?: DependencyList\n) =>\n useLoading(\n sources,\n () => loadDataCollection(sources, factory, onError),\n deps\n );\n\nexport const useRawData = <T>(\n source: DataSource | null | undefined,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void,\n deps?: DependencyList\n) => useLoading(source, () => loadData(source, factory, onError), deps);\n\nconst identity = (data: SkData) => data;\n\nexport const useData = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void,\n deps?: DependencyList\n) => useRawData(source, identity, onError, deps);\n"]}
1
+ {"version":3,"sources":["Data.ts"],"names":["useRef","useEffect","useState","Image","Platform","Skia","resolveAsset","source","OS","default","resolveAssetSource","uri","factoryWrapper","data2","factory","onError","factoryResult","Error","loadDataCollection","sources","Promise","all","map","loadData","resolve","Uint8Array","Data","fromBytes","fromURI","then","d","useLoading","loader","deps","data","setData","prevSourceRef","current","useDataCollection","useRawData","identity","useData"],"mappings":"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","sourcesContent":["import type { DependencyList } from \"react\";\nimport { useRef, useEffect, useState } from \"react\";\nimport { Image, Platform } from \"react-native\";\n\nimport { Skia } from \"../Skia\";\nimport type { SkData, DataSource } from \"../types\";\n\nconst resolveAsset = (source: ReturnType<typeof require>) => {\n return Platform.OS === \"web\"\n ? source.default\n : Image.resolveAssetSource(source).uri;\n};\n\nconst factoryWrapper = <T>(\n data2: SkData,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n) => {\n const factoryResult = factory(data2);\n if (factoryResult === null) {\n onError && onError(new Error(\"Could not load data\"));\n return null;\n } else {\n return factoryResult;\n }\n};\n\nconst loadDataCollection = <T>(\n sources: DataSource[],\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n): Promise<(T | null)[]> =>\n Promise.all(sources.map((source) => loadData(source, factory, onError)));\n\nconst loadData = <T>(\n source: DataSource,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n): Promise<T | null> => {\n if (source === null) {\n return new Promise((resolve) => resolve(null));\n } else if (source instanceof Uint8Array) {\n return new Promise((resolve) =>\n resolve(factoryWrapper(Skia.Data.fromBytes(source), factory, onError))\n );\n } else {\n const uri = typeof source === \"string\" ? source : resolveAsset(source);\n return Skia.Data.fromURI(uri).then((d) =>\n factoryWrapper(d, factory, onError)\n );\n }\n};\n\ntype Source = DataSource | null | undefined;\n\nconst useLoading = <T>(\n source: Source,\n loader: () => Promise<T | null>,\n deps: DependencyList = []\n) => {\n const [data, setData] = useState<T | null>(null);\n const prevSourceRef = useRef<Source>();\n useEffect(() => {\n if (prevSourceRef.current !== source) {\n prevSourceRef.current = source;\n loader().then(setData);\n } else {\n setData(null);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n return data;\n};\n\nexport const useDataCollection = <T>(\n sources: DataSource[],\n factory: (data: SkData) => T,\n onError?: (err: Error) => void,\n deps?: DependencyList\n) =>\n useLoading(\n sources,\n () => loadDataCollection(sources, factory, onError),\n deps\n );\n\nexport const useRawData = <T>(\n source: DataSource | null | undefined,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void,\n deps?: DependencyList\n) => useLoading(source, () => loadData(source, factory, onError), deps);\n\nconst identity = (data: SkData) => data;\n\nexport const useData = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void,\n deps?: DependencyList\n) => useRawData(source, identity, onError, deps);\n"]}
@@ -1,8 +1,9 @@
1
1
  import { Skia } from "../Skia";
2
2
  import { useRawData } from "./Data";
3
+ const imgFactory = Skia.Image.MakeImageFromEncoded.bind(Skia.Image);
3
4
  /**
4
5
  * Returns a Skia Image object
5
6
  * */
6
7
 
7
- export const useImage = (source, onError) => useRawData(source, Skia.Image.MakeImageFromEncoded, onError);
8
+ export const useImage = (source, onError) => useRawData(source, imgFactory, onError);
8
9
  //# sourceMappingURL=Image.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["Image.ts"],"names":["Skia","useRawData","useImage","source","onError","Image","MakeImageFromEncoded"],"mappings":"AAAA,SAASA,IAAT,QAAqB,SAArB;AAGA,SAASC,UAAT,QAA2B,QAA3B;AAEA;AACA;AACA;;AACA,OAAO,MAAMC,QAAQ,GAAG,CACtBC,MADsB,EAEtBC,OAFsB,KAGnBH,UAAU,CAACE,MAAD,EAASH,IAAI,CAACK,KAAL,CAAWC,oBAApB,EAA0CF,OAA1C,CAHR","sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSource } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\n/**\n * Returns a Skia Image object\n * */\nexport const useImage = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void\n) => useRawData(source, Skia.Image.MakeImageFromEncoded, onError);\n"]}
1
+ {"version":3,"sources":["Image.ts"],"names":["Skia","useRawData","imgFactory","Image","MakeImageFromEncoded","bind","useImage","source","onError"],"mappings":"AAAA,SAASA,IAAT,QAAqB,SAArB;AAGA,SAASC,UAAT,QAA2B,QAA3B;AAEA,MAAMC,UAAU,GAAGF,IAAI,CAACG,KAAL,CAAWC,oBAAX,CAAgCC,IAAhC,CAAqCL,IAAI,CAACG,KAA1C,CAAnB;AAEA;AACA;AACA;;AACA,OAAO,MAAMG,QAAQ,GAAG,CACtBC,MADsB,EAEtBC,OAFsB,KAGnBP,UAAU,CAACM,MAAD,EAASL,UAAT,EAAqBM,OAArB,CAHR","sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSource } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\nconst imgFactory = Skia.Image.MakeImageFromEncoded.bind(Skia.Image);\n\n/**\n * Returns a Skia Image object\n * */\nexport const useImage = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void\n) => useRawData(source, imgFactory, onError);\n"]}
@@ -1,4 +1,5 @@
1
1
  import { Skia } from "../Skia";
2
2
  import { useRawData } from "./Data";
3
- export const useSVG = (source, onError) => useRawData(source, Skia.SVG.MakeFromData, onError);
3
+ const svgFactory = Skia.SVG.MakeFromData.bind(Skia.SVG);
4
+ export const useSVG = (source, onError) => useRawData(source, svgFactory, onError);
4
5
  //# sourceMappingURL=SVG.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["SVG.ts"],"names":["Skia","useRawData","useSVG","source","onError","SVG","MakeFromData"],"mappings":"AAAA,SAASA,IAAT,QAAqB,SAArB;AAGA,SAASC,UAAT,QAA2B,QAA3B;AAEA,OAAO,MAAMC,MAAM,GAAG,CACpBC,MADoB,EAEpBC,OAFoB,KAGjBH,UAAU,CAACE,MAAD,EAASH,IAAI,CAACK,GAAL,CAASC,YAAlB,EAAgCF,OAAhC,CAHR","sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSource } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\nexport const useSVG = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void\n) => useRawData(source, Skia.SVG.MakeFromData, onError);\n"]}
1
+ {"version":3,"sources":["SVG.ts"],"names":["Skia","useRawData","svgFactory","SVG","MakeFromData","bind","useSVG","source","onError"],"mappings":"AAAA,SAASA,IAAT,QAAqB,SAArB;AAGA,SAASC,UAAT,QAA2B,QAA3B;AAEA,MAAMC,UAAU,GAAGF,IAAI,CAACG,GAAL,CAASC,YAAT,CAAsBC,IAAtB,CAA2BL,IAAI,CAACG,GAAhC,CAAnB;AAEA,OAAO,MAAMG,MAAM,GAAG,CACpBC,MADoB,EAEpBC,OAFoB,KAGjBP,UAAU,CAACM,MAAD,EAASL,UAAT,EAAqBM,OAArB,CAHR","sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSource } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\nconst svgFactory = Skia.SVG.MakeFromData.bind(Skia.SVG);\n\nexport const useSVG = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void\n) => useRawData(source, svgFactory, onError);\n"]}
@@ -1,8 +1,9 @@
1
1
  import { Skia } from "../Skia";
2
2
  import { useRawData } from "./Data";
3
+ const tfFactory = Skia.Typeface.MakeFreeTypeFaceFromData.bind(Skia.Typeface);
3
4
  /**
4
5
  * Returns a Skia Typeface object
5
6
  * */
6
7
 
7
- export const useTypeface = (source, onError) => useRawData(source, Skia.Typeface.MakeFreeTypeFaceFromData.bind(Skia.Typeface), onError);
8
+ export const useTypeface = (source, onError) => useRawData(source, tfFactory, onError);
8
9
  //# sourceMappingURL=Typeface.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["Typeface.ts"],"names":["Skia","useRawData","useTypeface","source","onError","Typeface","MakeFreeTypeFaceFromData","bind"],"mappings":"AAAA,SAASA,IAAT,QAAqB,SAArB;AAGA,SAASC,UAAT,QAA2B,QAA3B;AACA;AACA;AACA;;AACA,OAAO,MAAMC,WAAW,GAAG,CACzBC,MADyB,EAEzBC,OAFyB,KAIzBH,UAAU,CACRE,MADQ,EAERH,IAAI,CAACK,QAAL,CAAcC,wBAAd,CAAuCC,IAAvC,CAA4CP,IAAI,CAACK,QAAjD,CAFQ,EAGRD,OAHQ,CAJL","sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSource } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n/**\n * Returns a Skia Typeface object\n * */\nexport const useTypeface = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void\n) =>\n useRawData(\n source,\n Skia.Typeface.MakeFreeTypeFaceFromData.bind(Skia.Typeface),\n onError\n );\n"]}
1
+ {"version":3,"sources":["Typeface.ts"],"names":["Skia","useRawData","tfFactory","Typeface","MakeFreeTypeFaceFromData","bind","useTypeface","source","onError"],"mappings":"AAAA,SAASA,IAAT,QAAqB,SAArB;AAGA,SAASC,UAAT,QAA2B,QAA3B;AAEA,MAAMC,SAAS,GAAGF,IAAI,CAACG,QAAL,CAAcC,wBAAd,CAAuCC,IAAvC,CAA4CL,IAAI,CAACG,QAAjD,CAAlB;AAEA;AACA;AACA;;AACA,OAAO,MAAMG,WAAW,GAAG,CACzBC,MADyB,EAEzBC,OAFyB,KAGtBP,UAAU,CAACM,MAAD,EAASL,SAAT,EAAoBM,OAApB,CAHR","sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSource } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\nconst tfFactory = Skia.Typeface.MakeFreeTypeFaceFromData.bind(Skia.Typeface);\n\n/**\n * Returns a Skia Typeface object\n * */\nexport const useTypeface = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void\n) => useRawData(source, tfFactory, onError);\n"]}
@@ -4,10 +4,8 @@ export * from "./Typeface";
4
4
  export * from "./Image";
5
5
  export * from "./Picture";
6
6
  export * from "./SVG";
7
- export * from "./Path";
8
7
  export * from "./Vector";
9
8
  export * from "./Rect";
10
9
  export * from "./RRect";
11
10
  export * from "./Matrix";
12
- export * from "./Paint";
13
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAd;AACA,cAAc,QAAd;AACA,cAAc,YAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AACA,cAAc,OAAd;AACA,cAAc,QAAd;AACA,cAAc,UAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,UAAd;AACA,cAAc,SAAd","sourcesContent":["export * from \"./Data\";\nexport * from \"./Font\";\nexport * from \"./Typeface\";\nexport * from \"./Image\";\nexport * from \"./Picture\";\nexport * from \"./SVG\";\nexport * from \"./Path\";\nexport * from \"./Vector\";\nexport * from \"./Rect\";\nexport * from \"./RRect\";\nexport * from \"./Matrix\";\nexport * from \"./Paint\";\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAd;AACA,cAAc,QAAd;AACA,cAAc,YAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AACA,cAAc,OAAd;AACA,cAAc,UAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,UAAd","sourcesContent":["export * from \"./Data\";\nexport * from \"./Font\";\nexport * from \"./Typeface\";\nexport * from \"./Image\";\nexport * from \"./Picture\";\nexport * from \"./SVG\";\nexport * from \"./Vector\";\nexport * from \"./Rect\";\nexport * from \"./RRect\";\nexport * from \"./Matrix\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["Font.ts"],"names":["fontStyle","weight","width","slant","FontWeight","FontWidth","FontSlant","FontEdging","FontHinting","FontStyle","Normal","Upright","Bold","Italic","BoldItalic"],"mappings":"AAyKA,MAAMA,SAAS,GAAG,CAChBC,MADgB,EAEhBC,KAFgB,EAGhBC,KAHgB,MAID;AAAEF,EAAAA,MAAF;AAAUC,EAAAA,KAAV;AAAiBC,EAAAA;AAAjB,CAJC,CAAlB;;AAYA,WAAYC,UAAZ;;WAAYA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAcZ,WAAYC,SAAZ;;WAAYA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S;;AAYZ,WAAYC,SAAZ;;WAAYA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S;;AAMZ,WAAYC,UAAZ;;WAAYA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAMZ,WAAYC,WAAZ;;WAAYA,W;AAAAA,EAAAA,W,CAAAA,W;AAAAA,EAAAA,W,CAAAA,W;AAAAA,EAAAA,W,CAAAA,W;AAAAA,EAAAA,W,CAAAA,W;GAAAA,W,KAAAA,W;;AAOZ,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,MAAM,EAAEV,SAAS,CAACI,UAAU,CAACM,MAAZ,EAAoBL,SAAS,CAACK,MAA9B,EAAsCJ,SAAS,CAACK,OAAhD,CADM;AAEvBC,EAAAA,IAAI,EAAEZ,SAAS,CAACI,UAAU,CAACQ,IAAZ,EAAkBP,SAAS,CAACK,MAA5B,EAAoCJ,SAAS,CAACK,OAA9C,CAFQ;AAGvBE,EAAAA,MAAM,EAAEb,SAAS,CAACI,UAAU,CAACM,MAAZ,EAAoBL,SAAS,CAACK,MAA9B,EAAsCJ,SAAS,CAACO,MAAhD,CAHM;AAIvBC,EAAAA,UAAU,EAAEd,SAAS,CAACI,UAAU,CAACQ,IAAZ,EAAkBP,SAAS,CAACK,MAA5B,EAAoCJ,SAAS,CAACO,MAA9C;AAJE,CAAlB","sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkPaint } from \"../Paint\";\nimport type { SkRect } from \"../Rect\";\nimport type { SkPoint } from \"../Point\";\nimport type { SkTypeface } from \"../Typeface\";\n\nexport interface FontMetrics {\n ascent: number; // suggested space above the baseline. < 0\n descent: number; // suggested space below the baseline. > 0\n leading: number; // suggested spacing between descent of previous line and ascent of next line.\n bounds?: SkRect; // smallest rect containing all glyphs (relative to 0,0)\n}\n\nexport interface SkFont extends SkJSIInstance<\"Font\"> {\n /**\n * Retrieves the total width of the provided text\n * @param text\n * @param paint\n */\n getTextWidth(text: string, paint?: SkPaint): number;\n\n /**\n * Retrieves the advanceX measurements for each glyph.\n * If paint is not null, its stroking, PathEffect, and MaskFilter fields are respected.\n * One width per glyph is returned in the returned array.\n * @param glyphs\n * @param paint\n */\n getGlyphWidths(glyphs: number[], paint?: SkPaint): number[];\n\n /** Returns the advance width of text.\n The advance is the normal distance to move before drawing additional text.\n Returns the bounding box of text if bounds is not nullptr. The paint\n stroke settings, mask filter, or path effect may modify the bounds.\n\n @param text character storage encoded with SkTextEncoding\n @param byteLength length of character storage in bytes\n @param bounds returns bounding box relative to (0, 0) if not nullptr\n @param paint optional; may be nullptr\n @return number of glyphs represented by text of length byteLength\n */\n measureText: (text: string, paint?: SkPaint) => SkRect;\n\n /**\n * Returns the FontMetrics for this font.\n */\n getMetrics(): FontMetrics;\n\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 /**\n * Computes any intersections of a thick \"line\" and a run of positionsed glyphs.\n * The thick line is represented as a top and bottom coordinate (positive for\n * below the baseline, negative for above). If there are no intersections\n * (e.g. if this is intended as an underline, and there are no \"collisions\")\n * then the returned array will be empty. If there are intersections, the array\n * will contain pairs of X coordinates [start, end] for each segment that\n * intersected with a glyph.\n *\n * @param glyphs the glyphs to intersect with\n * @param positions x,y coordinates (2 per glyph) for each glyph\n * @param top top of the thick \"line\" to use for intersection testing\n * @param bottom bottom of the thick \"line\" to use for intersection testing\n * @return array of [start, end] x-coordinate pairs. Maybe be empty.\n */\n getGlyphIntercepts(\n glyphs: number[],\n positions: SkPoint[],\n top: number,\n bottom: number\n ): number[];\n\n /**\n * Returns text scale on x-axis. Default value is 1.\n */\n getScaleX(): number;\n\n /**\n * Returns text size in points.\n */\n getSize(): number;\n\n /**\n * Returns text skew on x-axis. Default value is zero.\n */\n getSkewX(): number;\n\n /**\n * Returns embolden effect for this font. Default value is false.\n */\n isEmbolden(): boolean;\n\n /**\n * Returns the Typeface set for this font.\n */\n getTypeface(): SkTypeface | null;\n\n /**\n * Requests, but does not require, that edge pixels draw opaque or with partial transparency.\n * @param edging\n */\n setEdging(edging: FontEdging): void;\n\n /**\n * Requests, but does not require, to use bitmaps in fonts instead of outlines.\n * @param embeddedBitmaps\n */\n setEmbeddedBitmaps(embeddedBitmaps: boolean): void;\n\n /**\n * Sets level of glyph outline adjustment.\n * @param hinting\n */\n setHinting(hinting: FontHinting): void;\n\n /**\n * Requests, but does not require, linearly scalable font and glyph metrics.\n *\n * For outline fonts 'true' means font and glyph metrics should ignore hinting and rounding.\n * Note that some bitmap formats may not be able to scale linearly and will ignore this flag.\n * @param linearMetrics\n */\n setLinearMetrics(linearMetrics: boolean): void;\n\n /**\n * Sets the text scale on the x-axis.\n * @param sx\n */\n setScaleX(sx: number): void;\n\n /**\n * Sets the text size in points on this font.\n * @param points\n */\n setSize(points: number): void;\n\n /**\n * Sets the text-skew on the x axis for this font.\n * @param sx\n */\n setSkewX(sx: number): void;\n\n /**\n * Set embolden effect for this font.\n * @param embolden\n */\n setEmbolden(embolden: boolean): void;\n\n /**\n * Requests, but does not require, that glyphs respect sub-pixel positioning.\n * @param subpixel\n */\n setSubpixel(subpixel: boolean): void;\n\n /**\n * Sets the typeface to use with this font. null means to clear the typeface and use the\n * default one.\n * @param face\n */\n setTypeface(face: SkTypeface | null): void;\n}\n\nconst fontStyle = (\n weight: FontWeight,\n width: FontWidth,\n slant: FontSlant\n): FontStyle => ({ weight, width, slant });\n\nexport interface FontStyle {\n weight?: FontWeight;\n width?: FontWidth;\n slant?: FontSlant;\n}\n\nexport enum FontWeight {\n Invisible = 0,\n Thin = 100,\n ExtraLight = 200,\n Light = 300,\n Normal = 400,\n Medium = 500,\n SemiBold = 600,\n Bold = 700,\n ExtraBold = 800,\n Black = 900,\n ExtraBlack = 1000,\n}\n\nexport enum FontWidth {\n UltraCondensed = 1,\n ExtraCondensed = 2,\n Condensed = 3,\n SemiCondensed = 4,\n Normal = 5,\n SemiExpanded = 6,\n Expanded = 7,\n ExtraExpanded = 8,\n UltraExpanded = 9,\n}\n\nexport enum FontSlant {\n Upright,\n Italic,\n Oblique,\n}\n\nexport enum FontEdging {\n Alias,\n AntiAlias,\n SubpixelAntiAlias,\n}\n\nexport enum FontHinting {\n None,\n Slight,\n Normal,\n Full,\n}\n\nexport const FontStyle = {\n Normal: fontStyle(FontWeight.Normal, FontWidth.Normal, FontSlant.Upright),\n Bold: fontStyle(FontWeight.Bold, FontWidth.Normal, FontSlant.Upright),\n Italic: fontStyle(FontWeight.Normal, FontWidth.Normal, FontSlant.Italic),\n BoldItalic: fontStyle(FontWeight.Bold, FontWidth.Normal, FontSlant.Italic),\n};\n"]}
1
+ {"version":3,"sources":["Font.ts"],"names":["fontStyle","weight","width","slant","FontWeight","FontWidth","FontSlant","FontEdging","FontHinting","FontStyle","Normal","Upright","Bold","Italic","BoldItalic"],"mappings":"AA4JA,MAAMA,SAAS,GAAG,CAChBC,MADgB,EAEhBC,KAFgB,EAGhBC,KAHgB,MAID;AAAEF,EAAAA,MAAF;AAAUC,EAAAA,KAAV;AAAiBC,EAAAA;AAAjB,CAJC,CAAlB;;AAYA,WAAYC,UAAZ;;WAAYA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAcZ,WAAYC,SAAZ;;WAAYA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S;;AAYZ,WAAYC,SAAZ;;WAAYA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;AAAAA,EAAAA,S,CAAAA,S;GAAAA,S,KAAAA,S;;AAMZ,WAAYC,UAAZ;;WAAYA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;AAAAA,EAAAA,U,CAAAA,U;GAAAA,U,KAAAA,U;;AAMZ,WAAYC,WAAZ;;WAAYA,W;AAAAA,EAAAA,W,CAAAA,W;AAAAA,EAAAA,W,CAAAA,W;AAAAA,EAAAA,W,CAAAA,W;AAAAA,EAAAA,W,CAAAA,W;GAAAA,W,KAAAA,W;;AAOZ,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,MAAM,EAAEV,SAAS,CAACI,UAAU,CAACM,MAAZ,EAAoBL,SAAS,CAACK,MAA9B,EAAsCJ,SAAS,CAACK,OAAhD,CADM;AAEvBC,EAAAA,IAAI,EAAEZ,SAAS,CAACI,UAAU,CAACQ,IAAZ,EAAkBP,SAAS,CAACK,MAA5B,EAAoCJ,SAAS,CAACK,OAA9C,CAFQ;AAGvBE,EAAAA,MAAM,EAAEb,SAAS,CAACI,UAAU,CAACM,MAAZ,EAAoBL,SAAS,CAACK,MAA9B,EAAsCJ,SAAS,CAACO,MAAhD,CAHM;AAIvBC,EAAAA,UAAU,EAAEd,SAAS,CAACI,UAAU,CAACQ,IAAZ,EAAkBP,SAAS,CAACK,MAA5B,EAAoCJ,SAAS,CAACO,MAA9C;AAJE,CAAlB","sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkPaint } from \"../Paint\";\nimport type { SkRect } from \"../Rect\";\nimport type { SkPoint } from \"../Point\";\nimport type { SkTypeface } from \"../Typeface\";\n\nexport interface FontMetrics {\n ascent: number; // suggested space above the baseline. < 0\n descent: number; // suggested space below the baseline. > 0\n leading: number; // suggested spacing between descent of previous line and ascent of next line.\n bounds?: SkRect; // smallest rect containing all glyphs (relative to 0,0)\n}\n\nexport interface SkFont extends SkJSIInstance<\"Font\"> {\n /**\n * Retrieves the total width of the provided text\n * @param text\n * @param paint\n */\n getTextWidth(text: string, paint?: SkPaint): number;\n\n /**\n * Retrieves the advanceX measurements for each glyph.\n * If paint is not null, its stroking, PathEffect, and MaskFilter fields are respected.\n * One width per glyph is returned in the returned array.\n * @param glyphs\n * @param paint\n */\n getGlyphWidths(glyphs: number[], paint?: SkPaint): number[];\n\n /**\n * Returns the FontMetrics for this font.\n */\n getMetrics(): FontMetrics;\n\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 /**\n * Computes any intersections of a thick \"line\" and a run of positionsed glyphs.\n * The thick line is represented as a top and bottom coordinate (positive for\n * below the baseline, negative for above). If there are no intersections\n * (e.g. if this is intended as an underline, and there are no \"collisions\")\n * then the returned array will be empty. If there are intersections, the array\n * will contain pairs of X coordinates [start, end] for each segment that\n * intersected with a glyph.\n *\n * @param glyphs the glyphs to intersect with\n * @param positions x,y coordinates (2 per glyph) for each glyph\n * @param top top of the thick \"line\" to use for intersection testing\n * @param bottom bottom of the thick \"line\" to use for intersection testing\n * @return array of [start, end] x-coordinate pairs. Maybe be empty.\n */\n getGlyphIntercepts(\n glyphs: number[],\n positions: SkPoint[],\n top: number,\n bottom: number\n ): number[];\n\n /**\n * Returns text scale on x-axis. Default value is 1.\n */\n getScaleX(): number;\n\n /**\n * Returns text size in points.\n */\n getSize(): number;\n\n /**\n * Returns text skew on x-axis. Default value is zero.\n */\n getSkewX(): number;\n\n /**\n * Returns embolden effect for this font. Default value is false.\n */\n isEmbolden(): boolean;\n\n /**\n * Returns the Typeface set for this font.\n */\n getTypeface(): SkTypeface | null;\n\n /**\n * Requests, but does not require, that edge pixels draw opaque or with partial transparency.\n * @param edging\n */\n setEdging(edging: FontEdging): void;\n\n /**\n * Requests, but does not require, to use bitmaps in fonts instead of outlines.\n * @param embeddedBitmaps\n */\n setEmbeddedBitmaps(embeddedBitmaps: boolean): void;\n\n /**\n * Sets level of glyph outline adjustment.\n * @param hinting\n */\n setHinting(hinting: FontHinting): void;\n\n /**\n * Requests, but does not require, linearly scalable font and glyph metrics.\n *\n * For outline fonts 'true' means font and glyph metrics should ignore hinting and rounding.\n * Note that some bitmap formats may not be able to scale linearly and will ignore this flag.\n * @param linearMetrics\n */\n setLinearMetrics(linearMetrics: boolean): void;\n\n /**\n * Sets the text scale on the x-axis.\n * @param sx\n */\n setScaleX(sx: number): void;\n\n /**\n * Sets the text size in points on this font.\n * @param points\n */\n setSize(points: number): void;\n\n /**\n * Sets the text-skew on the x axis for this font.\n * @param sx\n */\n setSkewX(sx: number): void;\n\n /**\n * Set embolden effect for this font.\n * @param embolden\n */\n setEmbolden(embolden: boolean): void;\n\n /**\n * Requests, but does not require, that glyphs respect sub-pixel positioning.\n * @param subpixel\n */\n setSubpixel(subpixel: boolean): void;\n\n /**\n * Sets the typeface to use with this font. null means to clear the typeface and use the\n * default one.\n * @param face\n */\n setTypeface(face: SkTypeface | null): void;\n}\n\nconst fontStyle = (\n weight: FontWeight,\n width: FontWidth,\n slant: FontSlant\n): FontStyle => ({ weight, width, slant });\n\nexport interface FontStyle {\n weight?: FontWeight;\n width?: FontWidth;\n slant?: FontSlant;\n}\n\nexport enum FontWeight {\n Invisible = 0,\n Thin = 100,\n ExtraLight = 200,\n Light = 300,\n Normal = 400,\n Medium = 500,\n SemiBold = 600,\n Bold = 700,\n ExtraBold = 800,\n Black = 900,\n ExtraBlack = 1000,\n}\n\nexport enum FontWidth {\n UltraCondensed = 1,\n ExtraCondensed = 2,\n Condensed = 3,\n SemiCondensed = 4,\n Normal = 5,\n SemiExpanded = 6,\n Expanded = 7,\n ExtraExpanded = 8,\n UltraExpanded = 9,\n}\n\nexport enum FontSlant {\n Upright,\n Italic,\n Oblique,\n}\n\nexport enum FontEdging {\n Alias,\n AntiAlias,\n SubpixelAntiAlias,\n}\n\nexport enum FontHinting {\n None,\n Slight,\n Normal,\n Full,\n}\n\nexport const FontStyle = {\n Normal: fontStyle(FontWeight.Normal, FontWidth.Normal, FontSlant.Upright),\n Bold: fontStyle(FontWeight.Bold, FontWidth.Normal, FontSlant.Upright),\n Italic: fontStyle(FontWeight.Normal, FontWidth.Normal, FontSlant.Italic),\n BoldItalic: fontStyle(FontWeight.Bold, FontWidth.Normal, FontSlant.Italic),\n};\n"]}
@@ -2,7 +2,6 @@ export * from "./Picture";
2
2
  export * from "./Data";
3
3
  export * from "./SVG";
4
4
  export * from "./Surface";
5
- export * from "./FontMgr";
6
5
  export * from "./Vertices";
7
6
  export * from "./RuntimeEffect";
8
7
  export * from "./Shader";
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAd;AACA,cAAc,QAAd;AACA,cAAc,OAAd;AACA,cAAc,WAAd;AACA,cAAc,WAAd;AACA,cAAc,YAAd;AACA,cAAc,iBAAd;AACA,cAAc,UAAd;AACA,cAAc,SAAd;AACA,cAAc,eAAd;AACA,cAAc,eAAd;AACA,cAAc,QAAd;AACA,cAAc,YAAd;AACA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,UAAd;AACA,cAAc,kBAAd;AACA,cAAc,cAAd;AACA,cAAc,UAAd;AACA,cAAc,cAAd;AACA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AACA,cAAc,eAAd;AACA,cAAc,QAAd;AACA,cAAc,YAAd","sourcesContent":["export * from \"./Picture\";\nexport * from \"./Data\";\nexport * from \"./SVG\";\nexport * from \"./Surface\";\nexport * from \"./FontMgr\";\nexport * from \"./Vertices\";\nexport * from \"./RuntimeEffect\";\nexport * from \"./Shader\";\nexport * from \"./Image\";\nexport * from \"./ColorFilter\";\nexport * from \"./ImageFilter\";\nexport * from \"./Font\";\nexport * from \"./Typeface\";\nexport * from \"./Paint\";\nexport * from \"./Path\";\nexport * from \"./Color\";\nexport * from \"./Canvas\";\nexport * from \"./ContourMeasure\";\nexport * from \"./MaskFilter\";\nexport * from \"./Matrix\";\nexport * from \"./PathEffect\";\nexport * from \"./Point\";\nexport * from \"./Rect\";\nexport * from \"./RRect\";\nexport * from \"./RSXform\";\nexport * from \"./JsiInstance\";\nexport * from \"./Skia\";\nexport * from \"./TextBlob\";\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAd;AACA,cAAc,QAAd;AACA,cAAc,OAAd;AACA,cAAc,WAAd;AACA,cAAc,YAAd;AACA,cAAc,iBAAd;AACA,cAAc,UAAd;AACA,cAAc,SAAd;AACA,cAAc,eAAd;AACA,cAAc,eAAd;AACA,cAAc,QAAd;AACA,cAAc,YAAd;AACA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,UAAd;AACA,cAAc,kBAAd;AACA,cAAc,cAAd;AACA,cAAc,UAAd;AACA,cAAc,cAAd;AACA,cAAc,SAAd;AACA,cAAc,QAAd;AACA,cAAc,SAAd;AACA,cAAc,WAAd;AACA,cAAc,eAAd;AACA,cAAc,QAAd;AACA,cAAc,YAAd","sourcesContent":["export * from \"./Picture\";\nexport * from \"./Data\";\nexport * from \"./SVG\";\nexport * from \"./Surface\";\nexport * from \"./Vertices\";\nexport * from \"./RuntimeEffect\";\nexport * from \"./Shader\";\nexport * from \"./Image\";\nexport * from \"./ColorFilter\";\nexport * from \"./ImageFilter\";\nexport * from \"./Font\";\nexport * from \"./Typeface\";\nexport * from \"./Paint\";\nexport * from \"./Path\";\nexport * from \"./Color\";\nexport * from \"./Canvas\";\nexport * from \"./ContourMeasure\";\nexport * from \"./MaskFilter\";\nexport * from \"./Matrix\";\nexport * from \"./PathEffect\";\nexport * from \"./Point\";\nexport * from \"./Rect\";\nexport * from \"./RRect\";\nexport * from \"./RSXform\";\nexport * from \"./JsiInstance\";\nexport * from \"./Skia\";\nexport * from \"./TextBlob\";\n"]}
@@ -6,12 +6,6 @@ export class JsiSkFont extends HostObject {
6
6
  super(CanvasKit, ref, "Font");
7
7
  }
8
8
 
9
- measureText(_text, _paint) {
10
- console.warn(`measureText() is deprecated an returns an empty rectangle on React Native Web.
11
- Clients should use "Font.getGlyphWidths" instead (the latter does no shaping)`);
12
- return new JsiSkRect(this.CanvasKit, this.CanvasKit.XYWHRect(0, 0, 0, 0));
13
- }
14
-
15
9
  getTextWidth(text, paint) {
16
10
  const ids = this.getGlyphIDs(text);
17
11
  const widths = this.getGlyphWidths(ids, paint);
@@ -1 +1 @@
1
- {"version":3,"sources":["JsiSkFont.ts"],"names":["HostObject","toValue","ckEnum","JsiSkRect","JsiSkTypeface","JsiSkFont","constructor","CanvasKit","ref","measureText","_text","_paint","console","warn","XYWHRect","getTextWidth","text","paint","ids","getGlyphIDs","widths","getGlyphWidths","reduce","a","b","getMetrics","result","ascent","descent","leading","bounds","undefined","str","numCodePoints","glyphs","getGlyphIntercepts","positions","top","bottom","map","p","getScaleX","getSize","getSkewX","isEmbolden","getTypeface","tf","setEdging","edging","setEmbeddedBitmaps","embeddedBitmaps","setHinting","hinting","setLinearMetrics","linearMetrics","setScaleX","sx","setSize","points","setSkewX","setEmbolden","embolden","setSubpixel","subpixel","setTypeface","face"],"mappings":"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","sourcesContent":["import type { CanvasKit, Font } from \"canvaskit-wasm\";\n\nimport type {\n FontEdging,\n FontHinting,\n SkFont,\n SkPaint,\n SkPoint,\n SkRect,\n SkTypeface,\n} from \"../types\";\n\nimport { HostObject, toValue, ckEnum } from \"./Host\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\n\nexport class JsiSkFont extends HostObject<Font, \"Font\"> implements SkFont {\n constructor(CanvasKit: CanvasKit, ref: Font) {\n super(CanvasKit, ref, \"Font\");\n }\n\n measureText(_text: string, _paint?: SkPaint): SkRect {\n console.warn(\n `measureText() is deprecated an returns an empty rectangle on React Native Web.\nClients should use \"Font.getGlyphWidths\" instead (the latter does no shaping)`\n );\n return new JsiSkRect(this.CanvasKit, this.CanvasKit.XYWHRect(0, 0, 0, 0));\n }\n\n getTextWidth(text: string, paint?: SkPaint | undefined) {\n const ids = this.getGlyphIDs(text);\n const widths = this.getGlyphWidths(ids, paint);\n return widths.reduce((a, b) => a + b, 0);\n }\n\n getMetrics() {\n const result = this.ref.getMetrics();\n return {\n ascent: result.ascent,\n descent: result.descent,\n leading: result.leading,\n bounds: result.bounds\n ? new JsiSkRect(this.CanvasKit, result.bounds)\n : undefined,\n };\n }\n\n getGlyphIDs(str: string, numCodePoints?: number) {\n // TODO: Fix return value in the C++ implementation\n return [...this.ref.getGlyphIDs(str, numCodePoints)];\n }\n\n // TODO: Fix return value in the C++ implementation, it return float32\n getGlyphWidths(glyphs: number[], paint?: SkPaint | null) {\n return [...this.ref.getGlyphWidths(glyphs, paint ? toValue(paint) : null)];\n }\n\n getGlyphIntercepts(\n glyphs: number[],\n positions: SkPoint[],\n top: number,\n bottom: number\n ) {\n return [\n ...this.ref.getGlyphIntercepts(\n glyphs,\n positions.map((p) => toValue(p)),\n top,\n bottom\n ),\n ];\n }\n\n getScaleX() {\n return this.ref.getScaleX();\n }\n\n getSize() {\n return this.ref.getSize();\n }\n\n getSkewX() {\n return this.ref.getSkewX();\n }\n\n isEmbolden() {\n return this.ref.isEmbolden();\n }\n\n getTypeface() {\n const tf = this.ref.getTypeface();\n return tf ? new JsiSkTypeface(this.CanvasKit, tf) : null;\n }\n\n setEdging(edging: FontEdging) {\n this.ref.setEdging(ckEnum(edging));\n }\n\n setEmbeddedBitmaps(embeddedBitmaps: boolean) {\n this.ref.setEmbeddedBitmaps(embeddedBitmaps);\n }\n\n setHinting(hinting: FontHinting) {\n this.ref.setHinting(ckEnum(hinting));\n }\n\n setLinearMetrics(linearMetrics: boolean) {\n this.ref.setLinearMetrics(linearMetrics);\n }\n\n setScaleX(sx: number) {\n this.ref.setScaleX(sx);\n }\n\n setSize(points: number) {\n this.ref.setSize(points);\n }\n\n setSkewX(sx: number) {\n this.ref.setSkewX(sx);\n }\n\n setEmbolden(embolden: boolean) {\n this.ref.setEmbolden(embolden);\n }\n\n setSubpixel(subpixel: boolean) {\n this.ref.setSubpixel(subpixel);\n }\n\n setTypeface(face: SkTypeface | null) {\n this.ref.setTypeface(face ? toValue(face) : null);\n }\n}\n"]}
1
+ {"version":3,"sources":["JsiSkFont.ts"],"names":["HostObject","toValue","ckEnum","JsiSkRect","JsiSkTypeface","JsiSkFont","constructor","CanvasKit","ref","getTextWidth","text","paint","ids","getGlyphIDs","widths","getGlyphWidths","reduce","a","b","getMetrics","result","ascent","descent","leading","bounds","undefined","str","numCodePoints","glyphs","getGlyphIntercepts","positions","top","bottom","map","p","getScaleX","getSize","getSkewX","isEmbolden","getTypeface","tf","setEdging","edging","setEmbeddedBitmaps","embeddedBitmaps","setHinting","hinting","setLinearMetrics","linearMetrics","setScaleX","sx","setSize","points","setSkewX","setEmbolden","embolden","setSubpixel","subpixel","setTypeface","face"],"mappings":"AAWA,SAASA,UAAT,EAAqBC,OAArB,EAA8BC,MAA9B,QAA4C,QAA5C;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,aAAT,QAA8B,iBAA9B;AAEA,OAAO,MAAMC,SAAN,SAAwBL,UAAxB,CAAmE;AACxEM,EAAAA,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAkC;AAC3C,UAAMD,SAAN,EAAiBC,GAAjB,EAAsB,MAAtB;AACD;;AAEDC,EAAAA,YAAY,CAACC,IAAD,EAAeC,KAAf,EAA4C;AACtD,UAAMC,GAAG,GAAG,KAAKC,WAAL,CAAiBH,IAAjB,CAAZ;AACA,UAAMI,MAAM,GAAG,KAAKC,cAAL,CAAoBH,GAApB,EAAyBD,KAAzB,CAAf;AACA,WAAOG,MAAM,CAACE,MAAP,CAAc,CAACC,CAAD,EAAIC,CAAJ,KAAUD,CAAC,GAAGC,CAA5B,EAA+B,CAA/B,CAAP;AACD;;AAEDC,EAAAA,UAAU,GAAG;AACX,UAAMC,MAAM,GAAG,KAAKZ,GAAL,CAASW,UAAT,EAAf;AACA,WAAO;AACLE,MAAAA,MAAM,EAAED,MAAM,CAACC,MADV;AAELC,MAAAA,OAAO,EAAEF,MAAM,CAACE,OAFX;AAGLC,MAAAA,OAAO,EAAEH,MAAM,CAACG,OAHX;AAILC,MAAAA,MAAM,EAAEJ,MAAM,CAACI,MAAP,GACJ,IAAIrB,SAAJ,CAAc,KAAKI,SAAnB,EAA8Ba,MAAM,CAACI,MAArC,CADI,GAEJC;AANC,KAAP;AAQD;;AAEDZ,EAAAA,WAAW,CAACa,GAAD,EAAcC,aAAd,EAAsC;AAC/C;AACA,WAAO,CAAC,GAAG,KAAKnB,GAAL,CAASK,WAAT,CAAqBa,GAArB,EAA0BC,aAA1B,CAAJ,CAAP;AACD,GA1BuE,CA4BxE;;;AACAZ,EAAAA,cAAc,CAACa,MAAD,EAAmBjB,KAAnB,EAA2C;AACvD,WAAO,CAAC,GAAG,KAAKH,GAAL,CAASO,cAAT,CAAwBa,MAAxB,EAAgCjB,KAAK,GAAGV,OAAO,CAACU,KAAD,CAAV,GAAoB,IAAzD,CAAJ,CAAP;AACD;;AAEDkB,EAAAA,kBAAkB,CAChBD,MADgB,EAEhBE,SAFgB,EAGhBC,GAHgB,EAIhBC,MAJgB,EAKhB;AACA,WAAO,CACL,GAAG,KAAKxB,GAAL,CAASqB,kBAAT,CACDD,MADC,EAEDE,SAAS,CAACG,GAAV,CAAeC,CAAD,IAAOjC,OAAO,CAACiC,CAAD,CAA5B,CAFC,EAGDH,GAHC,EAIDC,MAJC,CADE,CAAP;AAQD;;AAEDG,EAAAA,SAAS,GAAG;AACV,WAAO,KAAK3B,GAAL,CAAS2B,SAAT,EAAP;AACD;;AAEDC,EAAAA,OAAO,GAAG;AACR,WAAO,KAAK5B,GAAL,CAAS4B,OAAT,EAAP;AACD;;AAEDC,EAAAA,QAAQ,GAAG;AACT,WAAO,KAAK7B,GAAL,CAAS6B,QAAT,EAAP;AACD;;AAEDC,EAAAA,UAAU,GAAG;AACX,WAAO,KAAK9B,GAAL,CAAS8B,UAAT,EAAP;AACD;;AAEDC,EAAAA,WAAW,GAAG;AACZ,UAAMC,EAAE,GAAG,KAAKhC,GAAL,CAAS+B,WAAT,EAAX;AACA,WAAOC,EAAE,GAAG,IAAIpC,aAAJ,CAAkB,KAAKG,SAAvB,EAAkCiC,EAAlC,CAAH,GAA2C,IAApD;AACD;;AAEDC,EAAAA,SAAS,CAACC,MAAD,EAAqB;AAC5B,SAAKlC,GAAL,CAASiC,SAAT,CAAmBvC,MAAM,CAACwC,MAAD,CAAzB;AACD;;AAEDC,EAAAA,kBAAkB,CAACC,eAAD,EAA2B;AAC3C,SAAKpC,GAAL,CAASmC,kBAAT,CAA4BC,eAA5B;AACD;;AAEDC,EAAAA,UAAU,CAACC,OAAD,EAAuB;AAC/B,SAAKtC,GAAL,CAASqC,UAAT,CAAoB3C,MAAM,CAAC4C,OAAD,CAA1B;AACD;;AAEDC,EAAAA,gBAAgB,CAACC,aAAD,EAAyB;AACvC,SAAKxC,GAAL,CAASuC,gBAAT,CAA0BC,aAA1B;AACD;;AAEDC,EAAAA,SAAS,CAACC,EAAD,EAAa;AACpB,SAAK1C,GAAL,CAASyC,SAAT,CAAmBC,EAAnB;AACD;;AAEDC,EAAAA,OAAO,CAACC,MAAD,EAAiB;AACtB,SAAK5C,GAAL,CAAS2C,OAAT,CAAiBC,MAAjB;AACD;;AAEDC,EAAAA,QAAQ,CAACH,EAAD,EAAa;AACnB,SAAK1C,GAAL,CAAS6C,QAAT,CAAkBH,EAAlB;AACD;;AAEDI,EAAAA,WAAW,CAACC,QAAD,EAAoB;AAC7B,SAAK/C,GAAL,CAAS8C,WAAT,CAAqBC,QAArB;AACD;;AAEDC,EAAAA,WAAW,CAACC,QAAD,EAAoB;AAC7B,SAAKjD,GAAL,CAASgD,WAAT,CAAqBC,QAArB;AACD;;AAEDC,EAAAA,WAAW,CAACC,IAAD,EAA0B;AACnC,SAAKnD,GAAL,CAASkD,WAAT,CAAqBC,IAAI,GAAG1D,OAAO,CAAC0D,IAAD,CAAV,GAAmB,IAA5C;AACD;;AA5GuE","sourcesContent":["import type { CanvasKit, Font } from \"canvaskit-wasm\";\n\nimport type {\n FontEdging,\n FontHinting,\n SkFont,\n SkPaint,\n SkPoint,\n SkTypeface,\n} from \"../types\";\n\nimport { HostObject, toValue, ckEnum } from \"./Host\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\n\nexport class JsiSkFont extends HostObject<Font, \"Font\"> implements SkFont {\n constructor(CanvasKit: CanvasKit, ref: Font) {\n super(CanvasKit, ref, \"Font\");\n }\n\n getTextWidth(text: string, paint?: SkPaint | undefined) {\n const ids = this.getGlyphIDs(text);\n const widths = this.getGlyphWidths(ids, paint);\n return widths.reduce((a, b) => a + b, 0);\n }\n\n getMetrics() {\n const result = this.ref.getMetrics();\n return {\n ascent: result.ascent,\n descent: result.descent,\n leading: result.leading,\n bounds: result.bounds\n ? new JsiSkRect(this.CanvasKit, result.bounds)\n : undefined,\n };\n }\n\n getGlyphIDs(str: string, numCodePoints?: number) {\n // TODO: Fix return value in the C++ implementation\n return [...this.ref.getGlyphIDs(str, numCodePoints)];\n }\n\n // TODO: Fix return value in the C++ implementation, it return float32\n getGlyphWidths(glyphs: number[], paint?: SkPaint | null) {\n return [...this.ref.getGlyphWidths(glyphs, paint ? toValue(paint) : null)];\n }\n\n getGlyphIntercepts(\n glyphs: number[],\n positions: SkPoint[],\n top: number,\n bottom: number\n ) {\n return [\n ...this.ref.getGlyphIntercepts(\n glyphs,\n positions.map((p) => toValue(p)),\n top,\n bottom\n ),\n ];\n }\n\n getScaleX() {\n return this.ref.getScaleX();\n }\n\n getSize() {\n return this.ref.getSize();\n }\n\n getSkewX() {\n return this.ref.getSkewX();\n }\n\n isEmbolden() {\n return this.ref.isEmbolden();\n }\n\n getTypeface() {\n const tf = this.ref.getTypeface();\n return tf ? new JsiSkTypeface(this.CanvasKit, tf) : null;\n }\n\n setEdging(edging: FontEdging) {\n this.ref.setEdging(ckEnum(edging));\n }\n\n setEmbeddedBitmaps(embeddedBitmaps: boolean) {\n this.ref.setEmbeddedBitmaps(embeddedBitmaps);\n }\n\n setHinting(hinting: FontHinting) {\n this.ref.setHinting(ckEnum(hinting));\n }\n\n setLinearMetrics(linearMetrics: boolean) {\n this.ref.setLinearMetrics(linearMetrics);\n }\n\n setScaleX(sx: number) {\n this.ref.setScaleX(sx);\n }\n\n setSize(points: number) {\n this.ref.setSize(points);\n }\n\n setSkewX(sx: number) {\n this.ref.setSkewX(sx);\n }\n\n setEmbolden(embolden: boolean) {\n this.ref.setEmbolden(embolden);\n }\n\n setSubpixel(subpixel: boolean) {\n this.ref.setSubpixel(subpixel);\n }\n\n setTypeface(face: SkTypeface | null) {\n this.ref.setTypeface(face ? toValue(face) : null);\n }\n}\n"]}
@@ -14,7 +14,7 @@ export class JsiSkTextBlobFactory extends Host {
14
14
  }
15
15
 
16
16
  MakeFromRSXform(str, rsxforms, font) {
17
- return new JsiSkTextBlob(this.CanvasKit, this.CanvasKit.TextBlob.MakeFromRSXform(str, rsxforms.map(f => toValue(f)), toValue(font)));
17
+ return new JsiSkTextBlob(this.CanvasKit, this.CanvasKit.TextBlob.MakeFromRSXform(str, rsxforms.map(f => Array.from(toValue(f))).flat(), toValue(font)));
18
18
  }
19
19
 
20
20
  MakeFromRSXformGlyphs(glyphs, rsxforms, font) {
@@ -1 +1 @@
1
- {"version":3,"sources":["JsiSkTextBlobFactory.ts"],"names":["Host","toValue","JsiSkTextBlob","JsiSkTextBlobFactory","constructor","CanvasKit","MakeFromText","str","font","TextBlob","MakeFromGlyphs","glyphs","MakeFromRSXform","rsxforms","map","f","MakeFromRSXformGlyphs"],"mappings":"AAKA,SAASA,IAAT,EAAeC,OAAf,QAA8B,QAA9B;AACA,SAASC,aAAT,QAA8B,iBAA9B;AAEA,OAAO,MAAMC,oBAAN,SAAmCH,IAAnC,CAAmE;AACxEI,EAAAA,WAAW,CAACC,SAAD,EAAuB;AAChC,UAAMA,SAAN;AACD;;AAEDC,EAAAA,YAAY,CAACC,GAAD,EAAcC,IAAd,EAA4B;AACtC,WAAO,IAAIN,aAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeI,QAAf,CAAwBH,YAAxB,CAAqCC,GAArC,EAA0CN,OAAO,CAACO,IAAD,CAAjD,CAFK,CAAP;AAID;;AAEDE,EAAAA,cAAc,CAACC,MAAD,EAAmBH,IAAnB,EAAiC;AAC7C,WAAO,IAAIN,aAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeI,QAAf,CAAwBC,cAAxB,CAAuCC,MAAvC,EAA+CV,OAAO,CAACO,IAAD,CAAtD,CAFK,CAAP;AAID;;AAEDI,EAAAA,eAAe,CAACL,GAAD,EAAcM,QAAd,EAAqCL,IAArC,EAAmD;AAChE,WAAO,IAAIN,aAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeI,QAAf,CAAwBG,eAAxB,CACEL,GADF,EAEEM,QAAQ,CAACC,GAAT,CAAcC,CAAD,IAAOd,OAAO,CAACc,CAAD,CAA3B,CAFF,EAGEd,OAAO,CAACO,IAAD,CAHT,CAFK,CAAP;AAQD;;AAEDQ,EAAAA,qBAAqB,CAACL,MAAD,EAAmBE,QAAnB,EAA0CL,IAA1C,EAAwD;AAC3E,WAAO,IAAIN,aAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeI,QAAf,CAAwBO,qBAAxB,CACEL,MADF,EAEEE,QAAQ,CAACC,GAAT,CAAcC,CAAD,IAAOd,OAAO,CAACc,CAAD,CAA3B,CAFF,EAGEd,OAAO,CAACO,IAAD,CAHT,CAFK,CAAP;AAQD;;AAvCuE","sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { SkFont, SkRSXform } from \"../types\";\nimport type { TextBlobFactory } from \"../types/TextBlob\";\n\nimport { Host, toValue } from \"./Host\";\nimport { JsiSkTextBlob } from \"./JsiSkTextBlob\";\n\nexport class JsiSkTextBlobFactory extends Host implements TextBlobFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeFromText(str: string, font: SkFont) {\n return new JsiSkTextBlob(\n this.CanvasKit,\n this.CanvasKit.TextBlob.MakeFromText(str, toValue(font))\n );\n }\n\n MakeFromGlyphs(glyphs: number[], font: SkFont) {\n return new JsiSkTextBlob(\n this.CanvasKit,\n this.CanvasKit.TextBlob.MakeFromGlyphs(glyphs, toValue(font))\n );\n }\n\n MakeFromRSXform(str: string, rsxforms: SkRSXform[], font: SkFont) {\n return new JsiSkTextBlob(\n this.CanvasKit,\n this.CanvasKit.TextBlob.MakeFromRSXform(\n str,\n rsxforms.map((f) => toValue(f)),\n toValue(font)\n )\n );\n }\n\n MakeFromRSXformGlyphs(glyphs: number[], rsxforms: SkRSXform[], font: SkFont) {\n return new JsiSkTextBlob(\n this.CanvasKit,\n this.CanvasKit.TextBlob.MakeFromRSXformGlyphs(\n glyphs,\n rsxforms.map((f) => toValue(f)),\n toValue(font)\n )\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["JsiSkTextBlobFactory.ts"],"names":["Host","toValue","JsiSkTextBlob","JsiSkTextBlobFactory","constructor","CanvasKit","MakeFromText","str","font","TextBlob","MakeFromGlyphs","glyphs","MakeFromRSXform","rsxforms","map","f","Array","from","flat","MakeFromRSXformGlyphs"],"mappings":"AAKA,SAASA,IAAT,EAAeC,OAAf,QAA8B,QAA9B;AACA,SAASC,aAAT,QAA8B,iBAA9B;AAEA,OAAO,MAAMC,oBAAN,SAAmCH,IAAnC,CAAmE;AACxEI,EAAAA,WAAW,CAACC,SAAD,EAAuB;AAChC,UAAMA,SAAN;AACD;;AAEDC,EAAAA,YAAY,CAACC,GAAD,EAAcC,IAAd,EAA4B;AACtC,WAAO,IAAIN,aAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeI,QAAf,CAAwBH,YAAxB,CAAqCC,GAArC,EAA0CN,OAAO,CAACO,IAAD,CAAjD,CAFK,CAAP;AAID;;AAEDE,EAAAA,cAAc,CAACC,MAAD,EAAmBH,IAAnB,EAAiC;AAC7C,WAAO,IAAIN,aAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeI,QAAf,CAAwBC,cAAxB,CAAuCC,MAAvC,EAA+CV,OAAO,CAACO,IAAD,CAAtD,CAFK,CAAP;AAID;;AAEDI,EAAAA,eAAe,CAACL,GAAD,EAAcM,QAAd,EAAqCL,IAArC,EAAmD;AAChE,WAAO,IAAIN,aAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeI,QAAf,CAAwBG,eAAxB,CACEL,GADF,EAEEM,QAAQ,CAACC,GAAT,CAAcC,CAAD,IAAOC,KAAK,CAACC,IAAN,CAAWhB,OAAO,CAAec,CAAf,CAAlB,CAApB,EAA0DG,IAA1D,EAFF,EAGEjB,OAAO,CAACO,IAAD,CAHT,CAFK,CAAP;AAQD;;AAEDW,EAAAA,qBAAqB,CAACR,MAAD,EAAmBE,QAAnB,EAA0CL,IAA1C,EAAwD;AAC3E,WAAO,IAAIN,aAAJ,CACL,KAAKG,SADA,EAEL,KAAKA,SAAL,CAAeI,QAAf,CAAwBU,qBAAxB,CACER,MADF,EAEEE,QAAQ,CAACC,GAAT,CAAcC,CAAD,IAAOd,OAAO,CAACc,CAAD,CAA3B,CAFF,EAGEd,OAAO,CAACO,IAAD,CAHT,CAFK,CAAP;AAQD;;AAvCuE","sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { SkFont, SkRSXform } from \"../types\";\nimport type { TextBlobFactory } from \"../types/TextBlob\";\n\nimport { Host, toValue } from \"./Host\";\nimport { JsiSkTextBlob } from \"./JsiSkTextBlob\";\n\nexport class JsiSkTextBlobFactory extends Host implements TextBlobFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeFromText(str: string, font: SkFont) {\n return new JsiSkTextBlob(\n this.CanvasKit,\n this.CanvasKit.TextBlob.MakeFromText(str, toValue(font))\n );\n }\n\n MakeFromGlyphs(glyphs: number[], font: SkFont) {\n return new JsiSkTextBlob(\n this.CanvasKit,\n this.CanvasKit.TextBlob.MakeFromGlyphs(glyphs, toValue(font))\n );\n }\n\n MakeFromRSXform(str: string, rsxforms: SkRSXform[], font: SkFont) {\n return new JsiSkTextBlob(\n this.CanvasKit,\n this.CanvasKit.TextBlob.MakeFromRSXform(\n str,\n rsxforms.map((f) => Array.from(toValue<Float32Array>(f))).flat(),\n toValue(font)\n )\n );\n }\n\n MakeFromRSXformGlyphs(glyphs: number[], rsxforms: SkRSXform[], font: SkFont) {\n return new JsiSkTextBlob(\n this.CanvasKit,\n this.CanvasKit.TextBlob.MakeFromRSXformGlyphs(\n glyphs,\n rsxforms.map((f) => toValue(f)),\n toValue(font)\n )\n );\n }\n}\n"]}
@@ -22,7 +22,6 @@ import { JsiSkDataFactory } from "./JsiSkDataFactory";
22
22
  import { JsiSkImageFactory } from "./JsiSkImageFactory";
23
23
  import { JsiSkSVGFactory } from "./JsiSkSVGFactory";
24
24
  import { JsiSkTextBlobFactory } from "./JsiSkTextBlobFactory";
25
- import { JsiSkFontMgrFactory } from "./JsiSkFontMgrFactory";
26
25
  import { JsiSkFont } from "./JsiSkFont";
27
26
  import { MakeVertices } from "./JsiSkVerticesFactory";
28
27
  export const JsiSkApi = CanvasKit => ({
@@ -52,7 +51,6 @@ export const JsiSkApi = CanvasKit => ({
52
51
  Image: new JsiSkImageFactory(CanvasKit),
53
52
  SVG: new JsiSkSVGFactory(CanvasKit),
54
53
  TextBlob: new JsiSkTextBlobFactory(CanvasKit),
55
- FontMgr: new JsiSkFontMgrFactory(CanvasKit),
56
54
  XYWHRect: (x, y, width, height) => {
57
55
  return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(x, y, width, height));
58
56
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["JsiSkia.ts"],"names":["JsiSkPoint","JsiSkPaint","JsiSkRect","Color","JsiSkSurfaceFactory","JsiSkRRect","JsiSkRSXform","toValue","JsiSkContourMeasureIter","JsiSkPictureRecorder","JsiSkPictureFactory","JsiSkPathFactory","JsiSkMatrix","JsiSkColorFilterFactory","JsiSkTypefaceFactory","JsiSkMaskFilterFactory","JsiSkRuntimeEffectFactory","JsiSkImageFilterFactory","JsiSkShaderFactory","JsiSkPathEffectFactory","JsiSkDataFactory","JsiSkImageFactory","JsiSkSVGFactory","JsiSkTextBlobFactory","JsiSkFontMgrFactory","JsiSkFont","MakeVertices","JsiSkApi","CanvasKit","Point","x","y","Float32Array","of","RuntimeShaderBuilder","_","Error","RRectXY","rect","rx","ry","RSXform","scos","ssin","tx","ty","ContourMeasureIter","path","forceClosed","resScale","Paint","PictureRecorder","Picture","Path","Matrix","matrix","identity","ColorFilter","Font","typeface","size","undefined","Typeface","MaskFilter","RuntimeEffect","ImageFilter","Shader","PathEffect","bind","Data","Image","SVG","TextBlob","FontMgr","XYWHRect","width","height","Surface"],"mappings":"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","sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n SkContourMeasureIter,\n Skia,\n SkPath,\n SkRect,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n SkTypeface,\n} from \"../types\";\n\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkSurfaceFactory } from \"./JsiSkSurfaceFactory\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport { toValue } from \"./Host\";\nimport { JsiSkContourMeasureIter } from \"./JsiSkContourMeasureIter\";\nimport { JsiSkPictureRecorder } from \"./JsiSkPictureRecorder\";\nimport { JsiSkPictureFactory } from \"./JsiSkPictureFactory\";\nimport { JsiSkPathFactory } from \"./JsiSkPathFactory\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkColorFilterFactory } from \"./JsiSkColorFilterFactory\";\nimport { JsiSkTypefaceFactory } from \"./JsiSkTypefaceFactory\";\nimport { JsiSkMaskFilterFactory } from \"./JsiSkMaskFilterFactory\";\nimport { JsiSkRuntimeEffectFactory } from \"./JsiSkRuntimeEffectFactory\";\nimport { JsiSkImageFilterFactory } from \"./JsiSkImageFilterFactory\";\nimport { JsiSkShaderFactory } from \"./JsiSkShaderFactory\";\nimport { JsiSkPathEffectFactory } from \"./JsiSkPathEffectFactory\";\nimport { JsiSkDataFactory } from \"./JsiSkDataFactory\";\nimport { JsiSkImageFactory } from \"./JsiSkImageFactory\";\nimport { JsiSkSVGFactory } from \"./JsiSkSVGFactory\";\nimport { JsiSkTextBlobFactory } from \"./JsiSkTextBlobFactory\";\nimport { JsiSkFontMgrFactory } from \"./JsiSkFontMgrFactory\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { MakeVertices } from \"./JsiSkVerticesFactory\";\n\nexport const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({\n Point: (x: number, y: number) =>\n new JsiSkPoint(CanvasKit, Float32Array.of(x, y)),\n RuntimeShaderBuilder: (_: SkRuntimeEffect): SkRuntimeShaderBuilder => {\n throw new Error(\"Not implemented on React Native Web\");\n },\n RRectXY: (rect: SkRect, rx: number, ry: number) =>\n new JsiSkRRect(CanvasKit, CanvasKit.RRectXY(toValue(rect), rx, ry)),\n RSXform: (scos: number, ssin: number, tx: number, ty: number) =>\n new JsiSkRSXform(CanvasKit, Float32Array.of(scos, ssin, tx, ty)),\n Color,\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ): SkContourMeasureIter =>\n new JsiSkContourMeasureIter(\n CanvasKit,\n new CanvasKit.ContourMeasureIter(toValue(path), forceClosed, resScale)\n ),\n Paint: () => new JsiSkPaint(CanvasKit, new CanvasKit.Paint()),\n PictureRecorder: () =>\n new JsiSkPictureRecorder(CanvasKit, new CanvasKit.PictureRecorder()),\n Picture: new JsiSkPictureFactory(CanvasKit),\n Path: new JsiSkPathFactory(CanvasKit),\n Matrix: (matrix?: readonly number[]) =>\n new JsiSkMatrix(\n CanvasKit,\n matrix\n ? Float32Array.of(...matrix)\n : Float32Array.of(...CanvasKit.Matrix.identity())\n ),\n ColorFilter: new JsiSkColorFilterFactory(CanvasKit),\n Font: (typeface?: SkTypeface, size?: number) =>\n new JsiSkFont(\n CanvasKit,\n new CanvasKit.Font(\n typeface === undefined ? null : toValue(typeface),\n size\n )\n ),\n Typeface: new JsiSkTypefaceFactory(CanvasKit),\n MaskFilter: new JsiSkMaskFilterFactory(CanvasKit),\n RuntimeEffect: new JsiSkRuntimeEffectFactory(CanvasKit),\n ImageFilter: new JsiSkImageFilterFactory(CanvasKit),\n Shader: new JsiSkShaderFactory(CanvasKit),\n PathEffect: new JsiSkPathEffectFactory(CanvasKit),\n MakeVertices: MakeVertices.bind(null, CanvasKit),\n Data: new JsiSkDataFactory(CanvasKit),\n Image: new JsiSkImageFactory(CanvasKit),\n SVG: new JsiSkSVGFactory(CanvasKit),\n TextBlob: new JsiSkTextBlobFactory(CanvasKit),\n FontMgr: new JsiSkFontMgrFactory(CanvasKit),\n XYWHRect: (x: number, y: number, width: number, height: number) => {\n return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(x, y, width, height));\n },\n Surface: new JsiSkSurfaceFactory(CanvasKit),\n});\n"]}
1
+ {"version":3,"sources":["JsiSkia.ts"],"names":["JsiSkPoint","JsiSkPaint","JsiSkRect","Color","JsiSkSurfaceFactory","JsiSkRRect","JsiSkRSXform","toValue","JsiSkContourMeasureIter","JsiSkPictureRecorder","JsiSkPictureFactory","JsiSkPathFactory","JsiSkMatrix","JsiSkColorFilterFactory","JsiSkTypefaceFactory","JsiSkMaskFilterFactory","JsiSkRuntimeEffectFactory","JsiSkImageFilterFactory","JsiSkShaderFactory","JsiSkPathEffectFactory","JsiSkDataFactory","JsiSkImageFactory","JsiSkSVGFactory","JsiSkTextBlobFactory","JsiSkFont","MakeVertices","JsiSkApi","CanvasKit","Point","x","y","Float32Array","of","RuntimeShaderBuilder","_","Error","RRectXY","rect","rx","ry","RSXform","scos","ssin","tx","ty","ContourMeasureIter","path","forceClosed","resScale","Paint","PictureRecorder","Picture","Path","Matrix","matrix","identity","ColorFilter","Font","typeface","size","undefined","Typeface","MaskFilter","RuntimeEffect","ImageFilter","Shader","PathEffect","bind","Data","Image","SVG","TextBlob","XYWHRect","width","height","Surface"],"mappings":"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","sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n SkContourMeasureIter,\n Skia,\n SkPath,\n SkRect,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n SkTypeface,\n} from \"../types\";\n\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkSurfaceFactory } from \"./JsiSkSurfaceFactory\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport { toValue } from \"./Host\";\nimport { JsiSkContourMeasureIter } from \"./JsiSkContourMeasureIter\";\nimport { JsiSkPictureRecorder } from \"./JsiSkPictureRecorder\";\nimport { JsiSkPictureFactory } from \"./JsiSkPictureFactory\";\nimport { JsiSkPathFactory } from \"./JsiSkPathFactory\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkColorFilterFactory } from \"./JsiSkColorFilterFactory\";\nimport { JsiSkTypefaceFactory } from \"./JsiSkTypefaceFactory\";\nimport { JsiSkMaskFilterFactory } from \"./JsiSkMaskFilterFactory\";\nimport { JsiSkRuntimeEffectFactory } from \"./JsiSkRuntimeEffectFactory\";\nimport { JsiSkImageFilterFactory } from \"./JsiSkImageFilterFactory\";\nimport { JsiSkShaderFactory } from \"./JsiSkShaderFactory\";\nimport { JsiSkPathEffectFactory } from \"./JsiSkPathEffectFactory\";\nimport { JsiSkDataFactory } from \"./JsiSkDataFactory\";\nimport { JsiSkImageFactory } from \"./JsiSkImageFactory\";\nimport { JsiSkSVGFactory } from \"./JsiSkSVGFactory\";\nimport { JsiSkTextBlobFactory } from \"./JsiSkTextBlobFactory\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { MakeVertices } from \"./JsiSkVerticesFactory\";\n\nexport const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({\n Point: (x: number, y: number) =>\n new JsiSkPoint(CanvasKit, Float32Array.of(x, y)),\n RuntimeShaderBuilder: (_: SkRuntimeEffect): SkRuntimeShaderBuilder => {\n throw new Error(\"Not implemented on React Native Web\");\n },\n RRectXY: (rect: SkRect, rx: number, ry: number) =>\n new JsiSkRRect(CanvasKit, CanvasKit.RRectXY(toValue(rect), rx, ry)),\n RSXform: (scos: number, ssin: number, tx: number, ty: number) =>\n new JsiSkRSXform(CanvasKit, Float32Array.of(scos, ssin, tx, ty)),\n Color,\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ): SkContourMeasureIter =>\n new JsiSkContourMeasureIter(\n CanvasKit,\n new CanvasKit.ContourMeasureIter(toValue(path), forceClosed, resScale)\n ),\n Paint: () => new JsiSkPaint(CanvasKit, new CanvasKit.Paint()),\n PictureRecorder: () =>\n new JsiSkPictureRecorder(CanvasKit, new CanvasKit.PictureRecorder()),\n Picture: new JsiSkPictureFactory(CanvasKit),\n Path: new JsiSkPathFactory(CanvasKit),\n Matrix: (matrix?: readonly number[]) =>\n new JsiSkMatrix(\n CanvasKit,\n matrix\n ? Float32Array.of(...matrix)\n : Float32Array.of(...CanvasKit.Matrix.identity())\n ),\n ColorFilter: new JsiSkColorFilterFactory(CanvasKit),\n Font: (typeface?: SkTypeface, size?: number) =>\n new JsiSkFont(\n CanvasKit,\n new CanvasKit.Font(\n typeface === undefined ? null : toValue(typeface),\n size\n )\n ),\n Typeface: new JsiSkTypefaceFactory(CanvasKit),\n MaskFilter: new JsiSkMaskFilterFactory(CanvasKit),\n RuntimeEffect: new JsiSkRuntimeEffectFactory(CanvasKit),\n ImageFilter: new JsiSkImageFilterFactory(CanvasKit),\n Shader: new JsiSkShaderFactory(CanvasKit),\n PathEffect: new JsiSkPathEffectFactory(CanvasKit),\n MakeVertices: MakeVertices.bind(null, CanvasKit),\n Data: new JsiSkDataFactory(CanvasKit),\n Image: new JsiSkImageFactory(CanvasKit),\n SVG: new JsiSkSVGFactory(CanvasKit),\n TextBlob: new JsiSkTextBlobFactory(CanvasKit),\n XYWHRect: (x: number, y: number, width: number, height: number) => {\n return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(x, y, width, height));\n },\n Surface: new JsiSkSurfaceFactory(CanvasKit),\n});\n"]}
@@ -11,8 +11,4 @@ import { isValue } from "../../renderer/processors/Animations";
11
11
 
12
12
  export const useComputedValue = (cb, values) => useMemo(() => ValueApi.createComputedValue(cb, values.filter(isValue)), // eslint-disable-next-line react-hooks/exhaustive-deps
13
13
  values);
14
- export const useDerivedValue = (cb, values) => {
15
- console.warn("useDerivedValue is deprecated. Use useComputedValue instead.");
16
- return useComputedValue(cb, values);
17
- };
18
14
  //# sourceMappingURL=useComputedValue.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["useComputedValue.ts"],"names":["useMemo","ValueApi","isValue","useComputedValue","cb","values","createComputedValue","filter","useDerivedValue","console","warn"],"mappings":"AAAA,SAASA,OAAT,QAAwB,OAAxB;AAEA,SAASC,QAAT,QAAyB,QAAzB;AACA,SAASC,OAAT,QAAwB,sCAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,gBAAgB,GAAG,CAAIC,EAAJ,EAAiBC,MAAjB,KAC9BL,OAAO,CACL,MAAMC,QAAQ,CAACK,mBAAT,CAAgCF,EAAhC,EAAoCC,MAAM,CAACE,MAAP,CAAcL,OAAd,CAApC,CADD,EAEL;AACAG,MAHK,CADF;AAOP,OAAO,MAAMG,eAAe,GAAG,CAAIJ,EAAJ,EAAiBC,MAAjB,KAAuC;AACpEI,EAAAA,OAAO,CAACC,IAAR,CAAa,8DAAb;AACA,SAAOP,gBAAgB,CAACC,EAAD,EAAKC,MAAL,CAAvB;AACD,CAHM","sourcesContent":["import { useMemo } from \"react\";\n\nimport { ValueApi } from \"../api\";\nimport { isValue } from \"../../renderer/processors/Animations\";\n\n/**\n * Creates a new computed value - a value that will calculate its value depending\n * on other values.\n * @param cb Callback to calculate new value\n * @param values Dependant values\n * @returns A readonly value\n */\nexport const useComputedValue = <R>(cb: () => R, values: unknown[]) =>\n useMemo(\n () => ValueApi.createComputedValue<R>(cb, values.filter(isValue)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n values\n );\n\nexport const useDerivedValue = <R>(cb: () => R, values: unknown[]) => {\n console.warn(\"useDerivedValue is deprecated. Use useComputedValue instead.\");\n return useComputedValue(cb, values);\n};\n"]}
1
+ {"version":3,"sources":["useComputedValue.ts"],"names":["useMemo","ValueApi","isValue","useComputedValue","cb","values","createComputedValue","filter"],"mappings":"AAAA,SAASA,OAAT,QAAwB,OAAxB;AAEA,SAASC,QAAT,QAAyB,QAAzB;AACA,SAASC,OAAT,QAAwB,sCAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,gBAAgB,GAAG,CAAIC,EAAJ,EAAiBC,MAAjB,KAC9BL,OAAO,CACL,MAAMC,QAAQ,CAACK,mBAAT,CAAgCF,EAAhC,EAAoCC,MAAM,CAACE,MAAP,CAAcL,OAAd,CAApC,CADD,EAEL;AACAG,MAHK,CADF","sourcesContent":["import { useMemo } from \"react\";\n\nimport { ValueApi } from \"../api\";\nimport { isValue } from \"../../renderer/processors/Animations\";\n\n/**\n * Creates a new computed value - a value that will calculate its value depending\n * on other values.\n * @param cb Callback to calculate new value\n * @param values Dependant values\n * @returns A readonly value\n */\nexport const useComputedValue = <R>(cb: () => R, values: unknown[]) =>\n useMemo(\n () => ValueApi.createComputedValue<R>(cb, values.filter(isValue)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n values\n );\n"]}