private EllipseObject CreateEllipseObject(XmlNode node) { var ellipseObject = new EllipseObject(); SetObjectProperties(ellipseObject, node); return(ellipseObject); }
public override void MouseDown(SchetsControl s, Point p) { base.MouseDown(s, p); mDrawingObject = new EllipseObject() { Color = s.PenColor, Filled = false, Position = p, Size = new Size(0, 0), LineWidth = s.PenSize }; s.Schets.BeginAddObject(mDrawingObject); }
public static BaseObject ReadObject(this XmlReader reader) { if (!reader.IsStartElement("object")) { throw new XmlException(reader.Name); } var id = reader["id"].ParseInt32() ?? 0; var name = reader["name"]; var type = reader["type"]; var gid = reader["gid"].ParseInt32(); var x = reader["x"].ParseInt32().Value; var y = reader["y"].ParseInt32().Value; var w = reader["width"].ParseInt32(); var h = reader["height"].ParseInt32(); BaseObject result = null; var properties = new Dictionary <string, string>(); if (reader.IsEmptyElement) { reader.Skip(); } else { reader.ReadStartElement("object"); while (reader.IsStartElement()) { switch (reader.Name) { case "properties": reader.ReadProperties(properties); break; case "ellipse": result = new EllipseObject(properties) { Id = id, X = x, Y = y, Width = w.Value, Height = h.Value, Name = name, IsEllipse = true, ObjectType = type }; reader.Skip(); break; case "polygon": result = new PolygonObject(properties) { Id = id, X = x, Y = y, Name = name, Polygon = reader.ReadPoints().ToArray(), ObjectType = type }; reader.Skip(); break; case "polyline": result = new PolyLineObject(properties) { Id = id, X = x, Y = y, Name = name, Polyline = reader.ReadPoints().ToArray(), ObjectType = type }; reader.Skip(); break; case "point": result = new PointObject(properties) { Id = id, X = x, Y = y, Name = name, ObjectType = type }; reader.Skip(); break; default: throw new XmlException(reader.Name); } } if (reader.Name == "object") { reader.ReadEndElement(); } else { throw new XmlException($"Expected </object>, found: {reader.Name}"); } } if (gid.HasValue) { result = new TileObject(properties) { Id = id, Gid = gid.Value, X = x, Y = y, Width = w.Value, Height = h.Value, Name = name, ObjectType = type } } ; return(result ?? new RectangleObject(properties) { Id = id, X = x, Y = y, Width = w.Value, Height = h.Value, Name = name, ObjectType = type }); }