private void ReadShapeAttributes(ShapeVObject vObject, SvgVoShape svg) { ReadBaseRectangleVObjectAttributes(vObject, svg); vObject.Path = Path.FromPathCommands(svg.Path); vObject.Angle = svg.Transform != null?Utils.GetAngle(svg.Transform.Elements[0], svg.Transform.Elements[1]) : 0; vObject.FillColor = svg.GetFillColor(_serializer); vObject.BorderColor = svg.GetBorderColor(_serializer); vObject.BorderWidth = svg.StrokeWidth; vObject.FixedBorderWidth = svg.FixedBorderWidth; }
private void WriteShapeAttributes(SvgVoShape svg, ShapeVObject vObject) { WriteBaseRectangleVObjectAttributes(svg, vObject); var rect = vObject.Rectangle; vObject.Angle = 0; svg.Path = vObject.GetTransformedPath().ToPathCommands(); vObject.Angle = rect.Angle; var m = new Matrix(); m.RotateAt(rect.Angle, new System.Drawing.PointF(rect.CenterX, rect.CenterY)); svg.Transform = m; var cm = vObject.GetColorManagement(true); svg.SetFillColor(vObject.FillColor, ColorManagement.GetPreviewColor(cm, vObject.FillColor), _serializer); svg.SetBorderColor(vObject.BorderColor, ColorManagement.GetPreviewColor(cm, vObject.BorderColor), _serializer); svg.StrokeWidth = vObject.BorderWidth; svg.FixedBorderWidth = vObject.FixedBorderWidth; }
internal VObject FromSvg(SvgElement svg) { if (svg is SvgVoGrid) { var vObject = new GridVObject(); ReadGridAttributes(vObject, svg as SvgVoGrid); return(vObject); } else if (svg is SvgPolyline) { var vObject = new PolylineVObject(); ReadPolylineAttributes(vObject, svg as SvgPolyline); return(vObject); } else if (svg is SvgVoDashLine) { var vObject = new DashedLineVObject(); ReadDashLineAttributes(vObject, svg as SvgVoDashLine); return(vObject); } else if (svg is SvgLine) { var vObject = new LineVObject(); ReadLineAttributes(vObject, svg as SvgLine); return(vObject); } else if (svg is SvgEllipse) { var vObject = new EllipseVObject(); ReadEllipseAttributes(vObject, svg as SvgEllipse); return(vObject); } else if (svg is SvgVoSvg) { var vObject = new SvgVObject(); ReadSvgAttributes(vObject, svg as SvgVoSvg); return(vObject); } else if (svg is SvgVoImage) { var vObject = new ImageVObject(); ReadImageAttributes(vObject, svg as SvgVoImage); return(vObject); } else if (svg is SvgVoPlainText) { var vObject = new PlainTextVObject(); ReadPlainTextAttributes(vObject, svg as SvgVoPlainText); return(vObject); } else if (svg is SvgVoCurvedText) { var vObject = new CurvedTextVObject(); ReadCurvedTextAttributes(vObject, svg as SvgVoCurvedText); return(vObject); } else if (svg is SvgVoAutoScaledText) { var vObject = new AutoScaledTextVObject(); ReadAutoScaledTextAttributes(vObject, svg as SvgVoAutoScaledText); return(vObject); } else if (svg is SvgVoPathBoundedText) { var vObject = new PathBoundedTextVObject(); ReadPathBoundedTextAttributes(vObject, svg as SvgVoPathBoundedText); return(vObject); } else if (svg is SvgVoBoundedText) { var vObject = new BoundedTextVObject(); ReadBoundedTextAttributes(vObject, svg as SvgVoBoundedText); return(vObject); } else if (svg is SvgVoPlaceholder) { var vObject = new PlaceholderVObject(); ReadPlaceholderAttributes(vObject, (SvgVoPlaceholder)svg); return(vObject); } else if (svg is SvgVoRectangle) { var vObject = new RectangleVObject(); ReadRectangleAttributes(vObject, (SvgVoRectangle)svg); return(vObject); } else if (svg is SvgVoShape) { var vObject = new ShapeVObject(); ReadShapeAttributes(vObject, (SvgVoShape)svg); return(vObject); } else { return(null); } }