private void DrawOrigin(Graphics g) { var drawFont = new Font("Arial", 32); var drawBrush = new SolidBrush(Color.Green); g.DrawString($"{Origin.ConvertTo(MeasurementUnit.Milimeter).X}; {Origin.ConvertTo(MeasurementUnit.Milimeter).Y}", drawFont, drawBrush, new PointF(0, 0)); }
private void DrawGrid(Graphics g) { var viewRect = ViewRect; var rect = Simulation.SimulationArea.Area.ConvertTo(MeasurementUnit.Milimeter); var l = (float)rect.Left.Value + (float)(Math.Ceiling((viewRect.Left.Value - (float)rect.Left.Value) / 100F) * 100F); var t = (float)rect.Top.Value + (float)(Math.Ceiling((viewRect.Top.Value - (float)rect.Top.Value) / 100F) * 100F); var r = (float)rect.Right.Value - (float)(Math.Ceiling((viewRect.Right.Value - (float)rect.Right.Value) / 100F) * 100F); var b = (float)rect.Bottom.Value - (float)(Math.Ceiling((viewRect.Bottom.Value - (float)rect.Bottom.Value) / 100F) * 100F); var pen = new Pen(Color.FromArgb(255, 160, 160, 160)) { DashStyle = System.Drawing.Drawing2D.DashStyle.DashDot }; var drawFont = new Font("Arial", 32); var drawBrush = new SolidBrush(Color.Gray); while (t <= b) { if (t >= viewRect.Top.Value && t <= viewRect.Bottom.Value) { g.DrawLine(pen, new PointF((float)viewRect.Left.Value, t), new PointF((float)viewRect.Right.Value, t)); g.DrawString(t.ToString(), drawFont, drawBrush, new PointF(-(float)Origin.ConvertTo(MeasurementUnit.Milimeter).X, t)); } t += 100F; } while (l <= r) { if (l >= viewRect.Left.Value && l <= viewRect.Right.Value) { g.DrawLine(pen, new PointF(l, (float)viewRect.Top.Value), new PointF(l, (float)viewRect.Bottom.Value)); g.DrawString(l.ToString(), drawFont, drawBrush, new PointF(l, -(float)Origin.ConvertTo(MeasurementUnit.Milimeter).Y)); } l += 100F; } }