public void Render(RenderContext context) { if (selectedPainter is RectanglePainter) { RectanglePainter painter = (RectanglePainter)selectedPainter; /* Top left angle */ //context.DrawFillRectangle(painter.StartX - size / 2.0f, painter.StartY - size / 2.0f, painter.StartX - size / 2.0f, painter.StartY + size / 2.0f, PickColor); /* Top right angle */ //context.DrawFillRectangle(painter.EndX - size / 2.0f, painter.StartY - size / 2.0f, painter.EndX - size / 2.0f, painter.StartY + size / 2.0f, PickColor); /* Bottom left angle */ //context.DrawFillRectangle(painter.StartX - size / 2.0f, painter.EndY - size / 2.0f, painter.StartX - size / 2.0f, painter.EndY + size / 2.0f, PickColor); /* Bottom right angle */ //context.DrawFillRectangle(painter.EndX - size / 2.0f, painter.EndY - size / 2.0f, painter.EndX - size / 2.0f, painter.EndY + size / 2.0f, PickColor); } else if (selectedPainter is PortConnection) { PortConnection painter = (PortConnection)selectedPainter; /* Bottom left angle */ //context.DrawFillRectangle(painter.StartX - size / 2.0f, painter.EndY - size / 2.0f, painter.StartX - size / 2.0f, painter.EndY + size / 2.0f, PickColor); /* Bottom right angle */ //context.DrawFillRectangle(painter.EndX - size / 2.0f, painter.EndY - size / 2.0f, painter.EndX - size / 2.0f, painter.EndY + size / 2.0f, PickColor); } }
public void Render(RenderContext context) { if (!PortPainter2Guid.Equals(Guid.Empty)) { Point startPoint = Port1.GetConnectionPoint(); Point endPoint = Port2.GetConnectionPoint(); if (IsSelected()) { lines.LinesColor = Colors.Red; } else { lines.LinesColor = Colors.Black; } lines.Render(context); if (IsSelected()) { RectanglePainter rectangle = new RectanglePainter(); rectangle.Width = 10; rectangle.Height = 10; rectangle.Left = startPoint.X - rectangle.Width / 2; rectangle.Top = startPoint.Y - rectangle.Height / 2; rectangle.BackgroundColor = Colors.Blue; rectangle.Render(context); rectangle.Width = 10; rectangle.Height = 10; rectangle.Left = endPoint.X - rectangle.Width / 2; rectangle.Top = endPoint.Y - rectangle.Height / 2; rectangle.BackgroundColor = Colors.Blue; rectangle.Render(context); foreach (AnchorPoint point in anchors) { point.Render(context); } } } else { Point startPoint = Port1.GetConnectionPoint(); Point endPoint = SecondPoint; context.DrawLine(startPoint.X, startPoint.Y, endPoint.X, endPoint.Y, LineColor); } }