private void ReadPolylineAttributes(PolylineVObject vObject, SvgPolyline svg) { ReadBaseRectangleVObjectAttributes(vObject, svg); var controlPoints = new PointF[svg.Points.Count]; for (int i = 0; i < controlPoints.Length; i++) { var p = svg.Points[i]; controlPoints[i] = new PointF(p.X, p.Y); } vObject.ControlPoints = controlPoints; vObject.Width = svg.StrokeWidth; string color = null; foreach (var attr in svg.CustomAttributes) { if (attr.NamespaceUri == XmlNamespace.AurigmaVectorObjects && attr.LocalName == "color") { color = attr.GetValue(); break; } } vObject.Color = !string.IsNullOrEmpty(color) ? _serializer.Deserialize <Color>(color) : new RgbColor(svg.Stroke); }
public PolylineControlPointsProvider(PolylineVObject obj) { _obj = obj; _obj.Changed += new System.EventHandler(VObjectChangedHandler); _controlPointPrototype = new EllipseControlPoint(new System.Drawing.Size(8, 8), new System.Drawing.SolidBrush(System.Drawing.Color.Tomato), new System.Drawing.Pen(System.Drawing.Color.WhiteSmoke)); _controlPointCursor = System.Windows.Forms.Cursors.Cross; _controlPointsEnabled = true; _supportedActions = new VObjectActionCollection(new IVObjectAction[] { new PolylineVObject.MoveNodeAction(this) }); RecreateControlPoints(); }
protected override IVObject CreateObject() { PolylineVObject result = null; if (_points.Count > 1) { System.Drawing.PointF[] points = (System.Drawing.PointF[])_points.ToArray(typeof(System.Drawing.PointF)); System.Drawing.RectangleF pointsBounds = VObjectsUtils.GetBoundingRectangle(points); if (pointsBounds.Width > 1.0f && pointsBounds.Height > 1.0f) { result = new PolylineVObject(points, _closePath, _fillMode); result.Pen = base.Pen; result.Brush = base.Brush; } } return(result); }
private void WritePolylineAttributes(SvgPolyline svg, PolylineVObject vObject) { WriteBaseRectangleVObjectAttributes(svg, vObject); var points = svg.Points; foreach (var p in vObject.GetPoints()) { points.Add(p.ToPoint()); } var cm = vObject.GetColorManagement(true); svg.Stroke = ColorManagement.GetPreviewColor(cm, vObject.Color); svg.CustomAttributes.Add(new SvgVoAttribute("color", _serializer.Serialize(vObject.Color))); svg.StrokeWidth = vObject.Width; svg.Fill = RgbColor.Transparent; }
public PolylineVObjectData(PolylineVObject obj) : base(obj) { W = obj.Width; C = obj.Color; }
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); } }