in platf-skia/src/commonMain/kotlin/org/jetbrains/letsPlot/skia/mapping/svg/SvgNodeMapperFactory.kt [25:42]
override fun createMapper(source: SvgNode): Mapper<out SvgNode, out Element> {
var src = source
val target = SvgUtils.newElement(src, peer)
if (src is SvgImageElementEx) {
src = src.asImageElement(SkiaRGBEncoder)
}
return when (src) {
is SvgStyleElement -> SvgStyleElementMapper(src, target as Group, peer)
is SvgGElement -> SvgGElementMapper(src, target as Group, peer)
is SvgSvgElement -> SvgSvgElementMapper(src, peer)
is SvgTextElement -> SvgTextElementMapper(src, target as Text, peer)
is SvgImageElement -> SvgImageElementMapper(src, target as Image, peer)
is SvgElement -> SvgElementMapper(src, target, peer)
else -> throw IllegalArgumentException("Unsupported SvgElement: " + src::class.simpleName)
}
}