@shopify/react-native-skia
Version:
High-performance React Native Graphics using Skia
144 lines (143 loc) • 5.05 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createNode = exports.NATIVE_DOM = void 0;
var _types = require("../dom/types");
var _typeddash = require("./typeddash");
// This flag should only be turned on for debugging/testing
const shouldUseJSDomOnNative = false;
const NATIVE_DOM = exports.NATIVE_DOM = shouldUseJSDomOnNative ? false : !!global.SkiaDomApi;
const createNode = (container, type, props) => {
const {
Sk
} = container;
switch (type) {
case _types.NodeType.Layer:
return Sk.Layer(props);
case _types.NodeType.Group:
return Sk.Group(props);
case _types.NodeType.Paint:
return Sk.Paint(props);
// Drawings
case _types.NodeType.Fill:
return Sk.Fill(props);
case _types.NodeType.Image:
return Sk.Image(props);
case _types.NodeType.Circle:
return Sk.Circle(props);
case _types.NodeType.Path:
return Sk.Path(props);
case _types.NodeType.Line:
return Sk.Line(props);
case _types.NodeType.Oval:
return Sk.Oval(props);
case _types.NodeType.Patch:
return Sk.Patch(props);
case _types.NodeType.Points:
return Sk.Points(props);
case _types.NodeType.Rect:
return Sk.Rect(props);
case _types.NodeType.RRect:
return Sk.RRect(props);
case _types.NodeType.Vertices:
return Sk.Vertices(props);
case _types.NodeType.Text:
return Sk.Text(props);
case _types.NodeType.TextPath:
return Sk.TextPath(props);
case _types.NodeType.TextBlob:
return Sk.TextBlob(props);
case _types.NodeType.Glyphs:
return Sk.Glyphs(props);
case _types.NodeType.Atlas:
return Sk.Atlas(props);
case _types.NodeType.DiffRect:
return Sk.DiffRect(props);
case _types.NodeType.Picture:
return Sk.Picture(props);
case _types.NodeType.ImageSVG:
return Sk.ImageSVG(props);
// Mask Filter
case _types.NodeType.BlurMaskFilter:
return Sk.BlurMaskFilter(props);
// Image Filter
case _types.NodeType.BlendImageFilter:
return Sk.BlendImageFilter(props);
case _types.NodeType.BlurImageFilter:
return Sk.BlurImageFilter(props);
case _types.NodeType.OffsetImageFilter:
return Sk.OffsetImageFilter(props);
case _types.NodeType.DropShadowImageFilter:
return Sk.DropShadowImageFilter(props);
case _types.NodeType.DisplacementMapImageFilter:
return Sk.DisplacementMapImageFilter(props);
case _types.NodeType.MorphologyImageFilter:
return Sk.MorphologyImageFilter(props);
case _types.NodeType.RuntimeShaderImageFilter:
return Sk.RuntimeShaderImageFilter(props);
// Color Filter
case _types.NodeType.MatrixColorFilter:
return Sk.MatrixColorFilter(props);
case _types.NodeType.BlendColorFilter:
return Sk.BlendColorFilter(props);
case _types.NodeType.LerpColorFilter:
return Sk.LerpColorFilter(props);
case _types.NodeType.LumaColorFilter:
return Sk.LumaColorFilter();
case _types.NodeType.LinearToSRGBGammaColorFilter:
return Sk.LinearToSRGBGammaColorFilter();
case _types.NodeType.SRGBToLinearGammaColorFilter:
return Sk.SRGBToLinearGammaColorFilter();
// Shader
case _types.NodeType.Shader:
return Sk.Shader(props);
case _types.NodeType.ImageShader:
return Sk.ImageShader(props);
case _types.NodeType.ColorShader:
return Sk.ColorShader(props);
case _types.NodeType.Turbulence:
return Sk.Turbulence(props);
case _types.NodeType.FractalNoise:
return Sk.FractalNoise(props);
case _types.NodeType.LinearGradient:
return Sk.LinearGradient(props);
case _types.NodeType.RadialGradient:
return Sk.RadialGradient(props);
case _types.NodeType.SweepGradient:
return Sk.SweepGradient(props);
case _types.NodeType.TwoPointConicalGradient:
return Sk.TwoPointConicalGradient(props);
// Path Effect
case _types.NodeType.CornerPathEffect:
return Sk.CornerPathEffect(props);
case _types.NodeType.DiscretePathEffect:
return Sk.DiscretePathEffect(props);
case _types.NodeType.DashPathEffect:
return Sk.DashPathEffect(props);
case _types.NodeType.Path1DPathEffect:
return Sk.Path1DPathEffect(props);
case _types.NodeType.Path2DPathEffect:
return Sk.Path2DPathEffect(props);
case _types.NodeType.SumPathEffect:
return Sk.SumPathEffect();
case _types.NodeType.Line2DPathEffect:
return Sk.Line2DPathEffect(props);
// Mixed
case _types.NodeType.Blend:
return Sk.Blend(props);
case _types.NodeType.BackdropFilter:
return Sk.BackdropFilter(props);
case _types.NodeType.Box:
return Sk.Box(props);
case _types.NodeType.BoxShadow:
return Sk.BoxShadow(props);
// Paragraph
case _types.NodeType.Paragraph:
return Sk.Paragraph(props);
default:
return (0, _typeddash.exhaustiveCheck)(type);
}
};
exports.createNode = createNode;
//# sourceMappingURL=HostComponents.js.map