public override GraphicsData GetGraphicsData() { GraphicsData data = new GraphicsData(); data.PointList = new List <Point>(); if (Rotation != 0) { GraphicsPath gp = new GraphicsPath(); Matrix m = new Matrix(); gp.AddLine(startPoint, endPoint); RectangleF pathBounds = gp.GetBounds(); m.RotateAt(Rotation, new PointF(pathBounds.Left + (pathBounds.Width / 2), pathBounds.Top + (pathBounds.Height / 2)), MatrixOrder.Append); gp.Transform(m); Point start, end; start = Point.Truncate(gp.PathPoints[0]); end = Point.Truncate(gp.PathPoints[1]); data.PointList.Add(start); data.PointList.Add(end); gp.Dispose(); } else { data.PointList.Add(startPoint); data.PointList.Add(endPoint); } return(data); }
public override GraphicsData GetGraphicsData() { GraphicsData data = new GraphicsData(); data.PointList = new List <System.Drawing.Point>(); if (Rotation != 0) { GraphicsPath gp = new GraphicsPath(); Matrix m = new Matrix(); gp.AddRectangle(rectangle); RectangleF pathBounds = gp.GetBounds(); m.RotateAt(Rotation, new PointF(pathBounds.Left + (pathBounds.Width / 2), pathBounds.Top + (pathBounds.Height / 2)), MatrixOrder.Append); gp.Transform(m); data.PointList.Add(System.Drawing.Point.Truncate(gp.PathPoints[0])); data.PointList.Add(System.Drawing.Point.Truncate(gp.PathPoints[1])); data.PointList.Add(System.Drawing.Point.Truncate(gp.PathPoints[2])); data.PointList.Add(System.Drawing.Point.Truncate(gp.PathPoints[3])); gp.Dispose(); } else { data.PointList.Add(new System.Drawing.Point(rectangle.Left, rectangle.Top)); data.PointList.Add(new System.Drawing.Point(rectangle.Right, rectangle.Top)); data.PointList.Add(new System.Drawing.Point(rectangle.Right, rectangle.Bottom)); data.PointList.Add(new System.Drawing.Point(rectangle.Left, rectangle.Bottom)); } return(data); }
public override GraphicsData GetGraphicsData() { GraphicsData data = new GraphicsData(); data.PointList = new List <Point>(); data.PointList.Add(Point); return(data); }
public override GraphicsData GetGraphicsData() { GraphicsData data = new GraphicsData(); data.IsEllipse = true; data.Axes = new Size(Rectangle.Width / 2, Rectangle.Height / 2); data.Angle = Rotation; data.Center = new Point(Rectangle.X + Rectangle.Width / 2, Rectangle.Y + Rectangle.Height / 2); return(data); }
public List <GraphicsData> GetGraphicsDataList() { List <GraphicsData> dataList = new List <GraphicsData>(); int numberObjects = graphicsList.Count; for (int i = 0; i < numberObjects; i++) { DrawObject o; o = (DrawObject)graphicsList[i]; GraphicsData data = o.GetGraphicsData(); dataList.Add(data); } return(dataList); }
public override GraphicsData GetGraphicsData() { GraphicsData data = new GraphicsData(); data.PointList = new List <Point>(); if (Rotation != 0) { Point[] pts = new Point[pointArray.Count]; for (int i = 0; i < pointArray.Count; i++) { pts[i] = (Point)pointArray[i]; } byte[] types = new byte[pointArray.Count]; for (int i = 0; i < pointArray.Count; i++) { types[i] = (byte)PathPointType.Line; } GraphicsPath gp = new GraphicsPath(pts, types); RectangleF pathBounds = gp.GetBounds(); Matrix m = new Matrix(); m.RotateAt(Rotation, new PointF(pathBounds.Left + (pathBounds.Width / 2), pathBounds.Top + (pathBounds.Height / 2)), MatrixOrder.Append); gp.Transform(m); foreach (PointF point in gp.PathPoints) { data.PointList.Add(Point.Truncate(point)); } gp.Dispose(); } else { for (int i = 0; i < pointArray.Count; i++) { Point point = (Point)pointArray[i]; data.PointList.Add(point); } } return(data); }