static public PictureBox DrawAll(this PictureBox main) { Bitmap map = new Bitmap(main.Width, main.Height); foreach (Poly elem in Polygons.l) { map.DrawPoly(elem); } Polygons.UpdateLabels(); main.Image = map; return(main); }
public void CreateRelation(Edge e1, Relation rel, PictureBox box) { Random r = new Random(); int i = r.Next() % 30; relation = rel; related = e1; e1.related = this; related.relation = rel; CreateLabel(i); box.Controls.Add(label); if (!MakeRelation(new List <Edge>())) { DeleteRelation(); Action.relating = false; return; } e1.CreateLabel(i); box.Controls.Add(e1.label); Polygons.UpdateLabels(); }
private void MainPictureBox_MouseMovingObject(object sender, MouseEventArgs e) { bool moved = true; if (Action.moving) { foreach (Vertex v in MovingObject.original.verticles) { v.x += e.X - MovingObject.startX; v.y += e.Y - MovingObject.startY; } } else if (Focuss.Object is Edge) { moved = MoveVectorEdge(e.X - MovingObject.startX, e.Y - MovingObject.startY, (Focuss.Object as Edge).from, (Focuss.Object as Edge).to); } else { moved = MoveVectorVertex(e.X - MovingObject.startX, e.Y - MovingObject.startY, Focuss.Object as Vertex); } if (!moved) { return; } MovingObject.startX = e.X; MovingObject.startY = e.Y; Bitmap map = new Bitmap(mainPictureBox.Image.Width, mainPictureBox.Image.Height); foreach (var elem in Polygons.l) { foreach (var elem2 in elem.edges) { map.DrawLine(elem2.from, elem2.to, Color.Black); } } Polygons.UpdateLabels(); mainPictureBox.Image = map; }