DrawObject CreateDrawObject(SvgElement svge) { DrawObject o = null; switch (svge.getElementType()) { case SvgElement._SvgElementType.typeLine: o = DrawLine.Create((SvgLine )svge); break; case SvgElement._SvgElementType.typeRect: o = DrawRectangle.Create((SvgRect )svge); break; case SvgElement._SvgElementType.typeEllipse: o = DrawEllipse.Create((SvgEllipse )svge); break; case SvgElement._SvgElementType.typePolyline: o = DrawPolygon.Create((SvgPolyline )svge); break; case SvgElement._SvgElementType.typeImage: o = DrawImage.Create((SvgImage )svge); break; case SvgElement._SvgElementType.typeText: o = DrawText.Create((SvgText )svge); break; case SvgElement._SvgElementType.typeGroup: o = CreateGroup((SvgGroup )svge); break; case SvgElement._SvgElementType.typePath: o = DrawPath.Create((SvgPath)svge); break; case SvgElement._SvgElementType.typeDesc: Description = ((SvgDesc)svge).Value; break; default: break; } return(o); }
public static DrawEllipse Create(SvgEllipse svg) { try { float cx = ParseSize(svg.CX, Dpi.X); float cy = ParseSize(svg.CY, Dpi.Y); float rx = ParseSize(svg.RX, Dpi.X); float ry = ParseSize(svg.RY, Dpi.Y); var dobj = new DrawEllipse(cx - rx, cy - ry, rx * 2, ry * 2); dobj.SetStyleFromSvg(svg); return(dobj); } catch (Exception ex) { ErrH.Log("DrawEllipse", "CreateRectangle", ex.ToString(), ErrH._LogPriority.Info); return(null); } }