@shopify/react-native-skia 0.1.180 → 0.1.182

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. package/android/build.gradle +6 -1
  2. package/cpp/api/JsiSkData.h +7 -0
  3. package/cpp/api/JsiSkImage.h +7 -1
  4. package/cpp/api/JsiSkSVG.h +7 -0
  5. package/cpp/api/JsiSkTypeface.h +7 -0
  6. package/cpp/jsi/RuntimeAwareCache.cpp +0 -2
  7. package/cpp/rnskia/RNSkDomView.cpp +2 -2
  8. package/cpp/rnskia/RNSkPlatformContext.h +2 -2
  9. package/cpp/rnskia/dom/base/DerivedNodeProp.h +1 -1
  10. package/cpp/rnskia/dom/base/JsiDependencyManager.h +10 -6
  11. package/cpp/rnskia/dom/base/JsiDomNode.h +133 -78
  12. package/cpp/rnskia/dom/base/JsiDomRenderNode.h +17 -5
  13. package/cpp/rnskia/dom/base/NodeProp.h +5 -5
  14. package/cpp/rnskia/dom/base/NodePropsContainer.h +8 -2
  15. package/cpp/rnskia/dom/props/ClipProp.h +13 -20
  16. package/cpp/rnskia/dom/props/PathProp.h +16 -14
  17. package/cpp/rnskia/dom/props/PointProp.h +1 -1
  18. package/cpp/rnskia/dom/props/RRectProp.h +39 -61
  19. package/cpp/rnskia/dom/props/RectProp.h +27 -25
  20. package/ios/RNSkia-iOS/RNSkiOSPlatformContext.mm +0 -2
  21. package/lib/commonjs/dom/nodes/JsiSkDOM.js +56 -54
  22. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  23. package/lib/commonjs/renderer/Canvas.js +30 -9
  24. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  25. package/lib/commonjs/renderer/HostComponents.d.ts +1 -0
  26. package/lib/commonjs/renderer/HostComponents.js +6 -1
  27. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  28. package/lib/commonjs/renderer/Reconciler.js +3 -1
  29. package/lib/commonjs/renderer/Reconciler.js.map +1 -1
  30. package/lib/commonjs/skia/core/Data.d.ts +2 -2
  31. package/lib/commonjs/skia/core/Data.js +5 -0
  32. package/lib/commonjs/skia/core/Data.js.map +1 -1
  33. package/lib/commonjs/skia/types/Data/Data.d.ts +2 -2
  34. package/lib/commonjs/skia/types/Data/Data.js.map +1 -1
  35. package/lib/commonjs/skia/types/Image/Image.d.ts +2 -2
  36. package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
  37. package/lib/commonjs/skia/types/JsiInstance.d.ts +3 -0
  38. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  39. package/lib/commonjs/skia/types/SVG/SVG.d.ts +2 -2
  40. package/lib/commonjs/skia/types/SVG/SVG.js.map +1 -1
  41. package/lib/commonjs/skia/types/Typeface/Typeface.d.ts +2 -2
  42. package/lib/commonjs/skia/types/Typeface/Typeface.js.map +1 -1
  43. package/lib/commonjs/skia/web/JsiSkData.d.ts +1 -0
  44. package/lib/commonjs/skia/web/JsiSkData.js +3 -0
  45. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
  46. package/lib/commonjs/skia/web/JsiSkImage.d.ts +1 -0
  47. package/lib/commonjs/skia/web/JsiSkImage.js +4 -0
  48. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  49. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +1 -0
  50. package/lib/commonjs/skia/web/JsiSkTypeface.js +4 -0
  51. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  52. package/lib/commonjs/views/SkiaBaseWebView.js +5 -1
  53. package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
  54. package/lib/module/dom/nodes/JsiSkDOM.js +55 -54
  55. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  56. package/lib/module/renderer/Canvas.js +29 -10
  57. package/lib/module/renderer/Canvas.js.map +1 -1
  58. package/lib/module/renderer/HostComponents.d.ts +1 -0
  59. package/lib/module/renderer/HostComponents.js +3 -0
  60. package/lib/module/renderer/HostComponents.js.map +1 -1
  61. package/lib/module/renderer/Reconciler.js +2 -1
  62. package/lib/module/renderer/Reconciler.js.map +1 -1
  63. package/lib/module/skia/core/Data.d.ts +2 -2
  64. package/lib/module/skia/core/Data.js +5 -0
  65. package/lib/module/skia/core/Data.js.map +1 -1
  66. package/lib/module/skia/types/Data/Data.d.ts +2 -2
  67. package/lib/module/skia/types/Data/Data.js.map +1 -1
  68. package/lib/module/skia/types/Image/Image.d.ts +2 -2
  69. package/lib/module/skia/types/Image/Image.js.map +1 -1
  70. package/lib/module/skia/types/JsiInstance.d.ts +3 -0
  71. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  72. package/lib/module/skia/types/SVG/SVG.d.ts +2 -2
  73. package/lib/module/skia/types/SVG/SVG.js.map +1 -1
  74. package/lib/module/skia/types/Typeface/Typeface.d.ts +2 -2
  75. package/lib/module/skia/types/Typeface/Typeface.js.map +1 -1
  76. package/lib/module/skia/web/JsiSkData.d.ts +1 -0
  77. package/lib/module/skia/web/JsiSkData.js +3 -0
  78. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  79. package/lib/module/skia/web/JsiSkImage.d.ts +1 -0
  80. package/lib/module/skia/web/JsiSkImage.js +4 -0
  81. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  82. package/lib/module/skia/web/JsiSkTypeface.d.ts +1 -0
  83. package/lib/module/skia/web/JsiSkTypeface.js +4 -0
  84. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  85. package/lib/module/views/SkiaBaseWebView.js +5 -1
  86. package/lib/module/views/SkiaBaseWebView.js.map +1 -1
  87. package/lib/typescript/src/renderer/HostComponents.d.ts +1 -0
  88. package/lib/typescript/src/skia/core/Data.d.ts +2 -2
  89. package/lib/typescript/src/skia/types/Data/Data.d.ts +2 -2
  90. package/lib/typescript/src/skia/types/Image/Image.d.ts +2 -2
  91. package/lib/typescript/src/skia/types/JsiInstance.d.ts +3 -0
  92. package/lib/typescript/src/skia/types/SVG/SVG.d.ts +2 -2
  93. package/lib/typescript/src/skia/types/Typeface/Typeface.d.ts +2 -2
  94. package/lib/typescript/src/skia/web/JsiSkData.d.ts +1 -0
  95. package/lib/typescript/src/skia/web/JsiSkImage.d.ts +1 -0
  96. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +1 -0
  97. package/package.json +1 -1
  98. package/src/dom/nodes/JsiSkDOM.ts +55 -54
  99. package/src/renderer/Canvas.tsx +34 -14
  100. package/src/renderer/HostComponents.ts +4 -0
  101. package/src/renderer/Reconciler.tsx +2 -1
  102. package/src/skia/core/Data.ts +14 -6
  103. package/src/skia/types/Data/Data.ts +2 -2
  104. package/src/skia/types/Image/Image.ts +2 -2
  105. package/src/skia/types/JsiInstance.ts +4 -0
  106. package/src/skia/types/SVG/SVG.ts +2 -2
  107. package/src/skia/types/Typeface/Typeface.ts +2 -2
  108. package/src/skia/web/JsiSkData.ts +4 -0
  109. package/src/skia/web/JsiSkImage.ts +4 -0
  110. package/src/skia/web/JsiSkTypeface.ts +4 -0
  111. package/src/views/SkiaBaseWebView.tsx +5 -0
@@ -1 +1 @@
1
- {"version":3,"names":["toBase64String","bytes","Buffer","from","toString","CHUNK_SIZE","index","length","result","slice","Math","min","String","fromCharCode","apply","btoa","JsiSkImage","HostObject","constructor","CanvasKit","ref","height","width","makeShaderOptions","tx","ty","fm","mm","localMatrix","JsiSkShader","ckEnum","JsiSkMatrix","fromValue","undefined","makeShaderCubic","B","C","encodeToBytes","fmt","quality","Error","encodeToBase64"],"sources":["JsiSkImage.ts"],"sourcesContent":["import type { CanvasKit, Image } from \"canvaskit-wasm\";\n\nimport type {\n ImageFormat,\n FilterMode,\n MipmapMode,\n SkImage,\n SkMatrix,\n SkShader,\n TileMode,\n} from \"../types\";\n\nimport { ckEnum, HostObject } from \"./Host\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkShader } from \"./JsiSkShader\";\n\n// https://github.com/google/skia/blob/1f193df9b393d50da39570dab77a0bb5d28ec8ef/modules/canvaskit/htmlcanvas/util.js\nexport const toBase64String = (bytes: Uint8Array) => {\n if (typeof Buffer !== \"undefined\") {\n // Are we on node?\n return Buffer.from(bytes).toString(\"base64\");\n } else {\n // From https://stackoverflow.com/a/25644409\n // because the naive solution of\n // btoa(String.fromCharCode.apply(null, bytes));\n // would occasionally throw \"Maximum call stack size exceeded\"\n var CHUNK_SIZE = 0x8000; //arbitrary number\n var index = 0;\n var { length } = bytes;\n var result = \"\";\n var slice;\n while (index < length) {\n slice = bytes.slice(index, Math.min(index + CHUNK_SIZE, length));\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result += String.fromCharCode.apply(null, slice as any);\n index += CHUNK_SIZE;\n }\n return btoa(result);\n }\n};\n\nexport class JsiSkImage extends HostObject<Image, \"Image\"> implements SkImage {\n constructor(CanvasKit: CanvasKit, ref: Image) {\n super(CanvasKit, ref, \"Image\");\n }\n\n height() {\n return this.ref.height();\n }\n\n width() {\n return this.ref.width();\n }\n\n makeShaderOptions(\n tx: TileMode,\n ty: TileMode,\n fm: FilterMode,\n mm: MipmapMode,\n localMatrix?: SkMatrix\n ): SkShader {\n return new JsiSkShader(\n this.CanvasKit,\n this.ref.makeShaderOptions(\n ckEnum(tx),\n ckEnum(ty),\n ckEnum(fm),\n ckEnum(mm),\n localMatrix ? JsiSkMatrix.fromValue(localMatrix) : undefined\n )\n );\n }\n\n makeShaderCubic(\n tx: TileMode,\n ty: TileMode,\n B: number,\n C: number,\n localMatrix?: SkMatrix\n ): SkShader {\n return new JsiSkShader(\n this.CanvasKit,\n this.ref.makeShaderCubic(\n ckEnum(tx),\n ckEnum(ty),\n B,\n C,\n localMatrix ? JsiSkMatrix.fromValue(localMatrix) : undefined\n )\n );\n }\n\n encodeToBytes(fmt?: ImageFormat, quality?: number) {\n let result: Uint8Array | null;\n if (fmt && quality) {\n result = this.ref.encodeToBytes(ckEnum(fmt), quality);\n } else if (fmt) {\n result = this.ref.encodeToBytes(ckEnum(fmt));\n } else {\n result = this.ref.encodeToBytes();\n }\n if (!result) {\n throw new Error(\"encodeToBytes failed\");\n }\n return result;\n }\n\n encodeToBase64(fmt?: ImageFormat, quality?: number) {\n const bytes = this.encodeToBytes(fmt, quality);\n return toBase64String(bytes);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["toBase64String","bytes","Buffer","from","toString","CHUNK_SIZE","index","length","result","slice","Math","min","String","fromCharCode","apply","btoa","JsiSkImage","HostObject","constructor","CanvasKit","ref","height","width","makeShaderOptions","tx","ty","fm","mm","localMatrix","JsiSkShader","ckEnum","JsiSkMatrix","fromValue","undefined","makeShaderCubic","B","C","encodeToBytes","fmt","quality","Error","encodeToBase64","dispose","delete"],"sources":["JsiSkImage.ts"],"sourcesContent":["import type { CanvasKit, Image } from \"canvaskit-wasm\";\n\nimport type {\n ImageFormat,\n FilterMode,\n MipmapMode,\n SkImage,\n SkMatrix,\n SkShader,\n TileMode,\n} from \"../types\";\n\nimport { ckEnum, HostObject } from \"./Host\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkShader } from \"./JsiSkShader\";\n\n// https://github.com/google/skia/blob/1f193df9b393d50da39570dab77a0bb5d28ec8ef/modules/canvaskit/htmlcanvas/util.js\nexport const toBase64String = (bytes: Uint8Array) => {\n if (typeof Buffer !== \"undefined\") {\n // Are we on node?\n return Buffer.from(bytes).toString(\"base64\");\n } else {\n // From https://stackoverflow.com/a/25644409\n // because the naive solution of\n // btoa(String.fromCharCode.apply(null, bytes));\n // would occasionally throw \"Maximum call stack size exceeded\"\n var CHUNK_SIZE = 0x8000; //arbitrary number\n var index = 0;\n var { length } = bytes;\n var result = \"\";\n var slice;\n while (index < length) {\n slice = bytes.slice(index, Math.min(index + CHUNK_SIZE, length));\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result += String.fromCharCode.apply(null, slice as any);\n index += CHUNK_SIZE;\n }\n return btoa(result);\n }\n};\n\nexport class JsiSkImage extends HostObject<Image, \"Image\"> implements SkImage {\n constructor(CanvasKit: CanvasKit, ref: Image) {\n super(CanvasKit, ref, \"Image\");\n }\n\n height() {\n return this.ref.height();\n }\n\n width() {\n return this.ref.width();\n }\n\n makeShaderOptions(\n tx: TileMode,\n ty: TileMode,\n fm: FilterMode,\n mm: MipmapMode,\n localMatrix?: SkMatrix\n ): SkShader {\n return new JsiSkShader(\n this.CanvasKit,\n this.ref.makeShaderOptions(\n ckEnum(tx),\n ckEnum(ty),\n ckEnum(fm),\n ckEnum(mm),\n localMatrix ? JsiSkMatrix.fromValue(localMatrix) : undefined\n )\n );\n }\n\n makeShaderCubic(\n tx: TileMode,\n ty: TileMode,\n B: number,\n C: number,\n localMatrix?: SkMatrix\n ): SkShader {\n return new JsiSkShader(\n this.CanvasKit,\n this.ref.makeShaderCubic(\n ckEnum(tx),\n ckEnum(ty),\n B,\n C,\n localMatrix ? JsiSkMatrix.fromValue(localMatrix) : undefined\n )\n );\n }\n\n encodeToBytes(fmt?: ImageFormat, quality?: number) {\n let result: Uint8Array | null;\n if (fmt && quality) {\n result = this.ref.encodeToBytes(ckEnum(fmt), quality);\n } else if (fmt) {\n result = this.ref.encodeToBytes(ckEnum(fmt));\n } else {\n result = this.ref.encodeToBytes();\n }\n if (!result) {\n throw new Error(\"encodeToBytes failed\");\n }\n return result;\n }\n\n encodeToBase64(fmt?: ImageFormat, quality?: number) {\n const bytes = this.encodeToBytes(fmt, quality);\n return toBase64String(bytes);\n }\n\n dispose() {\n this.ref.delete();\n }\n}\n"],"mappings":"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"}
@@ -5,4 +5,5 @@ export declare class JsiSkTypeface extends HostObject<Typeface, "Typeface"> impl
5
5
  constructor(CanvasKit: CanvasKit, ref: Typeface);
6
6
  get bold(): boolean;
7
7
  get italic(): boolean;
8
+ dispose(): void;
8
9
  }
@@ -22,6 +22,10 @@ class JsiSkTypeface extends _Host.HostObject {
22
22
  return false;
23
23
  }
24
24
 
25
+ dispose() {
26
+ this.ref.delete();
27
+ }
28
+
25
29
  }
26
30
 
27
31
  exports.JsiSkTypeface = JsiSkTypeface;
@@ -1 +1 @@
1
- {"version":3,"names":["JsiSkTypeface","HostObject","constructor","CanvasKit","ref","bold","console","warn","italic"],"sources":["JsiSkTypeface.ts"],"sourcesContent":["import type { CanvasKit, Typeface } from \"canvaskit-wasm\";\n\nimport type { SkTypeface } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkTypeface\n extends HostObject<Typeface, \"Typeface\">\n implements SkTypeface\n{\n constructor(CanvasKit: CanvasKit, ref: Typeface) {\n super(CanvasKit, ref, \"Typeface\");\n }\n\n get bold(): boolean {\n console.warn(\n \"Typeface.bold is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n\n get italic(): boolean {\n console.warn(\n \"Typeface.italic is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n}\n"],"mappings":";;;;;;;AAIA;;AAEO,MAAMA,aAAN,SACGC,gBADH,CAGP;EACEC,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAsC;IAC/C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,UAAtB;EACD;;EAEO,IAAJC,IAAI,GAAY;IAClBC,OAAO,CAACC,IAAR,CACE,sGADF;IAGA,OAAO,KAAP;EACD;;EAES,IAANC,MAAM,GAAY;IACpBF,OAAO,CAACC,IAAR,CACE,wGADF;IAGA,OAAO,KAAP;EACD;;AAjBH"}
1
+ {"version":3,"names":["JsiSkTypeface","HostObject","constructor","CanvasKit","ref","bold","console","warn","italic","dispose","delete"],"sources":["JsiSkTypeface.ts"],"sourcesContent":["import type { CanvasKit, Typeface } from \"canvaskit-wasm\";\n\nimport type { SkTypeface } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkTypeface\n extends HostObject<Typeface, \"Typeface\">\n implements SkTypeface\n{\n constructor(CanvasKit: CanvasKit, ref: Typeface) {\n super(CanvasKit, ref, \"Typeface\");\n }\n\n get bold(): boolean {\n console.warn(\n \"Typeface.bold is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n\n get italic(): boolean {\n console.warn(\n \"Typeface.italic is deprecated and will be removed in a future release. The property will return false.\"\n );\n return false;\n }\n\n dispose() {\n this.ref.delete();\n }\n}\n"],"mappings":";;;;;;;AAIA;;AAEO,MAAMA,aAAN,SACGC,gBADH,CAGP;EACEC,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAsC;IAC/C,MAAMD,SAAN,EAAiBC,GAAjB,EAAsB,UAAtB;EACD;;EAEO,IAAJC,IAAI,GAAY;IAClBC,OAAO,CAACC,IAAR,CACE,sGADF;IAGA,OAAO,KAAP;EACD;;EAES,IAANC,MAAM,GAAY;IACpBF,OAAO,CAACC,IAAR,CACE,wGADF;IAGA,OAAO,KAAP;EACD;;EAEDE,OAAO,GAAG;IACR,KAAKL,GAAL,CAASM,MAAT;EACD;;AArBH"}
@@ -103,8 +103,12 @@ class SkiaBaseWebView extends _react.default.Component {
103
103
  }
104
104
 
105
105
  componentWillUnmount() {
106
+ var _this$_canvasRef$curr, _this$_canvasRef$curr2, _this$_canvasRef$curr3;
107
+
106
108
  this.unsubscribeAll();
107
- cancelAnimationFrame(this.requestId);
109
+ cancelAnimationFrame(this.requestId); // https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_lose_context
110
+
111
+ (_this$_canvasRef$curr = this._canvasRef.current) === null || _this$_canvasRef$curr === void 0 ? void 0 : (_this$_canvasRef$curr2 = _this$_canvasRef$curr.getContext("webgl2")) === null || _this$_canvasRef$curr2 === void 0 ? void 0 : (_this$_canvasRef$curr3 = _this$_canvasRef$curr2.getExtension("WEBGL_lose_context")) === null || _this$_canvasRef$curr3 === void 0 ? void 0 : _this$_canvasRef$curr3.loseContext();
108
112
  }
109
113
  /**
110
114
  * Creates a snapshot from the canvas in the surface
@@ -1 +1 @@
1
- {"version":3,"names":["pd","PixelRatio","get","SkiaBaseWebView","React","Component","constructor","props","createRef","_mode","mode","unsubscribeAll","_unsubscriptions","forEach","u","onLayout","evt","CanvasKit","global","width","height","nativeEvent","layout","_canvasRef","current","canvas","surface","MakeWebGLCanvasSurface","Error","_surface","JsiSkSurface","_canvas","getCanvas","redraw","getSize","componentDidMount","tick","componentDidUpdate","componentWillUnmount","cancelAnimationFrame","requestId","makeImageSnapshot","rect","clear","TRANSPARENT","renderInCanvas","ref","flush","_redrawRequests","touches","_touches","Float32Array","of","save","scale","restore","requestAnimationFrame","bind","setDrawMode","registerValues","_values","v","push","addListener","handleTouchEvent","touchType","id","pointerId","x","clientX","currentTarget","getClientRects","left","y","clientY","top","force","pressure","type","timestamp","Date","now","createTouchHandler","render","debug","viewProps","display","flex","TouchType","Start","Active","End","Cancelled"],"sources":["SkiaBaseWebView.tsx"],"sourcesContent":["/* global HTMLCanvasElement */\nimport React from \"react\";\nimport type { PointerEvent } from \"react\";\nimport type { LayoutChangeEvent } from \"react-native\";\nimport { PixelRatio, View } from \"react-native\";\n\nimport type { SkRect, SkCanvas } from \"../skia/types\";\nimport type { SkiaValue } from \"../values\";\nimport { JsiSkSurface } from \"../skia/web/JsiSkSurface\";\n\nimport type { DrawMode, SkiaBaseViewProps, TouchInfo } from \"./types\";\nimport { TouchType } from \"./types\";\n\nconst pd = PixelRatio.get();\n\nexport abstract class SkiaBaseWebView<\n TProps extends SkiaBaseViewProps\n> extends React.Component<TProps> {\n constructor(props: TProps) {\n super(props);\n this._mode = props.mode ?? \"default\";\n }\n\n private _surface: JsiSkSurface | null = null;\n private _unsubscriptions: Array<() => void> = [];\n private _touches: Array<TouchInfo> = [];\n private _canvas: SkCanvas | null = null;\n private _canvasRef = React.createRef<HTMLCanvasElement>();\n private _mode: DrawMode;\n private _redrawRequests = 0;\n private requestId = 0;\n\n protected width = 0;\n protected height = 0;\n\n private unsubscribeAll() {\n this._unsubscriptions.forEach((u) => u());\n this._unsubscriptions = [];\n }\n\n private onLayout(evt: LayoutChangeEvent) {\n const { CanvasKit } = global;\n const { width, height } = evt.nativeEvent.layout;\n this.width = width;\n this.height = height;\n // Reset canvas / surface on layout change\n if (this._canvasRef.current) {\n const canvas = this._canvasRef.current;\n canvas.width = width * pd;\n canvas.height = height * pd;\n const surface = CanvasKit.MakeWebGLCanvasSurface(this._canvasRef.current);\n if (!surface) {\n throw new Error(\"Could not create surface\");\n }\n this._surface = new JsiSkSurface(CanvasKit, surface);\n this._canvas = this._surface.getCanvas();\n this.redraw();\n }\n // Call onLayout callback if it exists\n if (this.props.onLayout) {\n this.props.onLayout(evt);\n }\n }\n\n protected getSize() {\n return { width: this.width, height: this.height };\n }\n\n componentDidMount() {\n // Start render loop\n this.tick();\n }\n\n componentDidUpdate() {\n this.redraw();\n }\n\n componentWillUnmount() {\n this.unsubscribeAll();\n cancelAnimationFrame(this.requestId);\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n this._canvas!.clear(CanvasKit.TRANSPARENT);\n this.renderInCanvas(this._canvas!, []);\n this._surface?.ref.flush();\n return this._surface?.makeImageSnapshot(rect);\n }\n\n /**\n * Override to render\n */\n protected abstract renderInCanvas(\n canvas: SkCanvas,\n touches: TouchInfo[]\n ): void;\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n private tick() {\n if (this._mode === \"continuous\" || this._redrawRequests > 0) {\n this._redrawRequests = 0;\n if (this._canvas) {\n const touches = [...this._touches];\n this._touches = [];\n const canvas = this._canvas!;\n canvas.clear(Float32Array.of(0, 0, 0, 0));\n canvas.save();\n canvas.scale(pd, pd);\n this.renderInCanvas(canvas, touches);\n canvas.restore();\n this._surface?.ref.flush();\n }\n }\n this.requestId = requestAnimationFrame(this.tick.bind(this));\n }\n\n public redraw() {\n this._redrawRequests++;\n }\n\n /**\n * Updates the drawing mode for the skia view. This is the same\n * as declaratively setting the mode property on the SkiaView.\n * There are two drawing modes, \"continuous\" and \"default\",\n * where the continuous mode will continuously redraw the view and\n * the default mode will only redraw when any of the regular react\n * properties are changed like size and margins.\n * @param mode Drawing mode to use.\n */\n public setDrawMode(mode: DrawMode) {\n this._mode = mode;\n this.tick();\n }\n\n /**\n * Registers one or move values as a dependant value of the Skia View. The view will\n * The view will redraw itself when any of the values change.\n * @param values Values to register\n */\n public registerValues(_values: SkiaValue<unknown>[]) {\n // Unsubscribe from dependency values\n this.unsubscribeAll();\n // Register redraw dependencies on values\n _values.forEach((v) => {\n this._unsubscriptions.push(\n v.addListener(() => {\n this.redraw();\n })\n );\n });\n }\n\n private handleTouchEvent(evt: PointerEvent, touchType: TouchType) {\n this._touches.push({\n id: evt.pointerId,\n x: evt.clientX - evt.currentTarget.getClientRects()[0].left,\n y: evt.clientY - evt.currentTarget.getClientRects()[0].top,\n force: evt.pressure,\n type: touchType,\n timestamp: Date.now(),\n });\n this.redraw();\n }\n\n createTouchHandler(touchType: TouchType) {\n return (evt: PointerEvent) => this.handleTouchEvent(evt, touchType);\n }\n\n render() {\n const { mode, debug = false, ...viewProps } = this.props;\n return (\n <View {...viewProps} onLayout={this.onLayout.bind(this)}>\n <canvas\n ref={this._canvasRef}\n style={{ display: \"flex\", flex: 1 }}\n onPointerDown={this.createTouchHandler(TouchType.Start)}\n onPointerMove={this.createTouchHandler(TouchType.Active)}\n onPointerUp={this.createTouchHandler(TouchType.End)}\n onPointerCancel={this.createTouchHandler(TouchType.Cancelled)}\n onPointerLeave={this.createTouchHandler(TouchType.End)}\n onPointerOut={this.createTouchHandler(TouchType.End)}\n />\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["pd","PixelRatio","get","SkiaBaseWebView","React","Component","constructor","props","createRef","_mode","mode","unsubscribeAll","_unsubscriptions","forEach","u","onLayout","evt","CanvasKit","global","width","height","nativeEvent","layout","_canvasRef","current","canvas","surface","MakeWebGLCanvasSurface","Error","_surface","JsiSkSurface","_canvas","getCanvas","redraw","getSize","componentDidMount","tick","componentDidUpdate","componentWillUnmount","cancelAnimationFrame","requestId","getContext","getExtension","loseContext","makeImageSnapshot","rect","clear","TRANSPARENT","renderInCanvas","ref","flush","_redrawRequests","touches","_touches","Float32Array","of","save","scale","restore","requestAnimationFrame","bind","setDrawMode","registerValues","_values","v","push","addListener","handleTouchEvent","touchType","id","pointerId","x","clientX","currentTarget","getClientRects","left","y","clientY","top","force","pressure","type","timestamp","Date","now","createTouchHandler","render","debug","viewProps","display","flex","TouchType","Start","Active","End","Cancelled"],"sources":["SkiaBaseWebView.tsx"],"sourcesContent":["/* global HTMLCanvasElement */\nimport React from \"react\";\nimport type { PointerEvent } from \"react\";\nimport type { LayoutChangeEvent } from \"react-native\";\nimport { PixelRatio, View } from \"react-native\";\n\nimport type { SkRect, SkCanvas } from \"../skia/types\";\nimport type { SkiaValue } from \"../values\";\nimport { JsiSkSurface } from \"../skia/web/JsiSkSurface\";\n\nimport type { DrawMode, SkiaBaseViewProps, TouchInfo } from \"./types\";\nimport { TouchType } from \"./types\";\n\nconst pd = PixelRatio.get();\n\nexport abstract class SkiaBaseWebView<\n TProps extends SkiaBaseViewProps\n> extends React.Component<TProps> {\n constructor(props: TProps) {\n super(props);\n this._mode = props.mode ?? \"default\";\n }\n\n private _surface: JsiSkSurface | null = null;\n private _unsubscriptions: Array<() => void> = [];\n private _touches: Array<TouchInfo> = [];\n private _canvas: SkCanvas | null = null;\n private _canvasRef = React.createRef<HTMLCanvasElement>();\n private _mode: DrawMode;\n private _redrawRequests = 0;\n private requestId = 0;\n\n protected width = 0;\n protected height = 0;\n\n private unsubscribeAll() {\n this._unsubscriptions.forEach((u) => u());\n this._unsubscriptions = [];\n }\n\n private onLayout(evt: LayoutChangeEvent) {\n const { CanvasKit } = global;\n const { width, height } = evt.nativeEvent.layout;\n this.width = width;\n this.height = height;\n // Reset canvas / surface on layout change\n if (this._canvasRef.current) {\n const canvas = this._canvasRef.current;\n canvas.width = width * pd;\n canvas.height = height * pd;\n const surface = CanvasKit.MakeWebGLCanvasSurface(this._canvasRef.current);\n if (!surface) {\n throw new Error(\"Could not create surface\");\n }\n this._surface = new JsiSkSurface(CanvasKit, surface);\n this._canvas = this._surface.getCanvas();\n this.redraw();\n }\n // Call onLayout callback if it exists\n if (this.props.onLayout) {\n this.props.onLayout(evt);\n }\n }\n\n protected getSize() {\n return { width: this.width, height: this.height };\n }\n\n componentDidMount() {\n // Start render loop\n this.tick();\n }\n\n componentDidUpdate() {\n this.redraw();\n }\n\n componentWillUnmount() {\n this.unsubscribeAll();\n cancelAnimationFrame(this.requestId);\n // https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_lose_context\n this._canvasRef.current\n ?.getContext(\"webgl2\")\n ?.getExtension(\"WEBGL_lose_context\")\n ?.loseContext();\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n this._canvas!.clear(CanvasKit.TRANSPARENT);\n this.renderInCanvas(this._canvas!, []);\n this._surface?.ref.flush();\n return this._surface?.makeImageSnapshot(rect);\n }\n\n /**\n * Override to render\n */\n protected abstract renderInCanvas(\n canvas: SkCanvas,\n touches: TouchInfo[]\n ): void;\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n private tick() {\n if (this._mode === \"continuous\" || this._redrawRequests > 0) {\n this._redrawRequests = 0;\n if (this._canvas) {\n const touches = [...this._touches];\n this._touches = [];\n const canvas = this._canvas!;\n canvas.clear(Float32Array.of(0, 0, 0, 0));\n canvas.save();\n canvas.scale(pd, pd);\n this.renderInCanvas(canvas, touches);\n canvas.restore();\n this._surface?.ref.flush();\n }\n }\n this.requestId = requestAnimationFrame(this.tick.bind(this));\n }\n\n public redraw() {\n this._redrawRequests++;\n }\n\n /**\n * Updates the drawing mode for the skia view. This is the same\n * as declaratively setting the mode property on the SkiaView.\n * There are two drawing modes, \"continuous\" and \"default\",\n * where the continuous mode will continuously redraw the view and\n * the default mode will only redraw when any of the regular react\n * properties are changed like size and margins.\n * @param mode Drawing mode to use.\n */\n public setDrawMode(mode: DrawMode) {\n this._mode = mode;\n this.tick();\n }\n\n /**\n * Registers one or move values as a dependant value of the Skia View. The view will\n * The view will redraw itself when any of the values change.\n * @param values Values to register\n */\n public registerValues(_values: SkiaValue<unknown>[]) {\n // Unsubscribe from dependency values\n this.unsubscribeAll();\n // Register redraw dependencies on values\n _values.forEach((v) => {\n this._unsubscriptions.push(\n v.addListener(() => {\n this.redraw();\n })\n );\n });\n }\n\n private handleTouchEvent(evt: PointerEvent, touchType: TouchType) {\n this._touches.push({\n id: evt.pointerId,\n x: evt.clientX - evt.currentTarget.getClientRects()[0].left,\n y: evt.clientY - evt.currentTarget.getClientRects()[0].top,\n force: evt.pressure,\n type: touchType,\n timestamp: Date.now(),\n });\n this.redraw();\n }\n\n createTouchHandler(touchType: TouchType) {\n return (evt: PointerEvent) => this.handleTouchEvent(evt, touchType);\n }\n\n render() {\n const { mode, debug = false, ...viewProps } = this.props;\n return (\n <View {...viewProps} onLayout={this.onLayout.bind(this)}>\n <canvas\n ref={this._canvasRef}\n style={{ display: \"flex\", flex: 1 }}\n onPointerDown={this.createTouchHandler(TouchType.Start)}\n onPointerMove={this.createTouchHandler(TouchType.Active)}\n onPointerUp={this.createTouchHandler(TouchType.End)}\n onPointerCancel={this.createTouchHandler(TouchType.Cancelled)}\n onPointerLeave={this.createTouchHandler(TouchType.End)}\n onPointerOut={this.createTouchHandler(TouchType.End)}\n />\n </View>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { NATIVE_DOM } from "../../renderer/HostComponents";
1
2
  import { FillNode, ImageNode, CircleNode, PathNode, LineNode, PatchNode, PointsNode, RectNode, RRectNode, VerticesNode, TextNode, OvalNode, CustomDrawingNode, TextPathNode, TextBlobNode, GlyphsNode, DiffRectNode, PictureNode, ImageSVGNode, BackdropFilterNode, BoxNode, BoxShadowNode } from "./drawings";
2
3
  import { BlendImageFilterNode, BlurImageFilterNode, BlurMaskFilterNode, DisplacementMapImageFilterNode, DropShadowImageFilterNode, OffsetImageFilterNode, RuntimeShaderImageFilterNode, CornerPathEffectNode, DiscretePathEffectNode, DashPathEffectNode, Path1DPathEffectNode, Path2DPathEffectNode, SumPathEffectNode, Line2DPathEffectNode, BlendNode } from "./paint";
3
4
  import { MatrixColorFilterNode, LumaColorFilterNode, LinearToSRGBGammaColorFilterNode, SRGBToLinearGammaColorFilterNode, BlendColorFilterNode, LerpColorFilterNode } from "./paint/ColorFilters";
@@ -12,139 +13,139 @@ export class JsiSkDOM {
12
13
  }
13
14
 
14
15
  Layer(props) {
15
- return global.SkiaDomApi && global.SkiaDomApi.LayerNode ? global.SkiaDomApi.LayerNode(props !== null && props !== void 0 ? props : {}) : new LayerNode(this.ctx, props !== null && props !== void 0 ? props : {});
16
+ return NATIVE_DOM ? global.SkiaDomApi.LayerNode(props !== null && props !== void 0 ? props : {}) : new LayerNode(this.ctx, props !== null && props !== void 0 ? props : {});
16
17
  }
17
18
 
18
19
  Group(props) {
19
- return global.SkiaDomApi && global.SkiaDomApi.GroupNode ? global.SkiaDomApi.GroupNode(props !== null && props !== void 0 ? props : {}) : new GroupNode(this.ctx, props !== null && props !== void 0 ? props : {});
20
+ return NATIVE_DOM ? global.SkiaDomApi.GroupNode(props !== null && props !== void 0 ? props : {}) : new GroupNode(this.ctx, props !== null && props !== void 0 ? props : {});
20
21
  }
21
22
 
22
23
  Paint(props) {
23
- return global.SkiaDomApi && global.SkiaDomApi.PaintNode ? global.SkiaDomApi.PaintNode(props !== null && props !== void 0 ? props : {}) : new PaintNode(this.ctx, props);
24
+ return NATIVE_DOM ? global.SkiaDomApi.PaintNode(props !== null && props !== void 0 ? props : {}) : new PaintNode(this.ctx, props);
24
25
  } // Drawings
25
26
 
26
27
 
27
28
  Fill(props) {
28
- return global.SkiaDomApi && global.SkiaDomApi.FillNode ? global.SkiaDomApi.FillNode(props !== null && props !== void 0 ? props : {}) : new FillNode(this.ctx, props);
29
+ return NATIVE_DOM ? global.SkiaDomApi.FillNode(props !== null && props !== void 0 ? props : {}) : new FillNode(this.ctx, props);
29
30
  }
30
31
 
31
32
  Image(props) {
32
- return global.SkiaDomApi && global.SkiaDomApi.ImageNode ? global.SkiaDomApi.ImageNode(props !== null && props !== void 0 ? props : {}) : new ImageNode(this.ctx, props);
33
+ return NATIVE_DOM ? global.SkiaDomApi.ImageNode(props !== null && props !== void 0 ? props : {}) : new ImageNode(this.ctx, props);
33
34
  }
34
35
 
35
36
  Circle(props) {
36
- return global.SkiaDomApi && global.SkiaDomApi.CircleNode ? global.SkiaDomApi.CircleNode(props !== null && props !== void 0 ? props : {}) : new CircleNode(this.ctx, props);
37
+ return NATIVE_DOM ? global.SkiaDomApi.CircleNode(props !== null && props !== void 0 ? props : {}) : new CircleNode(this.ctx, props);
37
38
  }
38
39
 
39
40
  Path(props) {
40
- return global.SkiaDomApi && global.SkiaDomApi.PathNode ? global.SkiaDomApi.PathNode(props !== null && props !== void 0 ? props : {}) : new PathNode(this.ctx, props);
41
+ return NATIVE_DOM ? global.SkiaDomApi.PathNode(props !== null && props !== void 0 ? props : {}) : new PathNode(this.ctx, props);
41
42
  }
42
43
 
43
44
  CustomDrawing(props) {
44
- return global.SkiaDomApi && global.SkiaDomApi.CustomDrawingNode ? global.SkiaDomApi.CustomDrawingNode(props !== null && props !== void 0 ? props : {}) : new CustomDrawingNode(this.ctx, props);
45
+ return NATIVE_DOM ? global.SkiaDomApi.CustomDrawingNode(props !== null && props !== void 0 ? props : {}) : new CustomDrawingNode(this.ctx, props);
45
46
  }
46
47
 
47
48
  Line(props) {
48
- return global.SkiaDomApi && global.SkiaDomApi.LineNode ? global.SkiaDomApi.LineNode(props !== null && props !== void 0 ? props : {}) : new LineNode(this.ctx, props);
49
+ return NATIVE_DOM ? global.SkiaDomApi.LineNode(props !== null && props !== void 0 ? props : {}) : new LineNode(this.ctx, props);
49
50
  }
50
51
 
51
52
  Oval(props) {
52
- return global.SkiaDomApi && global.SkiaDomApi.OvalNode ? global.SkiaDomApi.OvalNode(props !== null && props !== void 0 ? props : {}) : new OvalNode(this.ctx, props);
53
+ return NATIVE_DOM ? global.SkiaDomApi.OvalNode(props !== null && props !== void 0 ? props : {}) : new OvalNode(this.ctx, props);
53
54
  }
54
55
 
55
56
  Patch(props) {
56
- return global.SkiaDomApi && global.SkiaDomApi.PatchNode ? global.SkiaDomApi.PatchNode(props !== null && props !== void 0 ? props : {}) : new PatchNode(this.ctx, props);
57
+ return NATIVE_DOM ? global.SkiaDomApi.PatchNode(props !== null && props !== void 0 ? props : {}) : new PatchNode(this.ctx, props);
57
58
  }
58
59
 
59
60
  Points(props) {
60
- return global.SkiaDomApi && global.SkiaDomApi.PointsNode ? global.SkiaDomApi.PointsNode(props !== null && props !== void 0 ? props : {}) : new PointsNode(this.ctx, props);
61
+ return NATIVE_DOM ? global.SkiaDomApi.PointsNode(props !== null && props !== void 0 ? props : {}) : new PointsNode(this.ctx, props);
61
62
  }
62
63
 
63
64
  Rect(props) {
64
- return global.SkiaDomApi && global.SkiaDomApi.RectNode ? global.SkiaDomApi.RectNode(props) : new RectNode(this.ctx, props);
65
+ return NATIVE_DOM ? global.SkiaDomApi.RectNode(props) : new RectNode(this.ctx, props);
65
66
  }
66
67
 
67
68
  RRect(props) {
68
- return global.SkiaDomApi && global.SkiaDomApi.RRectNode ? global.SkiaDomApi.RRectNode(props) : new RRectNode(this.ctx, props);
69
+ return NATIVE_DOM ? global.SkiaDomApi.RRectNode(props) : new RRectNode(this.ctx, props);
69
70
  }
70
71
 
71
72
  Vertices(props) {
72
- return global.SkiaDomApi && global.SkiaDomApi.VerticesNode ? global.SkiaDomApi.VerticesNode(props) : new VerticesNode(this.ctx, props);
73
+ return NATIVE_DOM ? global.SkiaDomApi.VerticesNode(props) : new VerticesNode(this.ctx, props);
73
74
  }
74
75
 
75
76
  Text(props) {
76
- return global.SkiaDomApi && global.SkiaDomApi.TextNode ? global.SkiaDomApi.TextNode(props) : new TextNode(this.ctx, props);
77
+ return NATIVE_DOM ? global.SkiaDomApi.TextNode(props) : new TextNode(this.ctx, props);
77
78
  }
78
79
 
79
80
  TextPath(props) {
80
- return global.SkiaDomApi && global.SkiaDomApi.TextPathNode ? global.SkiaDomApi.TextPathNode(props) : new TextPathNode(this.ctx, props);
81
+ return NATIVE_DOM ? global.SkiaDomApi.TextPathNode(props) : new TextPathNode(this.ctx, props);
81
82
  }
82
83
 
83
84
  TextBlob(props) {
84
- return global.SkiaDomApi && global.SkiaDomApi.TextBlobNode ? global.SkiaDomApi.TextBlobNode(props) : new TextBlobNode(this.ctx, props);
85
+ return NATIVE_DOM ? global.SkiaDomApi.TextBlobNode(props) : new TextBlobNode(this.ctx, props);
85
86
  }
86
87
 
87
88
  Glyphs(props) {
88
- return global.SkiaDomApi && global.SkiaDomApi.GlyphsNode ? global.SkiaDomApi.GlyphsNode(props) : new GlyphsNode(this.ctx, props);
89
+ return NATIVE_DOM ? global.SkiaDomApi.GlyphsNode(props) : new GlyphsNode(this.ctx, props);
89
90
  }
90
91
 
91
92
  DiffRect(props) {
92
- return global.SkiaDomApi && global.SkiaDomApi.DiffRectNode ? global.SkiaDomApi.DiffRectNode(props) : new DiffRectNode(this.ctx, props);
93
+ return NATIVE_DOM ? global.SkiaDomApi.DiffRectNode(props) : new DiffRectNode(this.ctx, props);
93
94
  }
94
95
 
95
96
  Picture(props) {
96
- return global.SkiaDomApi && global.SkiaDomApi.PictureNode ? global.SkiaDomApi.PictureNode(props) : new PictureNode(this.ctx, props);
97
+ return NATIVE_DOM ? global.SkiaDomApi.PictureNode(props) : new PictureNode(this.ctx, props);
97
98
  }
98
99
 
99
100
  ImageSVG(props) {
100
- return global.SkiaDomApi && global.SkiaDomApi.ImageSVGNode ? global.SkiaDomApi.ImageSVGNode(props) : new ImageSVGNode(this.ctx, props);
101
+ return NATIVE_DOM ? global.SkiaDomApi.ImageSVGNode(props) : new ImageSVGNode(this.ctx, props);
101
102
  } // BlurMaskFilters
102
103
 
103
104
 
104
105
  BlurMaskFilter(props) {
105
- return global.SkiaDomApi && global.SkiaDomApi.BlurMaskFilterNode ? global.SkiaDomApi.BlurMaskFilterNode(props) : new BlurMaskFilterNode(this.ctx, props);
106
+ return NATIVE_DOM ? global.SkiaDomApi.BlurMaskFilterNode(props) : new BlurMaskFilterNode(this.ctx, props);
106
107
  } // ImageFilters
107
108
 
108
109
 
109
110
  BlendImageFilter(props) {
110
- return global.SkiaDomApi && global.SkiaDomApi.BlendImageFilterNode ? global.SkiaDomApi.BlendImageFilterNode(props) : new BlendImageFilterNode(this.ctx, props);
111
+ return NATIVE_DOM ? global.SkiaDomApi.BlendImageFilterNode(props) : new BlendImageFilterNode(this.ctx, props);
111
112
  }
112
113
 
113
114
  DropShadowImageFilter(props) {
114
- return global.SkiaDomApi && global.SkiaDomApi.DropShadowImageFilterNode ? global.SkiaDomApi.DropShadowImageFilterNode(props) : new DropShadowImageFilterNode(this.ctx, props);
115
+ return NATIVE_DOM ? global.SkiaDomApi.DropShadowImageFilterNode(props) : new DropShadowImageFilterNode(this.ctx, props);
115
116
  }
116
117
 
117
118
  DisplacementMapImageFilter(props) {
118
- return global.SkiaDomApi && global.SkiaDomApi.DisplacementMapImageFilterNode ? global.SkiaDomApi.DisplacementMapImageFilterNode(props) : new DisplacementMapImageFilterNode(this.ctx, props);
119
+ return NATIVE_DOM ? global.SkiaDomApi.DisplacementMapImageFilterNode(props) : new DisplacementMapImageFilterNode(this.ctx, props);
119
120
  }
120
121
 
121
122
  BlurImageFilter(props) {
122
- return global.SkiaDomApi && global.SkiaDomApi.BlurImageFilterNode ? global.SkiaDomApi.BlurImageFilterNode(props) : new BlurImageFilterNode(this.ctx, props);
123
+ return NATIVE_DOM ? global.SkiaDomApi.BlurImageFilterNode(props) : new BlurImageFilterNode(this.ctx, props);
123
124
  }
124
125
 
125
126
  OffsetImageFilter(props) {
126
- return global.SkiaDomApi && global.SkiaDomApi.OffsetImageFilterNode ? global.SkiaDomApi.OffsetImageFilterNode(props) : new OffsetImageFilterNode(this.ctx, props);
127
+ return NATIVE_DOM ? global.SkiaDomApi.OffsetImageFilterNode(props) : new OffsetImageFilterNode(this.ctx, props);
127
128
  }
128
129
 
129
130
  MorphologyImageFilter(props) {
130
- return global.SkiaDomApi && global.SkiaDomApi.MorphologyImageFilterNode ? global.SkiaDomApi.MorphologyImageFilterNode(props) : new MorphologyImageFilterNode(this.ctx, props);
131
+ return NATIVE_DOM ? global.SkiaDomApi.MorphologyImageFilterNode(props) : new MorphologyImageFilterNode(this.ctx, props);
131
132
  }
132
133
 
133
134
  RuntimeShaderImageFilter(props) {
134
- return global.SkiaDomApi && global.SkiaDomApi.RuntimeShaderImageFilterNode ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props) : new RuntimeShaderImageFilterNode(this.ctx, props);
135
+ return NATIVE_DOM ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props) : new RuntimeShaderImageFilterNode(this.ctx, props);
135
136
  } // Color Filters
136
137
 
137
138
 
138
139
  MatrixColorFilter(props) {
139
- return global.SkiaDomApi && global.SkiaDomApi.MatrixColorFilterNode ? global.SkiaDomApi.MatrixColorFilterNode(props) : new MatrixColorFilterNode(this.ctx, props);
140
+ return NATIVE_DOM ? global.SkiaDomApi.MatrixColorFilterNode(props) : new MatrixColorFilterNode(this.ctx, props);
140
141
  }
141
142
 
142
143
  BlendColorFilter(props) {
143
- return global.SkiaDomApi && global.SkiaDomApi.BlendColorFilterNode ? global.SkiaDomApi.BlendColorFilterNode(props) : new BlendColorFilterNode(this.ctx, props);
144
+ return NATIVE_DOM ? global.SkiaDomApi.BlendColorFilterNode(props) : new BlendColorFilterNode(this.ctx, props);
144
145
  }
145
146
 
146
147
  LumaColorFilter() {
147
- return global.SkiaDomApi && global.SkiaDomApi.LumaColorFilterNode ? global.SkiaDomApi.LumaColorFilterNode() : new LumaColorFilterNode(this.ctx);
148
+ return NATIVE_DOM ? global.SkiaDomApi.LumaColorFilterNode() : new LumaColorFilterNode(this.ctx);
148
149
  }
149
150
 
150
151
  LinearToSRGBGammaColorFilter() {
@@ -156,89 +157,89 @@ export class JsiSkDOM {
156
157
  }
157
158
 
158
159
  LerpColorFilter(props) {
159
- return global.SkiaDomApi && global.SkiaDomApi.LerpColorFilterNode ? global.SkiaDomApi.LerpColorFilterNode(props) : new LerpColorFilterNode(this.ctx, props);
160
+ return NATIVE_DOM ? global.SkiaDomApi.LerpColorFilterNode(props) : new LerpColorFilterNode(this.ctx, props);
160
161
  } // Shaders
161
162
 
162
163
 
163
164
  Shader(props) {
164
- return global.SkiaDomApi && global.SkiaDomApi.ShaderNode ? global.SkiaDomApi.ShaderNode(props) : new ShaderNode(this.ctx, props);
165
+ return NATIVE_DOM ? global.SkiaDomApi.ShaderNode(props) : new ShaderNode(this.ctx, props);
165
166
  }
166
167
 
167
168
  ImageShader(props) {
168
- return global.SkiaDomApi && global.SkiaDomApi.ImageShaderNode ? global.SkiaDomApi.ImageShaderNode(props) : new ImageShaderNode(this.ctx, props);
169
+ return NATIVE_DOM ? global.SkiaDomApi.ImageShaderNode(props) : new ImageShaderNode(this.ctx, props);
169
170
  }
170
171
 
171
172
  ColorShader(props) {
172
- return global.SkiaDomApi && global.SkiaDomApi.ColorShaderNode ? global.SkiaDomApi.ColorShaderNode(props) : new ColorNode(this.ctx, props);
173
+ return NATIVE_DOM ? global.SkiaDomApi.ColorShaderNode(props) : new ColorNode(this.ctx, props);
173
174
  }
174
175
 
175
176
  SweepGradient(props) {
176
- return global.SkiaDomApi && global.SkiaDomApi.SweepGradientNode ? global.SkiaDomApi.SweepGradientNode(props) : new SweepGradientNode(this.ctx, props);
177
+ return NATIVE_DOM ? global.SkiaDomApi.SweepGradientNode(props) : new SweepGradientNode(this.ctx, props);
177
178
  }
178
179
 
179
180
  Turbulence(props) {
180
- return global.SkiaDomApi && global.SkiaDomApi.TurbulenceNode ? global.SkiaDomApi.TurbulenceNode(props) : new TurbulenceNode(this.ctx, props);
181
+ return NATIVE_DOM ? global.SkiaDomApi.TurbulenceNode(props) : new TurbulenceNode(this.ctx, props);
181
182
  }
182
183
 
183
184
  FractalNoise(props) {
184
- return global.SkiaDomApi && global.SkiaDomApi.FractalNoiseNode ? global.SkiaDomApi.FractalNoiseNode(props) : new FractalNoiseNode(this.ctx, props);
185
+ return NATIVE_DOM ? global.SkiaDomApi.FractalNoiseNode(props) : new FractalNoiseNode(this.ctx, props);
185
186
  }
186
187
 
187
188
  LinearGradient(props) {
188
- return global.SkiaDomApi && global.SkiaDomApi.LinearGradientNode ? global.SkiaDomApi.LinearGradientNode(props) : new LinearGradientNode(this.ctx, props);
189
+ return NATIVE_DOM ? global.SkiaDomApi.LinearGradientNode(props) : new LinearGradientNode(this.ctx, props);
189
190
  }
190
191
 
191
192
  RadialGradient(props) {
192
- return global.SkiaDomApi && global.SkiaDomApi.RadialGradientNode ? global.SkiaDomApi.RadialGradientNode(props) : new RadialGradientNode(this.ctx, props);
193
+ return NATIVE_DOM ? global.SkiaDomApi.RadialGradientNode(props) : new RadialGradientNode(this.ctx, props);
193
194
  }
194
195
 
195
196
  TwoPointConicalGradient(props) {
196
- return global.SkiaDomApi && global.SkiaDomApi.TwoPointConicalGradientNode ? global.SkiaDomApi.TwoPointConicalGradientNode(props) : new TwoPointConicalGradientNode(this.ctx, props);
197
+ return NATIVE_DOM ? global.SkiaDomApi.TwoPointConicalGradientNode(props) : new TwoPointConicalGradientNode(this.ctx, props);
197
198
  } // Path Effects
198
199
 
199
200
 
200
201
  CornerPathEffect(props) {
201
- return global.SkiaDomApi && global.SkiaDomApi.CornerPathEffectNode ? global.SkiaDomApi.CornerPathEffectNode(props) : new CornerPathEffectNode(this.ctx, props);
202
+ return NATIVE_DOM ? global.SkiaDomApi.CornerPathEffectNode(props) : new CornerPathEffectNode(this.ctx, props);
202
203
  }
203
204
 
204
205
  DiscretePathEffect(props) {
205
- return global.SkiaDomApi && global.SkiaDomApi.DiscretePathEffectNode ? global.SkiaDomApi.DiscretePathEffectNode(props) : new DiscretePathEffectNode(this.ctx, props);
206
+ return NATIVE_DOM ? global.SkiaDomApi.DiscretePathEffectNode(props) : new DiscretePathEffectNode(this.ctx, props);
206
207
  }
207
208
 
208
209
  DashPathEffect(props) {
209
- return global.SkiaDomApi && global.SkiaDomApi.DashPathEffectNode ? global.SkiaDomApi.DashPathEffectNode(props) : new DashPathEffectNode(this.ctx, props);
210
+ return NATIVE_DOM ? global.SkiaDomApi.DashPathEffectNode(props) : new DashPathEffectNode(this.ctx, props);
210
211
  }
211
212
 
212
213
  Path1DPathEffect(props) {
213
- return global.SkiaDomApi && global.SkiaDomApi.Path1DPathEffectNode ? global.SkiaDomApi.Path1DPathEffectNode(props) : new Path1DPathEffectNode(this.ctx, props);
214
+ return NATIVE_DOM ? global.SkiaDomApi.Path1DPathEffectNode(props) : new Path1DPathEffectNode(this.ctx, props);
214
215
  }
215
216
 
216
217
  Path2DPathEffect(props) {
217
- return global.SkiaDomApi && global.SkiaDomApi.Path2DPathEffectNode ? global.SkiaDomApi.Path2DPathEffectNode(props) : new Path2DPathEffectNode(this.ctx, props);
218
+ return NATIVE_DOM ? global.SkiaDomApi.Path2DPathEffectNode(props) : new Path2DPathEffectNode(this.ctx, props);
218
219
  }
219
220
 
220
221
  SumPathEffect() {
221
- return global.SkiaDomApi && global.SkiaDomApi.SumPathEffectNode ? global.SkiaDomApi.SumPathEffectNode() : new SumPathEffectNode(this.ctx);
222
+ return NATIVE_DOM ? global.SkiaDomApi.SumPathEffectNode() : new SumPathEffectNode(this.ctx);
222
223
  }
223
224
 
224
225
  Line2DPathEffect(props) {
225
- return global.SkiaDomApi && global.SkiaDomApi.Line2DPathEffectNode ? global.SkiaDomApi.Line2DPathEffectNode(props) : new Line2DPathEffectNode(this.ctx, props);
226
+ return NATIVE_DOM ? global.SkiaDomApi.Line2DPathEffectNode(props) : new Line2DPathEffectNode(this.ctx, props);
226
227
  }
227
228
 
228
229
  Blend(props) {
229
- return global.SkiaDomApi && global.SkiaDomApi.BlendNode ? global.SkiaDomApi.BlendNode(props) : new BlendNode(this.ctx, props);
230
+ return NATIVE_DOM ? global.SkiaDomApi.BlendNode(props) : new BlendNode(this.ctx, props);
230
231
  }
231
232
 
232
233
  BackdropFilter(props) {
233
- return global.SkiaDomApi && global.SkiaDomApi.BackdropFilterNode ? global.SkiaDomApi.BackdropFilterNode(props) : new BackdropFilterNode(this.ctx, props);
234
+ return NATIVE_DOM ? global.SkiaDomApi.BackdropFilterNode(props) : new BackdropFilterNode(this.ctx, props);
234
235
  }
235
236
 
236
237
  Box(props) {
237
- return global.SkiaDomApi && global.SkiaDomApi.BoxNode ? global.SkiaDomApi.BoxNode(props) : new BoxNode(this.ctx, props);
238
+ return NATIVE_DOM ? global.SkiaDomApi.BoxNode(props) : new BoxNode(this.ctx, props);
238
239
  }
239
240
 
240
241
  BoxShadow(props) {
241
- return global.SkiaDomApi && global.SkiaDomApi.BoxShadowNode ? global.SkiaDomApi.BoxShadowNode(props) : new BoxShadowNode(this.ctx, props);
242
+ return NATIVE_DOM ? global.SkiaDomApi.BoxShadowNode(props) : new BoxShadowNode(this.ctx, props);
242
243
  }
243
244
 
244
245
  }
@@ -1 +1 @@
1
- {"version":3,"names":["FillNode","ImageNode","CircleNode","PathNode","LineNode","PatchNode","PointsNode","RectNode","RRectNode","VerticesNode","TextNode","OvalNode","CustomDrawingNode","TextPathNode","TextBlobNode","GlyphsNode","DiffRectNode","PictureNode","ImageSVGNode","BackdropFilterNode","BoxNode","BoxShadowNode","BlendImageFilterNode","BlurImageFilterNode","BlurMaskFilterNode","DisplacementMapImageFilterNode","DropShadowImageFilterNode","OffsetImageFilterNode","RuntimeShaderImageFilterNode","CornerPathEffectNode","DiscretePathEffectNode","DashPathEffectNode","Path1DPathEffectNode","Path2DPathEffectNode","SumPathEffectNode","Line2DPathEffectNode","BlendNode","MatrixColorFilterNode","LumaColorFilterNode","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilterNode","BlendColorFilterNode","LerpColorFilterNode","LinearGradientNode","ShaderNode","ImageShaderNode","TwoPointConicalGradientNode","TurbulenceNode","SweepGradientNode","RadialGradientNode","FractalNoiseNode","ColorNode","MorphologyImageFilterNode","GroupNode","PaintNode","LayerNode","JsiSkDOM","constructor","ctx","Layer","props","global","SkiaDomApi","Group","Paint","Fill","Image","Circle","Path","CustomDrawing","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","BlurImageFilter","OffsetImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","LerpColorFilter","Shader","ImageShader","ColorShader","ColorShaderNode","SweepGradient","Turbulence","FractalNoise","LinearGradient","RadialGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n CustomDrawingNodeProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n CustomDrawingNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext) {}\n\n Layer(props?: ChildrenProps) {\n return global.SkiaDomApi && global.SkiaDomApi.LayerNode\n ? global.SkiaDomApi.LayerNode(props ?? {})\n : new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return global.SkiaDomApi && global.SkiaDomApi.GroupNode\n ? global.SkiaDomApi.GroupNode(props ?? {})\n : new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return global.SkiaDomApi && global.SkiaDomApi.PaintNode\n ? global.SkiaDomApi.PaintNode(props ?? {})\n : new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return global.SkiaDomApi && global.SkiaDomApi.FillNode\n ? global.SkiaDomApi.FillNode(props ?? {})\n : new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return global.SkiaDomApi && global.SkiaDomApi.ImageNode\n ? global.SkiaDomApi.ImageNode(props ?? {})\n : new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return global.SkiaDomApi && global.SkiaDomApi.CircleNode\n ? global.SkiaDomApi.CircleNode(props ?? {})\n : new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return global.SkiaDomApi && global.SkiaDomApi.PathNode\n ? global.SkiaDomApi.PathNode(props ?? {})\n : new PathNode(this.ctx, props);\n }\n\n CustomDrawing(props: CustomDrawingNodeProps) {\n return global.SkiaDomApi && global.SkiaDomApi.CustomDrawingNode\n ? global.SkiaDomApi.CustomDrawingNode(props ?? {})\n : new CustomDrawingNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return global.SkiaDomApi && global.SkiaDomApi.LineNode\n ? global.SkiaDomApi.LineNode(props ?? {})\n : new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return global.SkiaDomApi && global.SkiaDomApi.OvalNode\n ? global.SkiaDomApi.OvalNode(props ?? {})\n : new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return global.SkiaDomApi && global.SkiaDomApi.PatchNode\n ? global.SkiaDomApi.PatchNode(props ?? {})\n : new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return global.SkiaDomApi && global.SkiaDomApi.PointsNode\n ? global.SkiaDomApi.PointsNode(props ?? {})\n : new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.RectNode\n ? global.SkiaDomApi.RectNode(props)\n : new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.RRectNode\n ? global.SkiaDomApi.RRectNode(props)\n : new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return global.SkiaDomApi && global.SkiaDomApi.VerticesNode\n ? global.SkiaDomApi.VerticesNode(props)\n : new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return global.SkiaDomApi && global.SkiaDomApi.TextNode\n ? global.SkiaDomApi.TextNode(props)\n : new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return global.SkiaDomApi && global.SkiaDomApi.TextPathNode\n ? global.SkiaDomApi.TextPathNode(props)\n : new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return global.SkiaDomApi && global.SkiaDomApi.TextBlobNode\n ? global.SkiaDomApi.TextBlobNode(props)\n : new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return global.SkiaDomApi && global.SkiaDomApi.GlyphsNode\n ? global.SkiaDomApi.GlyphsNode(props)\n : new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.DiffRectNode\n ? global.SkiaDomApi.DiffRectNode(props)\n : new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return global.SkiaDomApi && global.SkiaDomApi.PictureNode\n ? global.SkiaDomApi.PictureNode(props)\n : new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return global.SkiaDomApi && global.SkiaDomApi.ImageSVGNode\n ? global.SkiaDomApi.ImageSVGNode(props)\n : new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BlurMaskFilterNode\n ? global.SkiaDomApi.BlurMaskFilterNode(props)\n : new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BlendImageFilterNode\n ? global.SkiaDomApi.BlendImageFilterNode(props)\n : new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.DropShadowImageFilterNode\n ? global.SkiaDomApi.DropShadowImageFilterNode(props)\n : new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.DisplacementMapImageFilterNode\n ? global.SkiaDomApi.DisplacementMapImageFilterNode(props)\n : new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BlurImageFilterNode\n ? global.SkiaDomApi.BlurImageFilterNode(props)\n : new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.OffsetImageFilterNode\n ? global.SkiaDomApi.OffsetImageFilterNode(props)\n : new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.MorphologyImageFilterNode\n ? global.SkiaDomApi.MorphologyImageFilterNode(props)\n : new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.RuntimeShaderImageFilterNode\n ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props)\n : new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.MatrixColorFilterNode\n ? global.SkiaDomApi.MatrixColorFilterNode(props)\n : new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BlendColorFilterNode\n ? global.SkiaDomApi.BlendColorFilterNode(props)\n : new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return global.SkiaDomApi && global.SkiaDomApi.LumaColorFilterNode\n ? global.SkiaDomApi.LumaColorFilterNode()\n : new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.LinearToSRGBGammaColorFilterNode\n ? global.SkiaDomApi.LinearToSRGBGammaColorFilterNode()\n : new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.SRGBToLinearGammaColorFilterNode\n ? global.SkiaDomApi.SRGBToLinearGammaColorFilterNode()\n : new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return global.SkiaDomApi && global.SkiaDomApi.LerpColorFilterNode\n ? global.SkiaDomApi.LerpColorFilterNode(props)\n : new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return global.SkiaDomApi && global.SkiaDomApi.ShaderNode\n ? global.SkiaDomApi.ShaderNode(props)\n : new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return global.SkiaDomApi && global.SkiaDomApi.ImageShaderNode\n ? global.SkiaDomApi.ImageShaderNode(props)\n : new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return global.SkiaDomApi && global.SkiaDomApi.ColorShaderNode\n ? global.SkiaDomApi.ColorShaderNode(props)\n : new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return global.SkiaDomApi && global.SkiaDomApi.SweepGradientNode\n ? global.SkiaDomApi.SweepGradientNode(props)\n : new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return global.SkiaDomApi && global.SkiaDomApi.TurbulenceNode\n ? global.SkiaDomApi.TurbulenceNode(props)\n : new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return global.SkiaDomApi && global.SkiaDomApi.FractalNoiseNode\n ? global.SkiaDomApi.FractalNoiseNode(props)\n : new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return global.SkiaDomApi && global.SkiaDomApi.LinearGradientNode\n ? global.SkiaDomApi.LinearGradientNode(props)\n : new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return global.SkiaDomApi && global.SkiaDomApi.RadialGradientNode\n ? global.SkiaDomApi.RadialGradientNode(props)\n : new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return global.SkiaDomApi && global.SkiaDomApi.TwoPointConicalGradientNode\n ? global.SkiaDomApi.TwoPointConicalGradientNode(props)\n : new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.CornerPathEffectNode\n ? global.SkiaDomApi.CornerPathEffectNode(props)\n : new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.DiscretePathEffectNode\n ? global.SkiaDomApi.DiscretePathEffectNode(props)\n : new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.DashPathEffectNode\n ? global.SkiaDomApi.DashPathEffectNode(props)\n : new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.Path1DPathEffectNode\n ? global.SkiaDomApi.Path1DPathEffectNode(props)\n : new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.Path2DPathEffectNode\n ? global.SkiaDomApi.Path2DPathEffectNode(props)\n : new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return global.SkiaDomApi && global.SkiaDomApi.SumPathEffectNode\n ? global.SkiaDomApi.SumPathEffectNode()\n : new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return global.SkiaDomApi && global.SkiaDomApi.Line2DPathEffectNode\n ? global.SkiaDomApi.Line2DPathEffectNode(props)\n : new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BlendNode\n ? global.SkiaDomApi.BlendNode(props)\n : new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BackdropFilterNode\n ? global.SkiaDomApi.BackdropFilterNode(props)\n : new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BoxNode\n ? global.SkiaDomApi.BoxNode(props)\n : new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return global.SkiaDomApi && global.SkiaDomApi.BoxShadowNode\n ? global.SkiaDomApi.BoxShadowNode(props)\n : new BoxShadowNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["NATIVE_DOM","FillNode","ImageNode","CircleNode","PathNode","LineNode","PatchNode","PointsNode","RectNode","RRectNode","VerticesNode","TextNode","OvalNode","CustomDrawingNode","TextPathNode","TextBlobNode","GlyphsNode","DiffRectNode","PictureNode","ImageSVGNode","BackdropFilterNode","BoxNode","BoxShadowNode","BlendImageFilterNode","BlurImageFilterNode","BlurMaskFilterNode","DisplacementMapImageFilterNode","DropShadowImageFilterNode","OffsetImageFilterNode","RuntimeShaderImageFilterNode","CornerPathEffectNode","DiscretePathEffectNode","DashPathEffectNode","Path1DPathEffectNode","Path2DPathEffectNode","SumPathEffectNode","Line2DPathEffectNode","BlendNode","MatrixColorFilterNode","LumaColorFilterNode","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilterNode","BlendColorFilterNode","LerpColorFilterNode","LinearGradientNode","ShaderNode","ImageShaderNode","TwoPointConicalGradientNode","TurbulenceNode","SweepGradientNode","RadialGradientNode","FractalNoiseNode","ColorNode","MorphologyImageFilterNode","GroupNode","PaintNode","LayerNode","JsiSkDOM","constructor","ctx","Layer","props","global","SkiaDomApi","Group","Paint","Fill","Image","Circle","Path","CustomDrawing","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","BlurImageFilter","OffsetImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","LerpColorFilter","Shader","ImageShader","ColorShader","ColorShaderNode","SweepGradient","Turbulence","FractalNoise","LinearGradient","RadialGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n CustomDrawingNodeProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\nimport { NATIVE_DOM } from \"../../renderer/HostComponents\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n CustomDrawingNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext) {}\n\n Layer(props?: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LayerNode(props ?? {})\n : new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GroupNode(props ?? {})\n : new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PaintNode(props ?? {})\n : new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FillNode(props ?? {})\n : new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageNode(props ?? {})\n : new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CircleNode(props ?? {})\n : new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PathNode(props ?? {})\n : new PathNode(this.ctx, props);\n }\n\n CustomDrawing(props: CustomDrawingNodeProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CustomDrawingNode(props ?? {})\n : new CustomDrawingNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LineNode(props ?? {})\n : new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OvalNode(props ?? {})\n : new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PatchNode(props ?? {})\n : new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PointsNode(props ?? {})\n : new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RectNode(props)\n : new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RRectNode(props)\n : new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.VerticesNode(props)\n : new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextNode(props)\n : new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextPathNode(props)\n : new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TextBlobNode(props)\n : new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.GlyphsNode(props)\n : new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiffRectNode(props)\n : new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.PictureNode(props)\n : new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageSVGNode(props)\n : new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurMaskFilterNode(props)\n : new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendImageFilterNode(props)\n : new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DropShadowImageFilterNode(props)\n : new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DisplacementMapImageFilterNode(props)\n : new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlurImageFilterNode(props)\n : new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.OffsetImageFilterNode(props)\n : new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MorphologyImageFilterNode(props)\n : new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RuntimeShaderImageFilterNode(props)\n : new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.MatrixColorFilterNode(props)\n : new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendColorFilterNode(props)\n : new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return NATIVE_DOM\n ? global.SkiaDomApi.LumaColorFilterNode()\n : new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.LinearToSRGBGammaColorFilterNode\n ? global.SkiaDomApi.LinearToSRGBGammaColorFilterNode()\n : new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return global.SkiaDomApi &&\n global.SkiaDomApi.SRGBToLinearGammaColorFilterNode\n ? global.SkiaDomApi.SRGBToLinearGammaColorFilterNode()\n : new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LerpColorFilterNode(props)\n : new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ShaderNode(props)\n : new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ImageShaderNode(props)\n : new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.ColorShaderNode(props)\n : new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.SweepGradientNode(props)\n : new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TurbulenceNode(props)\n : new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.FractalNoiseNode(props)\n : new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.LinearGradientNode(props)\n : new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.RadialGradientNode(props)\n : new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.TwoPointConicalGradientNode(props)\n : new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.CornerPathEffectNode(props)\n : new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DiscretePathEffectNode(props)\n : new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.DashPathEffectNode(props)\n : new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path1DPathEffectNode(props)\n : new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Path2DPathEffectNode(props)\n : new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return NATIVE_DOM\n ? global.SkiaDomApi.SumPathEffectNode()\n : new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.Line2DPathEffectNode(props)\n : new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BlendNode(props)\n : new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BackdropFilterNode(props)\n : new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxNode(props)\n : new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return NATIVE_DOM\n ? global.SkiaDomApi.BoxShadowNode(props)\n : new BoxShadowNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}