コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: ramesaliyev/discrete-math
 public MainForm()
 {
     InitializeComponent();
     scheduleCalculator = new ScheduleCalculator();
     graphDrawer        = new GraphDrawer();
 }