public void draw(Panel currentPanel, Graphics currentCanvas, ScheduleCalculator scheduleCalculator) { canvas = currentCanvas; panel = currentPanel; canvas.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; vertexSize = panel.Width / (scheduleCalculator.lectures.Length + 1); vertexSize = Math.Max(40, Math.Min(vertexSize, 100)); var center = new Point(); center.Y = panel.Top + (panel.Height / 2); center.X = panel.Left + (panel.Width / 2); int radius = (Math.Min(panel.Width, panel.Height) / 2) - vertexSize; var positionOfLectures = calculatePositions(scheduleCalculator.lectures.Length, center, radius); canvas.FillEllipse(Brushes.LightGray, center.X - radius, center.Y - radius, radius * 2, radius * 2); DrawEdges(scheduleCalculator.adjMatrix, positionOfLectures); DrawVertices(scheduleCalculator.calculatedColorCount, scheduleCalculator.calculatedLectureColors, positionOfLectures); }
public MainForm() { InitializeComponent(); scheduleCalculator = new ScheduleCalculator(); graphDrawer = new GraphDrawer(); }