@shopify/react-native-skia 1.11.5 → 1.11.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. package/android/CMakeLists.txt +0 -1
  2. package/cpp/api/JsiSkParagraph.h +1 -3
  3. package/cpp/api/recorder/Convertor.h +19 -17
  4. package/cpp/api/recorder/Drawings.h +7 -10
  5. package/cpp/jsi/ViewProperty.h +1 -3
  6. package/lib/commonjs/animation/functions/interpolateColors.d.ts +1 -1
  7. package/lib/commonjs/dom/nodes/datatypes/Gradient.d.ts +2 -2
  8. package/lib/commonjs/dom/types/NodeType.js +8 -0
  9. package/lib/commonjs/dom/types/NodeType.js.map +1 -1
  10. package/lib/commonjs/external/reanimated/buffers.d.ts +1 -1
  11. package/lib/commonjs/renderer/Canvas.d.ts +3 -2
  12. package/lib/commonjs/renderer/Canvas.js +4 -2
  13. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  14. package/lib/commonjs/renderer/__tests__/setup.d.ts +1 -1
  15. package/lib/commonjs/skia/types/Image/ColorType.js +20 -2
  16. package/lib/commonjs/skia/types/Image/ColorType.js.map +1 -1
  17. package/lib/commonjs/skia/types/Image/ColorType.web.js +18 -2
  18. package/lib/commonjs/skia/types/Image/ColorType.web.js.map +1 -1
  19. package/lib/commonjs/skia/types/ImageFilter/ImageFilter.js +14 -0
  20. package/lib/commonjs/skia/types/ImageFilter/ImageFilter.js.map +1 -1
  21. package/lib/commonjs/skia/types/MaskFilter.js +5 -2
  22. package/lib/commonjs/skia/types/MaskFilter.js.map +1 -1
  23. package/lib/commonjs/skia/types/Paint/BlendMode.js +31 -2
  24. package/lib/commonjs/skia/types/Paint/BlendMode.js.map +1 -1
  25. package/lib/commonjs/skia/types/Paragraph/ParagraphBuilder.js +14 -0
  26. package/lib/commonjs/skia/types/Paragraph/ParagraphBuilder.js.map +1 -1
  27. package/lib/commonjs/skia/types/Path/Path.js +4 -0
  28. package/lib/commonjs/skia/types/Path/Path.js.map +1 -1
  29. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +1 -1
  30. package/lib/commonjs/skia/web/JsiSkImage.d.ts +2 -2
  31. package/lib/commonjs/skia/web/JsiSkPaint.d.ts +1 -1
  32. package/lib/commonjs/skia/web/JsiSkPicture.d.ts +1 -1
  33. package/lib/commonjs/skia/web/JsiSkPoint.d.ts +1 -1
  34. package/lib/commonjs/skia/web/JsiSkRRect.d.ts +1 -1
  35. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -1
  36. package/lib/commonjs/skia/web/JsiSkRect.d.ts +1 -1
  37. package/lib/commonjs/sksg/Container.d.ts +1 -4
  38. package/lib/commonjs/sksg/Container.js +8 -9
  39. package/lib/commonjs/sksg/Container.js.map +1 -1
  40. package/lib/commonjs/sksg/Recorder/Core.js +2 -0
  41. package/lib/commonjs/sksg/Recorder/Core.js.map +1 -1
  42. package/lib/commonjs/specs/NativeSkiaModule.web.d.ts +6 -0
  43. package/lib/commonjs/specs/NativeSkiaModule.web.js +33 -0
  44. package/lib/commonjs/specs/NativeSkiaModule.web.js.map +1 -1
  45. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.web.d.ts +9 -0
  46. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.web.js +32 -0
  47. package/lib/commonjs/specs/SkiaPictureViewNativeComponent.web.js.map +1 -0
  48. package/lib/commonjs/views/types.d.ts +1 -0
  49. package/lib/commonjs/views/types.js.map +1 -1
  50. package/lib/commonjs/web/LoadSkiaWeb.js +1 -2
  51. package/lib/commonjs/web/LoadSkiaWeb.js.map +1 -1
  52. package/lib/module/animation/functions/interpolateColors.d.ts +1 -1
  53. package/lib/module/dom/nodes/datatypes/Gradient.d.ts +2 -2
  54. package/lib/module/dom/types/NodeType.js +8 -0
  55. package/lib/module/dom/types/NodeType.js.map +1 -1
  56. package/lib/module/external/reanimated/buffers.d.ts +1 -1
  57. package/lib/module/renderer/Canvas.d.ts +3 -2
  58. package/lib/module/renderer/Canvas.js +1 -1
  59. package/lib/module/renderer/Canvas.js.map +1 -1
  60. package/lib/module/renderer/__tests__/setup.d.ts +1 -1
  61. package/lib/module/skia/types/Image/ColorType.js +20 -2
  62. package/lib/module/skia/types/Image/ColorType.js.map +1 -1
  63. package/lib/module/skia/types/Image/ColorType.web.js +18 -2
  64. package/lib/module/skia/types/Image/ColorType.web.js.map +1 -1
  65. package/lib/module/skia/types/ImageFilter/ImageFilter.js +14 -0
  66. package/lib/module/skia/types/ImageFilter/ImageFilter.js.map +1 -1
  67. package/lib/module/skia/types/MaskFilter.js +5 -2
  68. package/lib/module/skia/types/MaskFilter.js.map +1 -1
  69. package/lib/module/skia/types/Paint/BlendMode.js +31 -2
  70. package/lib/module/skia/types/Paint/BlendMode.js.map +1 -1
  71. package/lib/module/skia/types/Paragraph/ParagraphBuilder.js +14 -0
  72. package/lib/module/skia/types/Paragraph/ParagraphBuilder.js.map +1 -1
  73. package/lib/module/skia/types/Path/Path.js +4 -0
  74. package/lib/module/skia/types/Path/Path.js.map +1 -1
  75. package/lib/module/skia/web/JsiSkCanvas.d.ts +1 -1
  76. package/lib/module/skia/web/JsiSkImage.d.ts +2 -2
  77. package/lib/module/skia/web/JsiSkPaint.d.ts +1 -1
  78. package/lib/module/skia/web/JsiSkPicture.d.ts +1 -1
  79. package/lib/module/skia/web/JsiSkPoint.d.ts +1 -1
  80. package/lib/module/skia/web/JsiSkRRect.d.ts +1 -1
  81. package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -1
  82. package/lib/module/skia/web/JsiSkRect.d.ts +1 -1
  83. package/lib/module/sksg/Container.d.ts +1 -4
  84. package/lib/module/sksg/Container.js +8 -9
  85. package/lib/module/sksg/Container.js.map +1 -1
  86. package/lib/module/sksg/Recorder/Core.js +2 -0
  87. package/lib/module/sksg/Recorder/Core.js.map +1 -1
  88. package/lib/module/specs/NativeSkiaModule.web.d.ts +6 -0
  89. package/lib/module/specs/NativeSkiaModule.web.js +30 -1
  90. package/lib/module/specs/NativeSkiaModule.web.js.map +1 -1
  91. package/lib/module/specs/SkiaPictureViewNativeComponent.web.d.ts +9 -0
  92. package/lib/module/specs/SkiaPictureViewNativeComponent.web.js +26 -0
  93. package/lib/module/specs/SkiaPictureViewNativeComponent.web.js.map +1 -0
  94. package/lib/module/views/types.d.ts +1 -0
  95. package/lib/module/views/types.js.map +1 -1
  96. package/lib/typescript/lib/commonjs/animation/functions/interpolateColors.d.ts +1 -1
  97. package/lib/typescript/lib/commonjs/renderer/Canvas.d.ts +2 -3
  98. package/lib/typescript/lib/commonjs/renderer/components/image/ImageShader.d.ts +1 -1
  99. package/lib/typescript/lib/commonjs/skia/web/JsiSkColor.d.ts +1 -1
  100. package/lib/typescript/lib/commonjs/skia/web/JsiSkia.d.ts +1 -1
  101. package/lib/typescript/lib/commonjs/specs/NativeSkiaModule.web.d.ts +1 -0
  102. package/lib/typescript/lib/commonjs/specs/SkiaPictureViewNativeComponent.web.d.ts +10 -0
  103. package/lib/typescript/lib/module/animation/functions/interpolateColors.d.ts +1 -1
  104. package/lib/typescript/lib/module/mock/index.d.ts +2 -2
  105. package/lib/typescript/lib/module/renderer/Canvas.d.ts +3 -2
  106. package/lib/typescript/lib/module/renderer/components/image/ImageShader.d.ts +1 -1
  107. package/lib/typescript/lib/module/skia/Skia.web.d.ts +1 -1
  108. package/lib/typescript/lib/module/skia/web/JsiSkColor.d.ts +1 -1
  109. package/lib/typescript/lib/module/skia/web/JsiSkia.d.ts +1 -1
  110. package/lib/typescript/lib/module/specs/NativeSkiaModule.web.d.ts +1 -0
  111. package/lib/typescript/lib/module/specs/SkiaPictureViewNativeComponent.web.d.ts +9 -0
  112. package/lib/typescript/src/animation/functions/interpolateColors.d.ts +1 -1
  113. package/lib/typescript/src/dom/nodes/datatypes/Gradient.d.ts +2 -2
  114. package/lib/typescript/src/external/reanimated/buffers.d.ts +1 -1
  115. package/lib/typescript/src/renderer/Canvas.d.ts +3 -2
  116. package/lib/typescript/src/renderer/__tests__/setup.d.ts +1 -1
  117. package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +1 -1
  118. package/lib/typescript/src/skia/web/JsiSkImage.d.ts +2 -2
  119. package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +1 -1
  120. package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +1 -1
  121. package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +1 -1
  122. package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +1 -1
  123. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -1
  124. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +1 -1
  125. package/lib/typescript/src/sksg/Container.d.ts +1 -4
  126. package/lib/typescript/src/specs/NativeSkiaModule.web.d.ts +6 -0
  127. package/lib/typescript/src/specs/SkiaPictureViewNativeComponent.web.d.ts +9 -0
  128. package/lib/typescript/src/views/types.d.ts +1 -0
  129. package/package.json +1 -1
  130. package/src/renderer/Canvas.tsx +1 -1
  131. package/src/sksg/Container.ts +7 -12
  132. package/src/specs/NativeSkiaModule.web.ts +38 -0
  133. package/src/specs/SkiaPictureViewNativeComponent.web.ts +39 -0
  134. package/src/views/types.ts +1 -0
  135. package/cpp/jsi/JsiValue.cpp +0 -345
  136. package/cpp/jsi/JsiValue.h +0 -222
  137. package/lib/commonjs/renderer/Canvas.web.d.ts +0 -11
  138. package/lib/commonjs/renderer/Canvas.web.js +0 -112
  139. package/lib/commonjs/renderer/Canvas.web.js.map +0 -1
  140. package/lib/module/renderer/Canvas.web.d.ts +0 -11
  141. package/lib/module/renderer/Canvas.web.js +0 -105
  142. package/lib/module/renderer/Canvas.web.js.map +0 -1
  143. package/lib/typescript/lib/commonjs/renderer/Canvas.web.d.ts +0 -2
  144. package/lib/typescript/lib/module/renderer/Canvas.web.d.ts +0 -2
  145. package/lib/typescript/src/renderer/Canvas.web.d.ts +0 -11
  146. package/src/renderer/Canvas.web.tsx +0 -134
@@ -80,7 +80,6 @@ add_library(
80
80
  "${PROJECT_SOURCE_DIR}/cpp/rnskia-android/RNSkAndroidVideo.cpp"
81
81
 
82
82
  "${PROJECT_SOURCE_DIR}/../cpp/jsi/JsiHostObject.cpp"
83
- "${PROJECT_SOURCE_DIR}/../cpp/jsi/JsiValue.cpp"
84
83
  "${PROJECT_SOURCE_DIR}/../cpp/jsi/RuntimeLifecycleMonitor.cpp"
85
84
  "${PROJECT_SOURCE_DIR}/../cpp/jsi/RuntimeAwareCache.cpp"
86
85
  "${PROJECT_SOURCE_DIR}/../cpp/jsi/JsiPromises.cpp"
@@ -150,9 +150,7 @@ public:
150
150
  _paragraph = paragraphBuilder->Build();
151
151
  }
152
152
 
153
- para::Paragraph *getParagraph() { return _paragraph.get(); }
154
-
155
- private:
153
+ public:
156
154
  std::unique_ptr<para::Paragraph> _paragraph;
157
155
  };
158
156
 
@@ -39,7 +39,6 @@ struct GlyphData {
39
39
  std::vector<SkPoint> positions;
40
40
  };
41
41
 
42
-
43
42
  bool isSharedValue(jsi::Runtime &runtime, const jsi::Value &value) {
44
43
  return value.isObject() &&
45
44
  value.asObject(runtime).hasProperty(runtime,
@@ -393,17 +392,15 @@ GlyphData getPropertyValue(jsi::Runtime &runtime, const jsi::Value &value) {
393
392
  size_t size = array.size(runtime);
394
393
  result.glyphIds.reserve(size);
395
394
  result.positions.reserve(size);
396
-
395
+
397
396
  for (size_t i = 0; i < size; i++) {
398
397
  auto glyph = array.getValueAtIndex(runtime, i).asObject(runtime);
399
398
  // Get the glyph id
400
399
  result.glyphIds.push_back(
401
- static_cast<SkGlyphID>(glyph.getProperty(runtime, "id").asNumber())
402
- );
400
+ static_cast<SkGlyphID>(glyph.getProperty(runtime, "id").asNumber()));
403
401
  // Get the position
404
402
  result.positions.push_back(
405
- processPoint(runtime, glyph.getProperty(runtime, "pos"))
406
- );
403
+ processPoint(runtime, glyph.getProperty(runtime, "pos")));
407
404
  }
408
405
  return result;
409
406
  }
@@ -422,7 +419,8 @@ SkRSXform getPropertyValue(jsi::Runtime &runtime, const jsi::Value &value) {
422
419
  }
423
420
 
424
421
  template <>
425
- sk_sp<SkSVGDOM> getPropertyValue(jsi::Runtime &runtime, const jsi::Value &value) {
422
+ sk_sp<SkSVGDOM> getPropertyValue(jsi::Runtime &runtime,
423
+ const jsi::Value &value) {
426
424
  if (value.isObject() && value.asObject(runtime).isHostObject(runtime)) {
427
425
  auto ptr = std::dynamic_pointer_cast<JsiSkSVG>(
428
426
  value.asObject(runtime).asHostObject(runtime));
@@ -432,7 +430,8 @@ sk_sp<SkSVGDOM> getPropertyValue(jsi::Runtime &runtime, const jsi::Value &value)
432
430
  } else if (value.isNull()) {
433
431
  return nullptr;
434
432
  }
435
- throw std::runtime_error("Expected SkSvgDom object or null for the svg property.");
433
+ throw std::runtime_error(
434
+ "Expected SkSvgDom object or null for the svg property.");
436
435
  }
437
436
 
438
437
  template <>
@@ -458,18 +457,21 @@ SkPaint getPropertyValue(jsi::Runtime &runtime, const jsi::Value &value) {
458
457
  }
459
458
 
460
459
  template <>
461
- para::Paragraph *getPropertyValue(jsi::Runtime &runtime,
462
- const jsi::Value &value) {
460
+ std::shared_ptr<JsiSkParagraph> getPropertyValue(jsi::Runtime &runtime,
461
+ const jsi::Value &value) {
463
462
  if (value.isObject()) {
464
- auto para = value.asObject(runtime)
465
- .asHostObject<JsiSkParagraph>(runtime)
466
- ->getParagraph();
463
+ auto hostObject = value.asObject(runtime).asHostObject(runtime);
464
+ if (!hostObject) {
465
+ return nullptr;
466
+ }
467
+ auto para = std::dynamic_pointer_cast<JsiSkParagraph>(hostObject);
468
+ if (!para) {
469
+ return nullptr;
470
+ }
471
+ // Return a shared_ptr instead of raw pointer
467
472
  return para;
468
473
  }
469
- if (value.isNull()) {
470
- return nullptr;
471
- }
472
- throw std::runtime_error("Invalid prop value for Paragraph received");
474
+ return nullptr;
473
475
  }
474
476
 
475
477
  template <>
@@ -766,15 +766,12 @@ public:
766
766
  convertProperty(runtime, object, "glyphs", props.glyphs, variables);
767
767
  }
768
768
 
769
- void draw(DrawingCtx *ctx) {
769
+ void draw(DrawingCtx *ctx) {
770
770
  if (props.font.has_value()) {
771
771
  ctx->canvas->drawGlyphs(
772
772
  static_cast<int>(props.glyphs.glyphIds.size()),
773
- props.glyphs.glyphIds.data(),
774
- props.glyphs.positions.data(),
775
- SkPoint::Make(props.x, props.y),
776
- props.font.value(),
777
- ctx->getPaint());
773
+ props.glyphs.glyphIds.data(), props.glyphs.positions.data(),
774
+ SkPoint::Make(props.x, props.y), props.font.value(), ctx->getPaint());
778
775
  }
779
776
  }
780
777
  };
@@ -856,7 +853,7 @@ public:
856
853
  };
857
854
 
858
855
  struct ParagraphCmdProps {
859
- para::Paragraph *paragraph;
856
+ std::shared_ptr<JsiSkParagraph> paragraph;
860
857
  float x;
861
858
  float y;
862
859
  float width;
@@ -877,9 +874,9 @@ public:
877
874
  }
878
875
 
879
876
  void draw(DrawingCtx *ctx) {
880
- if (props.paragraph) {
881
- props.paragraph->layout(props.width);
882
- props.paragraph->paint(ctx->canvas, props.x, props.y);
877
+ if (props.paragraph && props.paragraph->_paragraph) {
878
+ props.paragraph->_paragraph->layout(props.width);
879
+ props.paragraph->_paragraph->paint(ctx->canvas, props.x, props.y);
883
880
  }
884
881
  }
885
882
  };
@@ -28,11 +28,9 @@ public:
28
28
 
29
29
  bool isNull() { return std::holds_alternative<nullptr_t>(_value); }
30
30
 
31
-
32
31
  sk_sp<SkPicture> getPicture() { return std::get<sk_sp<SkPicture>>(_value); }
33
32
 
34
33
  private:
35
- std::variant<nullptr_t, sk_sp<SkPicture>>
36
- _value = nullptr;
34
+ std::variant<nullptr_t, sk_sp<SkPicture>> _value = nullptr;
37
35
  };
38
36
  } // namespace RNJsi
@@ -1,3 +1,3 @@
1
1
  import type { Color } from "../../skia";
2
2
  export declare const interpolateColors: (value: number, inputRange: number[], _outputRange: Color[]) => number[];
3
- export declare const mixColors: (value: number, x: Color, y: Color) => Float32Array;
3
+ export declare const mixColors: (value: number, x: Color, y: Color) => Float32Array<ArrayBuffer>;
@@ -242,9 +242,9 @@ export declare const transformOrigin: (origin: Vector, transform: Transforms3d)
242
242
  rotateY: number;
243
243
  matrix: import("../../../skia/types").Matrix4;
244
244
  }, "matrix">)[];
245
- export declare const processColor: (Skia: Skia, color: number | string | Float32Array | number[]) => Float32Array;
245
+ export declare const processColor: (Skia: Skia, color: number | string | Float32Array | number[]) => import("../../../skia/types").SkColor;
246
246
  export declare const processGradientProps: (Skia: Skia, { colors, positions, mode, flags, ...transform }: GradientProps) => {
247
- colors: Float32Array[];
247
+ colors: import("../../../skia/types").SkColor[];
248
248
  positions: number[] | null;
249
249
  mode: TileMode;
250
250
  flags: number | undefined;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.NodeType = void 0;
7
7
  let NodeType = exports.NodeType = /*#__PURE__*/function (NodeType) {
8
+ // Shaders
8
9
  NodeType["Layer"] = "skLayer";
9
10
  NodeType["Shader"] = "skShader";
10
11
  NodeType["ImageShader"] = "skImageShader";
@@ -15,7 +16,9 @@ let NodeType = exports.NodeType = /*#__PURE__*/function (NodeType) {
15
16
  NodeType["RadialGradient"] = "skRadialGradient";
16
17
  NodeType["SweepGradient"] = "skSweepGradient";
17
18
  NodeType["TwoPointConicalGradient"] = "skTwoPointConicalGradient";
19
+ // Mask Filters
18
20
  NodeType["BlurMaskFilter"] = "skBlurMaskFilter";
21
+ // Path Effects
19
22
  NodeType["DiscretePathEffect"] = "skDiscretePathEffect";
20
23
  NodeType["DashPathEffect"] = "skDashPathEffect";
21
24
  NodeType["Path1DPathEffect"] = "skPath1DPathEffect";
@@ -23,12 +26,14 @@ let NodeType = exports.NodeType = /*#__PURE__*/function (NodeType) {
23
26
  NodeType["CornerPathEffect"] = "skCornerPathEffect";
24
27
  NodeType["SumPathEffect"] = "skSumPathEffect";
25
28
  NodeType["Line2DPathEffect"] = "skLine2DPathEffect";
29
+ // Color Filters
26
30
  NodeType["MatrixColorFilter"] = "skMatrixColorFilter";
27
31
  NodeType["BlendColorFilter"] = "skBlendColorFilter";
28
32
  NodeType["LinearToSRGBGammaColorFilter"] = "skLinearToSRGBGammaColorFilter";
29
33
  NodeType["SRGBToLinearGammaColorFilter"] = "skSRGBToLinearGammaColorFilter";
30
34
  NodeType["LumaColorFilter"] = "skLumaColorFilter";
31
35
  NodeType["LerpColorFilter"] = "skLerpColorFilter";
36
+ // Image Filters
32
37
  NodeType["OffsetImageFilter"] = "skOffsetImageFilter";
33
38
  NodeType["DisplacementMapImageFilter"] = "skDisplacementMapImageFilter";
34
39
  NodeType["BlurImageFilter"] = "skBlurImageFilter";
@@ -36,10 +41,12 @@ let NodeType = exports.NodeType = /*#__PURE__*/function (NodeType) {
36
41
  NodeType["MorphologyImageFilter"] = "skMorphologyImageFilter";
37
42
  NodeType["BlendImageFilter"] = "skBlendImageFilter";
38
43
  NodeType["RuntimeShaderImageFilter"] = "skRuntimeShaderImageFilter";
44
+ // Mixed
39
45
  NodeType["Blend"] = "skBlend";
40
46
  NodeType["BackdropFilter"] = "skBackdropFilter";
41
47
  NodeType["Box"] = "skBox";
42
48
  NodeType["BoxShadow"] = "skBoxShadow";
49
+ // Drawings
43
50
  NodeType["Group"] = "skGroup";
44
51
  NodeType["Paint"] = "skPaint";
45
52
  NodeType["Circle"] = "skCircle";
@@ -61,6 +68,7 @@ let NodeType = exports.NodeType = /*#__PURE__*/function (NodeType) {
61
68
  NodeType["Picture"] = "skPicture";
62
69
  NodeType["ImageSVG"] = "skImageSVG";
63
70
  NodeType["Atlas"] = "skAtlas";
71
+ // Paragraph
64
72
  NodeType["Paragraph"] = "skParagraph";
65
73
  return NodeType;
66
74
  }({});
@@ -1 +1 @@
1
- {"version":3,"names":["NodeType","exports"],"sources":["NodeType.ts"],"sourcesContent":["export const enum NodeType {\n // Shaders\n Layer = \"skLayer\",\n Shader = \"skShader\",\n ImageShader = \"skImageShader\",\n ColorShader = \"skColorShader\",\n Turbulence = \"skTurbulence\",\n FractalNoise = \"skFractalNoise\",\n LinearGradient = \"skLinearGradient\",\n RadialGradient = \"skRadialGradient\",\n SweepGradient = \"skSweepGradient\",\n TwoPointConicalGradient = \"skTwoPointConicalGradient\",\n\n // Mask Filters\n BlurMaskFilter = \"skBlurMaskFilter\",\n\n // Path Effects\n DiscretePathEffect = \"skDiscretePathEffect\",\n DashPathEffect = \"skDashPathEffect\",\n Path1DPathEffect = \"skPath1DPathEffect\",\n Path2DPathEffect = \"skPath2DPathEffect\",\n CornerPathEffect = \"skCornerPathEffect\",\n SumPathEffect = \"skSumPathEffect\",\n Line2DPathEffect = \"skLine2DPathEffect\",\n\n // Color Filters\n MatrixColorFilter = \"skMatrixColorFilter\",\n BlendColorFilter = \"skBlendColorFilter\",\n LinearToSRGBGammaColorFilter = \"skLinearToSRGBGammaColorFilter\",\n SRGBToLinearGammaColorFilter = \"skSRGBToLinearGammaColorFilter\",\n LumaColorFilter = \"skLumaColorFilter\",\n LerpColorFilter = \"skLerpColorFilter\",\n\n // Image Filters\n OffsetImageFilter = \"skOffsetImageFilter\",\n DisplacementMapImageFilter = \"skDisplacementMapImageFilter\",\n BlurImageFilter = \"skBlurImageFilter\",\n DropShadowImageFilter = \"skDropShadowImageFilter\",\n MorphologyImageFilter = \"skMorphologyImageFilter\",\n BlendImageFilter = \"skBlendImageFilter\",\n RuntimeShaderImageFilter = \"skRuntimeShaderImageFilter\",\n\n // Mixed\n Blend = \"skBlend\",\n BackdropFilter = \"skBackdropFilter\",\n Box = \"skBox\",\n BoxShadow = \"skBoxShadow\",\n\n // Drawings\n Group = \"skGroup\",\n Paint = \"skPaint\",\n Circle = \"skCircle\",\n Fill = \"skFill\",\n Image = \"skImage\",\n Points = \"skPoints\",\n Path = \"skPath\",\n Rect = \"skRect\",\n RRect = \"skRRect\",\n Oval = \"skOval\",\n Line = \"skLine\",\n Patch = \"skPatch\",\n Vertices = \"skVertices\",\n DiffRect = \"skDiffRect\",\n Text = \"skText\",\n TextPath = \"skTextPath\",\n TextBlob = \"skTextBlob\",\n Glyphs = \"skGlyphs\",\n Picture = \"skPicture\",\n ImageSVG = \"skImageSVG\",\n Atlas = \"skAtlas\",\n\n // Paragraph\n Paragraph = \"skParagraph\",\n}\n"],"mappings":";;;;;;IAAkBA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["NodeType","exports"],"sources":["NodeType.ts"],"sourcesContent":["export const enum NodeType {\n // Shaders\n Layer = \"skLayer\",\n Shader = \"skShader\",\n ImageShader = \"skImageShader\",\n ColorShader = \"skColorShader\",\n Turbulence = \"skTurbulence\",\n FractalNoise = \"skFractalNoise\",\n LinearGradient = \"skLinearGradient\",\n RadialGradient = \"skRadialGradient\",\n SweepGradient = \"skSweepGradient\",\n TwoPointConicalGradient = \"skTwoPointConicalGradient\",\n\n // Mask Filters\n BlurMaskFilter = \"skBlurMaskFilter\",\n\n // Path Effects\n DiscretePathEffect = \"skDiscretePathEffect\",\n DashPathEffect = \"skDashPathEffect\",\n Path1DPathEffect = \"skPath1DPathEffect\",\n Path2DPathEffect = \"skPath2DPathEffect\",\n CornerPathEffect = \"skCornerPathEffect\",\n SumPathEffect = \"skSumPathEffect\",\n Line2DPathEffect = \"skLine2DPathEffect\",\n\n // Color Filters\n MatrixColorFilter = \"skMatrixColorFilter\",\n BlendColorFilter = \"skBlendColorFilter\",\n LinearToSRGBGammaColorFilter = \"skLinearToSRGBGammaColorFilter\",\n SRGBToLinearGammaColorFilter = \"skSRGBToLinearGammaColorFilter\",\n LumaColorFilter = \"skLumaColorFilter\",\n LerpColorFilter = \"skLerpColorFilter\",\n\n // Image Filters\n OffsetImageFilter = \"skOffsetImageFilter\",\n DisplacementMapImageFilter = \"skDisplacementMapImageFilter\",\n BlurImageFilter = \"skBlurImageFilter\",\n DropShadowImageFilter = \"skDropShadowImageFilter\",\n MorphologyImageFilter = \"skMorphologyImageFilter\",\n BlendImageFilter = \"skBlendImageFilter\",\n RuntimeShaderImageFilter = \"skRuntimeShaderImageFilter\",\n\n // Mixed\n Blend = \"skBlend\",\n BackdropFilter = \"skBackdropFilter\",\n Box = \"skBox\",\n BoxShadow = \"skBoxShadow\",\n\n // Drawings\n Group = \"skGroup\",\n Paint = \"skPaint\",\n Circle = \"skCircle\",\n Fill = \"skFill\",\n Image = \"skImage\",\n Points = \"skPoints\",\n Path = \"skPath\",\n Rect = \"skRect\",\n RRect = \"skRRect\",\n Oval = \"skOval\",\n Line = \"skLine\",\n Patch = \"skPatch\",\n Vertices = \"skVertices\",\n DiffRect = \"skDiffRect\",\n Text = \"skText\",\n TextPath = \"skTextPath\",\n TextBlob = \"skTextBlob\",\n Glyphs = \"skGlyphs\",\n Picture = \"skPicture\",\n ImageSVG = \"skImageSVG\",\n Atlas = \"skAtlas\",\n\n // Paragraph\n Paragraph = \"skParagraph\",\n}\n"],"mappings":";;;;;;IAAkBA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,0BAARA,QAAQ;EACxB;EADgBA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAaxB;EAbgBA,QAAQ;EAgBxB;EAhBgBA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAyBxB;EAzBgBA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAiCxB;EAjCgBA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EA0CxB;EA1CgBA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAgDxB;EAhDgBA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAuExB;EAvEgBA,QAAQ;EAAA,OAARA,QAAQ;AAAA","ignoreList":[]}
@@ -3,5 +3,5 @@ type Modifier<T> = (input: T, index: number) => void;
3
3
  export declare const useRectBuffer: (size: number, modifier: Modifier<SkHostRect>) => import("react-native-reanimated/lib/typescript/commonTypes").Mutable<SkHostRect[]>;
4
4
  export declare const useRSXformBuffer: (size: number, modifier: Modifier<SkRSXform>) => import("react-native-reanimated/lib/typescript/commonTypes").Mutable<SkRSXform[]>;
5
5
  export declare const usePointBuffer: (size: number, modifier: Modifier<SkPoint>) => import("react-native-reanimated/lib/typescript/commonTypes").Mutable<SkPoint[]>;
6
- export declare const useColorBuffer: (size: number, modifier: Modifier<SkColor>) => import("react-native-reanimated/lib/typescript/commonTypes").Mutable<Float32Array[]>;
6
+ export declare const useColorBuffer: (size: number, modifier: Modifier<SkColor>) => import("react-native-reanimated/lib/typescript/commonTypes").Mutable<SkColor[]>;
7
7
  export {};
@@ -1,4 +1,5 @@
1
1
  import type { FC } from "react";
2
+ import React from "react";
2
3
  import type { ViewProps } from "react-native";
3
4
  import type { SharedValue } from "react-native-reanimated";
4
5
  import type { SkImage, SkRect, SkSize } from "../skia/types";
@@ -8,12 +9,12 @@ interface CanvasRef extends FC<CanvasProps> {
8
9
  redraw(): void;
9
10
  getNativeId(): number;
10
11
  }
11
- export declare const useCanvasRef: () => import("react").RefObject<CanvasRef>;
12
+ export declare const useCanvasRef: () => React.RefObject<CanvasRef>;
12
13
  export interface CanvasProps extends ViewProps {
13
14
  debug?: boolean;
14
15
  opaque?: boolean;
15
16
  onSize?: SharedValue<SkSize>;
16
17
  mode?: "continuous" | "default";
17
18
  }
18
- export declare const Canvas: import("react").ForwardRefExoticComponent<CanvasProps & import("react").RefAttributes<unknown>>;
19
+ export declare const Canvas: React.ForwardRefExoticComponent<CanvasProps & React.RefAttributes<unknown>>;
19
20
  export {};
@@ -4,12 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useCanvasRef = exports.Canvas = void 0;
7
- var _react = require("react");
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _SkiaViewNativeId = require("../views/SkiaViewNativeId");
9
9
  var _SkiaPictureViewNativeComponent = _interopRequireDefault(require("../specs/SkiaPictureViewNativeComponent"));
10
10
  var _Reconciler = require("../sksg/Reconciler");
11
11
  var _skia = require("../skia");
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
15
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
14
16
  const useCanvasRef = () => (0, _react.useRef)(null);
15
17
  exports.useCanvasRef = useCanvasRef;
@@ -95,7 +97,7 @@ const Canvas = exports.Canvas = /*#__PURE__*/(0, _react.forwardRef)(({
95
97
  return nativeId;
96
98
  }
97
99
  }));
98
- return /*#__PURE__*/React.createElement(NativeSkiaPictureView, _extends({
100
+ return /*#__PURE__*/_react.default.createElement(NativeSkiaPictureView, _extends({
99
101
  collapsable: false,
100
102
  nativeID: `${nativeId}`,
101
103
  debug: debug,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_SkiaViewNativeId","_SkiaPictureViewNativeComponent","_interopRequireDefault","_Reconciler","_skia","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","useCanvasRef","useRef","exports","NativeSkiaPictureView","SkiaPictureViewNativeComponent","useOnSizeEvent","resultValue","onLayout","useCallback","event","width","height","nativeEvent","layout","value","Canvas","forwardRef","mode","debug","opaque","children","onSize","_onLayout","viewProps","ref","rafId","nativeId","useMemo","SkiaViewNativeId","current","root","SkiaSGRoot","Skia","useEffect","render","unmount","requestRedraw","requestAnimationFrame","console","warn","cancelAnimationFrame","useImperativeHandle","makeImageSnapshot","rect","SkiaViewApi","makeImageSnapshotAsync","redraw","getNativeId","React","createElement","collapsable","nativeID"],"sources":["Canvas.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from \"react\";\nimport type { LayoutChangeEvent, ViewProps } from \"react-native\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport { SkiaViewNativeId } from \"../views/SkiaViewNativeId\";\nimport SkiaPictureViewNativeComponent from \"../specs/SkiaPictureViewNativeComponent\";\nimport type { SkImage, SkRect, SkSize } from \"../skia/types\";\nimport { SkiaSGRoot } from \"../sksg/Reconciler\";\nimport { Skia } from \"../skia\";\nimport type { SkiaBaseViewProps } from \"../views\";\n\ninterface CanvasRef extends FC<CanvasProps> {\n makeImageSnapshot(rect?: SkRect): SkImage;\n makeImageSnapshotAsync(rect?: SkRect): Promise<SkImage>;\n redraw(): void;\n getNativeId(): number;\n}\n\nexport const useCanvasRef = () => useRef<CanvasRef>(null);\n\nconst NativeSkiaPictureView = SkiaPictureViewNativeComponent;\n\n// TODO: no need to go through the JS thread for this\nconst useOnSizeEvent = (\n resultValue: SkiaBaseViewProps[\"onSize\"],\n onLayout?: (event: LayoutChangeEvent) => void\n) => {\n return useCallback(\n (event: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(event);\n }\n const { width, height } = event.nativeEvent.layout;\n\n if (resultValue) {\n resultValue.value = { width, height };\n }\n },\n [onLayout, resultValue]\n );\n};\n\nexport interface CanvasProps extends ViewProps {\n debug?: boolean;\n opaque?: boolean;\n onSize?: SharedValue<SkSize>;\n mode?: \"continuous\" | \"default\";\n}\n\nexport const Canvas = forwardRef(\n (\n {\n mode,\n debug,\n opaque,\n children,\n onSize,\n onLayout: _onLayout,\n ...viewProps\n }: CanvasProps,\n ref\n ) => {\n const rafId = useRef<number | null>(null);\n const onLayout = useOnSizeEvent(onSize, _onLayout);\n // Native ID\n const nativeId = useMemo(() => {\n return SkiaViewNativeId.current++;\n }, []);\n\n // Root\n const root = useMemo(() => new SkiaSGRoot(Skia, nativeId), [nativeId]);\n\n // Render effects\n useEffect(() => {\n root.render(children);\n }, [children, root]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n const requestRedraw = useCallback(() => {\n rafId.current = requestAnimationFrame(() => {\n root.render(children);\n if (mode === \"continuous\") {\n requestRedraw();\n }\n });\n }, [children, mode, root]);\n\n useEffect(() => {\n if (mode === \"continuous\") {\n console.warn(\"The `mode` property in `Canvas` is deprecated.\");\n requestRedraw();\n }\n return () => {\n if (rafId.current !== null) {\n cancelAnimationFrame(rafId.current);\n }\n };\n }, [mode, requestRedraw]);\n // Component methods\n useImperativeHandle(ref, () => ({\n makeImageSnapshot: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshot(nativeId, rect);\n },\n makeImageSnapshotAsync: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshotAsync(nativeId, rect);\n },\n redraw: () => {\n SkiaViewApi.requestRedraw(nativeId);\n },\n getNativeId: () => {\n return nativeId;\n },\n }));\n return (\n <NativeSkiaPictureView\n collapsable={false}\n nativeID={`${nativeId}`}\n debug={debug}\n opaque={opaque}\n onLayout={onLayout}\n {...viewProps}\n />\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_SkiaViewNativeId","_SkiaPictureViewNativeComponent","_interopRequireDefault","_Reconciler","_skia","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","useCanvasRef","useRef","exports","NativeSkiaPictureView","SkiaPictureViewNativeComponent","useOnSizeEvent","resultValue","onLayout","useCallback","event","width","height","nativeEvent","layout","value","Canvas","forwardRef","mode","debug","opaque","children","onSize","_onLayout","viewProps","ref","rafId","nativeId","useMemo","SkiaViewNativeId","current","root","SkiaSGRoot","Skia","useEffect","render","unmount","requestRedraw","requestAnimationFrame","console","warn","cancelAnimationFrame","useImperativeHandle","makeImageSnapshot","rect","SkiaViewApi","makeImageSnapshotAsync","redraw","getNativeId","createElement","collapsable","nativeID"],"sources":["Canvas.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n} from \"react\";\nimport type { LayoutChangeEvent, ViewProps } from \"react-native\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport { SkiaViewNativeId } from \"../views/SkiaViewNativeId\";\nimport SkiaPictureViewNativeComponent from \"../specs/SkiaPictureViewNativeComponent\";\nimport type { SkImage, SkRect, SkSize } from \"../skia/types\";\nimport { SkiaSGRoot } from \"../sksg/Reconciler\";\nimport { Skia } from \"../skia\";\nimport type { SkiaBaseViewProps } from \"../views\";\n\ninterface CanvasRef extends FC<CanvasProps> {\n makeImageSnapshot(rect?: SkRect): SkImage;\n makeImageSnapshotAsync(rect?: SkRect): Promise<SkImage>;\n redraw(): void;\n getNativeId(): number;\n}\n\nexport const useCanvasRef = () => useRef<CanvasRef>(null);\n\nconst NativeSkiaPictureView = SkiaPictureViewNativeComponent;\n\n// TODO: no need to go through the JS thread for this\nconst useOnSizeEvent = (\n resultValue: SkiaBaseViewProps[\"onSize\"],\n onLayout?: (event: LayoutChangeEvent) => void\n) => {\n return useCallback(\n (event: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(event);\n }\n const { width, height } = event.nativeEvent.layout;\n\n if (resultValue) {\n resultValue.value = { width, height };\n }\n },\n [onLayout, resultValue]\n );\n};\n\nexport interface CanvasProps extends ViewProps {\n debug?: boolean;\n opaque?: boolean;\n onSize?: SharedValue<SkSize>;\n mode?: \"continuous\" | \"default\";\n}\n\nexport const Canvas = forwardRef(\n (\n {\n mode,\n debug,\n opaque,\n children,\n onSize,\n onLayout: _onLayout,\n ...viewProps\n }: CanvasProps,\n ref\n ) => {\n const rafId = useRef<number | null>(null);\n const onLayout = useOnSizeEvent(onSize, _onLayout);\n // Native ID\n const nativeId = useMemo(() => {\n return SkiaViewNativeId.current++;\n }, []);\n\n // Root\n const root = useMemo(() => new SkiaSGRoot(Skia, nativeId), [nativeId]);\n\n // Render effects\n useEffect(() => {\n root.render(children);\n }, [children, root]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n const requestRedraw = useCallback(() => {\n rafId.current = requestAnimationFrame(() => {\n root.render(children);\n if (mode === \"continuous\") {\n requestRedraw();\n }\n });\n }, [children, mode, root]);\n\n useEffect(() => {\n if (mode === \"continuous\") {\n console.warn(\"The `mode` property in `Canvas` is deprecated.\");\n requestRedraw();\n }\n return () => {\n if (rafId.current !== null) {\n cancelAnimationFrame(rafId.current);\n }\n };\n }, [mode, requestRedraw]);\n // Component methods\n useImperativeHandle(ref, () => ({\n makeImageSnapshot: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshot(nativeId, rect);\n },\n makeImageSnapshotAsync: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshotAsync(nativeId, rect);\n },\n redraw: () => {\n SkiaViewApi.requestRedraw(nativeId);\n },\n getNativeId: () => {\n return nativeId;\n },\n }));\n return (\n <NativeSkiaPictureView\n collapsable={false}\n nativeID={`${nativeId}`}\n debug={debug}\n opaque={opaque}\n onLayout={onLayout}\n {...viewProps}\n />\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
@@ -24,7 +24,7 @@ export declare let fonts: {
24
24
  DinMedium: SkFont;
25
25
  };
26
26
  export declare const wait: (ms: number) => Promise<unknown>;
27
- export declare const resolveFile: (uri: string) => Buffer;
27
+ export declare const resolveFile: (uri: string) => Buffer<ArrayBufferLike>;
28
28
  export declare const resolveFont: (uri: string) => number[];
29
29
  export declare const testingFonts: {
30
30
  Roboto: number[][];
@@ -6,24 +6,42 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ColorType = void 0;
7
7
  let ColorType = exports.ColorType = /*#__PURE__*/function (ColorType) {
8
8
  ColorType[ColorType["Unknown"] = 0] = "Unknown";
9
+ // uninitialized
9
10
  ColorType[ColorType["Alpha_8"] = 1] = "Alpha_8";
11
+ // pixel with alpha in 8-bit byte
10
12
  ColorType[ColorType["RGB_565"] = 2] = "RGB_565";
13
+ // pixel with 5 bits red, 6 bits green, 5 bits blue, in 16-bit word
11
14
  ColorType[ColorType["ARGB_4444"] = 3] = "ARGB_4444";
15
+ // pixel with 4 bits for alpha, red, green, blue; in 16-bit word
12
16
  ColorType[ColorType["RGBA_8888"] = 4] = "RGBA_8888";
17
+ // pixel with 8 bits for red, green, blue, alpha; in 32-bit word
13
18
  ColorType[ColorType["RGB_888x"] = 5] = "RGB_888x";
19
+ // pixel with 8 bits each for red, green, blue; in 32-bit word
14
20
  ColorType[ColorType["BGRA_8888"] = 6] = "BGRA_8888";
21
+ // pixel with 8 bits for blue, green, red, alpha; in 32-bit word
15
22
  ColorType[ColorType["RGBA_1010102"] = 7] = "RGBA_1010102";
23
+ // 10 bits for red, green, blue; 2 bits for alpha; in 32-bit word
16
24
  ColorType[ColorType["BGRA_1010102"] = 8] = "BGRA_1010102";
25
+ // 10 bits for blue, green, red; 2 bits for alpha; in 32-bit word
17
26
  ColorType[ColorType["RGB_101010x"] = 9] = "RGB_101010x";
27
+ // pixel with 10 bits each for red, green, blue; in 32-bit word
18
28
  ColorType[ColorType["BGR_101010x"] = 10] = "BGR_101010x";
29
+ // pixel with 10 bits each for blue, green, red; in 32-bit word
19
30
  ColorType[ColorType["BGR_101010x_XR"] = 11] = "BGR_101010x_XR";
31
+ // pixel with 10 bits each for blue, green, red; in 32-bit word, extended range
20
32
  ColorType[ColorType["BGRA_10101010_XR"] = 12] = "BGRA_10101010_XR";
33
+ // pixel with 10 bits each for blue, green, red, alpha; in 64-bit word, extended range
21
34
  ColorType[ColorType["RGBA_10x6"] = 13] = "RGBA_10x6";
35
+ // pixel with 10 used bits (most significant) followed by 6 unused
22
36
  ColorType[ColorType["Gray_8"] = 14] = "Gray_8";
37
+ // pixel with grayscale level in 8-bit byte
23
38
  ColorType[ColorType["RGBA_F16Norm"] = 15] = "RGBA_F16Norm";
39
+ // pixel with half floats in [0,1] for red, green, blue, alpha; in 64-bit word
24
40
  ColorType[ColorType["RGBA_F16"] = 16] = "RGBA_F16";
41
+ // pixel with half floats for red, green, blue, alpha; in 64-bit word
25
42
  ColorType[ColorType["RGB_F16F16F16x"] = 17] = "RGB_F16F16F16x";
26
- ColorType[ColorType["RGBA_F32"] = 18] = "RGBA_F32";
43
+ // pixel with half floats for red, green, blue; in 64-bit word
44
+ ColorType[ColorType["RGBA_F32"] = 18] = "RGBA_F32"; // pixel using C float for red, green, blue, alpha; in 128-bit word
27
45
  return ColorType;
28
- }({}); // pixel using C float for red, green, blue, alpha; in 128-bit word
46
+ }({});
29
47
  //# sourceMappingURL=ColorType.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ColorType","exports"],"sources":["ColorType.ts"],"sourcesContent":["export 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 BGRA_10101010_XR, // pixel with 10 bits each for blue, green, red, alpha; in 64-bit word, extended range\n RGBA_10x6, // pixel with 10 used bits (most significant) followed by 6 unused\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; in 64-bit word\n RGBA_F16, // pixel with half floats for red, green, blue, alpha; in 64-bit word\n RGB_F16F16F16x, // pixel with half floats for red, green, blue; in 64-bit word\n RGBA_F32, // pixel using C float for red, green, blue, alpha; in 128-bit word\n}\n"],"mappings":";;;;;;IAAYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA,OAmBT","ignoreList":[]}
1
+ {"version":3,"names":["ColorType","exports"],"sources":["ColorType.ts"],"sourcesContent":["export 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 BGRA_10101010_XR, // pixel with 10 bits each for blue, green, red, alpha; in 64-bit word, extended range\n RGBA_10x6, // pixel with 10 used bits (most significant) followed by 6 unused\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; in 64-bit word\n RGBA_F16, // pixel with half floats for red, green, blue, alpha; in 64-bit word\n RGB_F16F16F16x, // pixel with half floats for red, green, blue; in 64-bit word\n RGBA_F32, // pixel using C float for red, green, blue, alpha; in 128-bit word\n}\n"],"mappings":";;;;;;IAAYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EACV;EADCA,SAAS,CAATA,SAAS;EAEV;EAFCA,SAAS,CAATA,SAAS;EAGV;EAHCA,SAAS,CAATA,SAAS;EAIR;EAJDA,SAAS,CAATA,SAAS;EAKR;EALDA,SAAS,CAATA,SAAS;EAMT;EANAA,SAAS,CAATA,SAAS;EAOR;EAPDA,SAAS,CAATA,SAAS;EAQL;EARJA,SAAS,CAATA,SAAS;EASL;EATJA,SAAS,CAATA,SAAS;EAUN;EAVHA,SAAS,CAATA,SAAS;EAWN;EAXHA,SAAS,CAATA,SAAS;EAYH;EAZNA,SAAS,CAATA,SAAS;EAaD;EAbRA,SAAS,CAATA,SAAS;EAcR;EAdDA,SAAS,CAATA,SAAS;EAeX;EAfEA,SAAS,CAATA,SAAS;EAgBL;EAhBJA,SAAS,CAATA,SAAS;EAiBT;EAjBAA,SAAS,CAATA,SAAS;EAkBH;EAlBNA,SAAS,CAATA,SAAS,iCAmBT;EAAA,OAnBAA,SAAS;AAAA","ignoreList":[]}
@@ -6,22 +6,38 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ColorTypeCanvasKit = void 0;
7
7
  let ColorTypeCanvasKit = exports.ColorTypeCanvasKit = /*#__PURE__*/function (ColorTypeCanvasKit) {
8
8
  ColorTypeCanvasKit[ColorTypeCanvasKit["Unknown"] = 0] = "Unknown";
9
+ // uninitialized
9
10
  ColorTypeCanvasKit[ColorTypeCanvasKit["Alpha_8"] = 1] = "Alpha_8";
11
+ // pixel with alpha in 8-bit byte
10
12
  ColorTypeCanvasKit[ColorTypeCanvasKit["RGB_565"] = 2] = "RGB_565";
13
+ // pixel with 5 bits red, 6 bits green, 5 bits blue, in 16-bit word
11
14
  ColorTypeCanvasKit[ColorTypeCanvasKit["ARGB_4444"] = 3] = "ARGB_4444";
15
+ // pixel with 4 bits for alpha, red, green, blue; in 16-bit word
12
16
  ColorTypeCanvasKit[ColorTypeCanvasKit["RGBA_8888"] = 4] = "RGBA_8888";
17
+ // pixel with 8 bits for red, green, blue, alpha; in 32-bit word
13
18
  ColorTypeCanvasKit[ColorTypeCanvasKit["RGB_888x"] = 5] = "RGB_888x";
19
+ // pixel with 8 bits each for red, green, blue; in 32-bit word
14
20
  ColorTypeCanvasKit[ColorTypeCanvasKit["BGRA_8888"] = 6] = "BGRA_8888";
21
+ // pixel with 8 bits for blue, green, red, alpha; in 32-bit word
15
22
  ColorTypeCanvasKit[ColorTypeCanvasKit["RGBA_1010102"] = 7] = "RGBA_1010102";
23
+ // 10 bits for red, green, blue; 2 bits for alpha; in 32-bit word
16
24
  ColorTypeCanvasKit[ColorTypeCanvasKit["BGRA_1010102"] = 8] = "BGRA_1010102";
25
+ // 10 bits for blue, green, red; 2 bits for alpha; in 32-bit word
17
26
  ColorTypeCanvasKit[ColorTypeCanvasKit["RGB_101010x"] = 9] = "RGB_101010x";
27
+ // pixel with 10 bits each for red, green, blue; in 32-bit word
18
28
  ColorTypeCanvasKit[ColorTypeCanvasKit["BGR_101010x"] = 10] = "BGR_101010x";
29
+ // pixel with 10 bits each for blue, green, red; in 32-bit word
19
30
  ColorTypeCanvasKit[ColorTypeCanvasKit["BGR_101010x_XR"] = 11] = "BGR_101010x_XR";
31
+ // pixel with 10 bits each for blue, green, red; in 32-bit word, extended range
20
32
  ColorTypeCanvasKit[ColorTypeCanvasKit["RGBA_10x6"] = 12] = "RGBA_10x6";
33
+ // pixel with 10 used bits (most significant) followed by 6 unused
21
34
  ColorTypeCanvasKit[ColorTypeCanvasKit["Gray_8"] = 13] = "Gray_8";
35
+ // pixel with grayscale level in 8-bit byte
22
36
  ColorTypeCanvasKit[ColorTypeCanvasKit["RGBA_F16Norm"] = 14] = "RGBA_F16Norm";
37
+ // pixel with half floats in [0,1] for red, green, blue, alpha; in 64-bit word
23
38
  ColorTypeCanvasKit[ColorTypeCanvasKit["RGBA_F16"] = 15] = "RGBA_F16";
24
- ColorTypeCanvasKit[ColorTypeCanvasKit["RGBA_F32"] = 16] = "RGBA_F32";
39
+ // pixel with half floats for red, green, blue, alpha; in 64-bit word
40
+ ColorTypeCanvasKit[ColorTypeCanvasKit["RGBA_F32"] = 16] = "RGBA_F32"; // pixel using C float for red, green, blue, alpha; in 128-bit word
25
41
  return ColorTypeCanvasKit;
26
- }({}); // pixel using C float for red, green, blue, alpha; in 128-bit word
42
+ }({});
27
43
  //# sourceMappingURL=ColorType.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ColorTypeCanvasKit","exports"],"sources":["ColorType.web.ts"],"sourcesContent":["export enum ColorTypeCanvasKit {\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 RGBA_10x6, // pixel with 10 used bits (most significant) followed by 6 unused\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; in 64-bit word\n RGBA_F16, // pixel with half floats for red, green, blue, alpha; in 64-bit word\n RGBA_F32, // pixel using C float for red, green, blue, alpha; in 128-bit word\n}\n"],"mappings":";;;;;;IAAYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA,OAiBlB","ignoreList":[]}
1
+ {"version":3,"names":["ColorTypeCanvasKit","exports"],"sources":["ColorType.web.ts"],"sourcesContent":["export enum ColorTypeCanvasKit {\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 RGBA_10x6, // pixel with 10 used bits (most significant) followed by 6 unused\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; in 64-bit word\n RGBA_F16, // pixel with half floats for red, green, blue, alpha; in 64-bit word\n RGBA_F32, // pixel using C float for red, green, blue, alpha; in 128-bit word\n}\n"],"mappings":";;;;;;IAAYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB,CAAlBA,kBAAkB;EACnB;EADCA,kBAAkB,CAAlBA,kBAAkB;EAEnB;EAFCA,kBAAkB,CAAlBA,kBAAkB;EAGnB;EAHCA,kBAAkB,CAAlBA,kBAAkB;EAIjB;EAJDA,kBAAkB,CAAlBA,kBAAkB;EAKjB;EALDA,kBAAkB,CAAlBA,kBAAkB;EAMlB;EANAA,kBAAkB,CAAlBA,kBAAkB;EAOjB;EAPDA,kBAAkB,CAAlBA,kBAAkB;EAQd;EARJA,kBAAkB,CAAlBA,kBAAkB;EASd;EATJA,kBAAkB,CAAlBA,kBAAkB;EAUf;EAVHA,kBAAkB,CAAlBA,kBAAkB;EAWf;EAXHA,kBAAkB,CAAlBA,kBAAkB;EAYZ;EAZNA,kBAAkB,CAAlBA,kBAAkB;EAajB;EAbDA,kBAAkB,CAAlBA,kBAAkB;EAcpB;EAdEA,kBAAkB,CAAlBA,kBAAkB;EAed;EAfJA,kBAAkB,CAAlBA,kBAAkB;EAgBlB;EAhBAA,kBAAkB,CAAlBA,kBAAkB,iCAiBlB;EAAA,OAjBAA,kBAAkB;AAAA","ignoreList":[]}
@@ -5,9 +5,23 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.isImageFilter = exports.TileMode = void 0;
7
7
  let TileMode = exports.TileMode = /*#__PURE__*/function (TileMode) {
8
+ /**
9
+ * Replicate the edge color if the shader draws outside of its
10
+ * original bounds.
11
+ */
8
12
  TileMode[TileMode["Clamp"] = 0] = "Clamp";
13
+ /**
14
+ * Repeat the shader's image horizontally and vertically.
15
+ */
9
16
  TileMode[TileMode["Repeat"] = 1] = "Repeat";
17
+ /**
18
+ * Repeat the shader's image horizontally and vertically, alternating
19
+ * mirror images so that adjacent images always seam.
20
+ */
10
21
  TileMode[TileMode["Mirror"] = 2] = "Mirror";
22
+ /**
23
+ * Only draw within the original domain, return transparent-black everywhere else.
24
+ */
11
25
  TileMode[TileMode["Decal"] = 3] = "Decal";
12
26
  return TileMode;
13
27
  }({});
@@ -1 +1 @@
1
- {"version":3,"names":["TileMode","exports","isImageFilter","obj","__typename__"],"sources":["ImageFilter.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\n\nexport enum TileMode {\n /**\n * Replicate the edge color if the shader draws outside of its\n * original bounds.\n */\n Clamp,\n\n /**\n * Repeat the shader's image horizontally and vertically.\n */\n Repeat,\n\n /**\n * Repeat the shader's image horizontally and vertically, alternating\n * mirror images so that adjacent images always seam.\n */\n Mirror,\n\n /**\n * Only draw within the original domain, return transparent-black everywhere else.\n */\n Decal,\n}\n\nexport const isImageFilter = (\n obj: SkJSIInstance<string> | null\n): obj is SkImageFilter => obj !== null && obj.__typename__ === \"ImageFilter\";\n\nexport type SkImageFilter = SkJSIInstance<\"ImageFilter\">;\n"],"mappings":";;;;;;IAEYA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAwBb,MAAME,aAAa,GACxBC,GAAiC,IACRA,GAAG,KAAK,IAAI,IAAIA,GAAG,CAACC,YAAY,KAAK,aAAa;AAACH,OAAA,CAAAC,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["TileMode","exports","isImageFilter","obj","__typename__"],"sources":["ImageFilter.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\n\nexport enum TileMode {\n /**\n * Replicate the edge color if the shader draws outside of its\n * original bounds.\n */\n Clamp,\n\n /**\n * Repeat the shader's image horizontally and vertically.\n */\n Repeat,\n\n /**\n * Repeat the shader's image horizontally and vertically, alternating\n * mirror images so that adjacent images always seam.\n */\n Mirror,\n\n /**\n * Only draw within the original domain, return transparent-black everywhere else.\n */\n Decal,\n}\n\nexport const isImageFilter = (\n obj: SkJSIInstance<string> | null\n): obj is SkImageFilter => obj !== null && obj.__typename__ === \"ImageFilter\";\n\nexport type SkImageFilter = SkJSIInstance<\"ImageFilter\">;\n"],"mappings":";;;;;;IAEYA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,0BAARA,QAAQ;EAClB;AACF;AACA;AACA;EAJYA,QAAQ,CAARA,QAAQ;EAOlB;AACF;AACA;EATYA,QAAQ,CAARA,QAAQ;EAYlB;AACF;AACA;AACA;EAfYA,QAAQ,CAARA,QAAQ;EAkBlB;AACF;AACA;EApBYA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAwBb,MAAME,aAAa,GACxBC,GAAiC,IACRA,GAAG,KAAK,IAAI,IAAIA,GAAG,CAACC,YAAY,KAAK,aAAa;AAACH,OAAA,CAAAC,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -6,11 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.isMaskFilter = exports.BlurStyle = void 0;
7
7
  let BlurStyle = exports.BlurStyle = /*#__PURE__*/function (BlurStyle) {
8
8
  BlurStyle[BlurStyle["Normal"] = 0] = "Normal";
9
+ //!< fuzzy inside and outside
9
10
  BlurStyle[BlurStyle["Solid"] = 1] = "Solid";
11
+ //!< solid inside, fuzzy outside
10
12
  BlurStyle[BlurStyle["Outer"] = 2] = "Outer";
11
- BlurStyle[BlurStyle["Inner"] = 3] = "Inner";
13
+ //!< nothing inside, fuzzy outside
14
+ BlurStyle[BlurStyle["Inner"] = 3] = "Inner"; //!< fuzzy inside, nothing outside
12
15
  return BlurStyle;
13
- }({}); //!< fuzzy inside, nothing outside
16
+ }({});
14
17
  const isMaskFilter = obj => obj !== null && obj.__typename__ === "MaskFilter";
15
18
 
16
19
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["BlurStyle","exports","isMaskFilter","obj","__typename__"],"sources":["MaskFilter.ts"],"sourcesContent":["import type { SkJSIInstance } from \"./JsiInstance\";\n\nexport enum BlurStyle {\n Normal, //!< fuzzy inside and outside\n Solid, //!< solid inside, fuzzy outside\n Outer, //!< nothing inside, fuzzy outside\n Inner, //!< fuzzy inside, nothing outside\n}\n\nexport const isMaskFilter = (\n obj: SkJSIInstance<string> | null\n): obj is SkMaskFilter => obj !== null && obj.__typename__ === \"MaskFilter\";\n\nexport type SkMaskFilter = SkJSIInstance<\"MaskFilter\">;\n\n/**\n * See SkMaskFilter.h for more details.\n */\nexport interface MaskFilterFactory {\n /**\n * Create a blur maskfilter\n * @param style\n * @param sigma - Standard deviation of the Gaussian blur to apply. Must be > 0.\n * @param respectCTM - if true the blur's sigma is modified by the CTM.\n */\n MakeBlur(style: BlurStyle, sigma: number, respectCTM: boolean): SkMaskFilter;\n}\n"],"mappings":";;;;;;IAEYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA,OAIZ;AAGF,MAAME,YAAY,GACvBC,GAAiC,IACTA,GAAG,KAAK,IAAI,IAAIA,GAAG,CAACC,YAAY,KAAK,YAAY;;AAI3E;AACA;AACA;AAFAH,OAAA,CAAAC,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["BlurStyle","exports","isMaskFilter","obj","__typename__"],"sources":["MaskFilter.ts"],"sourcesContent":["import type { SkJSIInstance } from \"./JsiInstance\";\n\nexport enum BlurStyle {\n Normal, //!< fuzzy inside and outside\n Solid, //!< solid inside, fuzzy outside\n Outer, //!< nothing inside, fuzzy outside\n Inner, //!< fuzzy inside, nothing outside\n}\n\nexport const isMaskFilter = (\n obj: SkJSIInstance<string> | null\n): obj is SkMaskFilter => obj !== null && obj.__typename__ === \"MaskFilter\";\n\nexport type SkMaskFilter = SkJSIInstance<\"MaskFilter\">;\n\n/**\n * See SkMaskFilter.h for more details.\n */\nexport interface MaskFilterFactory {\n /**\n * Create a blur maskfilter\n * @param style\n * @param sigma - Standard deviation of the Gaussian blur to apply. Must be > 0.\n * @param respectCTM - if true the blur's sigma is modified by the CTM.\n */\n MakeBlur(style: BlurStyle, sigma: number, respectCTM: boolean): SkMaskFilter;\n}\n"],"mappings":";;;;;;IAEYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EACX;EADEA,SAAS,CAATA,SAAS;EAEZ;EAFGA,SAAS,CAATA,SAAS;EAGZ;EAHGA,SAAS,CAATA,SAAS,0BAIZ;EAAA,OAJGA,SAAS;AAAA;AAOd,MAAME,YAAY,GACvBC,GAAiC,IACTA,GAAG,KAAK,IAAI,IAAIA,GAAG,CAACC,YAAY,KAAK,YAAY;;AAI3E;AACA;AACA;AAFAH,OAAA,CAAAC,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -33,34 +33,63 @@ exports.BlendMode = void 0;
33
33
  */
34
34
  let BlendMode = exports.BlendMode = /*#__PURE__*/function (BlendMode) {
35
35
  BlendMode[BlendMode["Clear"] = 0] = "Clear";
36
+ //!< r = 0
36
37
  BlendMode[BlendMode["Src"] = 1] = "Src";
38
+ //!< r = s
37
39
  BlendMode[BlendMode["Dst"] = 2] = "Dst";
40
+ //!< r = d
38
41
  BlendMode[BlendMode["SrcOver"] = 3] = "SrcOver";
42
+ //!< r = s + (1-sa)*d
39
43
  BlendMode[BlendMode["DstOver"] = 4] = "DstOver";
44
+ //!< r = d + (1-da)*s
40
45
  BlendMode[BlendMode["SrcIn"] = 5] = "SrcIn";
46
+ //!< r = s * da
41
47
  BlendMode[BlendMode["DstIn"] = 6] = "DstIn";
48
+ //!< r = d * sa
42
49
  BlendMode[BlendMode["SrcOut"] = 7] = "SrcOut";
50
+ //!< r = s * (1-da)
43
51
  BlendMode[BlendMode["DstOut"] = 8] = "DstOut";
52
+ //!< r = d * (1-sa)
44
53
  BlendMode[BlendMode["SrcATop"] = 9] = "SrcATop";
54
+ //!< r = s*da + d*(1-sa)
45
55
  BlendMode[BlendMode["DstATop"] = 10] = "DstATop";
56
+ //!< r = d*sa + s*(1-da)
46
57
  BlendMode[BlendMode["Xor"] = 11] = "Xor";
58
+ //!< r = s*(1-da) + d*(1-sa)
47
59
  BlendMode[BlendMode["Plus"] = 12] = "Plus";
60
+ //!< r = min(s + d, 1)
48
61
  BlendMode[BlendMode["Modulate"] = 13] = "Modulate";
62
+ //!< r = s*d
49
63
  BlendMode[BlendMode["Screen"] = 14] = "Screen";
64
+ //!< r = s + d - s*d
50
65
  BlendMode[BlendMode["Overlay"] = 15] = "Overlay";
66
+ //!< multiply or screen, depending on destination
51
67
  BlendMode[BlendMode["Darken"] = 16] = "Darken";
68
+ //!< rc = s + d - max(s*da, d*sa), ra = kSrcOver
52
69
  BlendMode[BlendMode["Lighten"] = 17] = "Lighten";
70
+ //!< rc = s + d - min(s*da, d*sa), ra = kSrcOver
53
71
  BlendMode[BlendMode["ColorDodge"] = 18] = "ColorDodge";
72
+ //!< brighten destination to reflect source
54
73
  BlendMode[BlendMode["ColorBurn"] = 19] = "ColorBurn";
74
+ //!< darken destination to reflect source
55
75
  BlendMode[BlendMode["HardLight"] = 20] = "HardLight";
76
+ //!< multiply or screen, depending on source
56
77
  BlendMode[BlendMode["SoftLight"] = 21] = "SoftLight";
78
+ //!< lighten or darken, depending on source
57
79
  BlendMode[BlendMode["Difference"] = 22] = "Difference";
80
+ //!< rc = s + d - 2*(min(s*da, d*sa)), ra = kSrcOver
58
81
  BlendMode[BlendMode["Exclusion"] = 23] = "Exclusion";
82
+ //!< rc = s + d - two(s*d), ra = kSrcOver
59
83
  BlendMode[BlendMode["Multiply"] = 24] = "Multiply";
84
+ //!< r = s*(1-da) + d*(1-sa) + s*d
60
85
  BlendMode[BlendMode["Hue"] = 25] = "Hue";
86
+ //!< hue of source with saturation and luminosity of destination
61
87
  BlendMode[BlendMode["Saturation"] = 26] = "Saturation";
88
+ //!< saturation of source with hue and luminosity of
89
+ //!< destination
62
90
  BlendMode[BlendMode["Color"] = 27] = "Color";
63
- BlendMode[BlendMode["Luminosity"] = 28] = "Luminosity";
91
+ //!< hue and saturation of source with luminosity of destination
92
+ BlendMode[BlendMode["Luminosity"] = 28] = "Luminosity"; //!< luminosity of source with hue and saturation of
64
93
  return BlendMode;
65
- }({}); //!< luminosity of source with hue and saturation of
94
+ }({});
66
95
  //# sourceMappingURL=BlendMode.js.map