예제 #1
0
 private void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (actions.Count == 0)
     {
         return;
     }
     if ((listBox1.SelectedIndex != SelectedItem || actions.Count == 0) && CanUndo)
     {
         Selected = null;
         if (listBox1.SelectedIndex > SelectedItem)
         {
             for (int i = SelectedItem + 1; i <= listBox1.SelectedIndex; i++)
             {
                 actions[i].Redo(polygons, circles);
             }
         }
         else
         {
             for (int i = SelectedItem; i > listBox1.SelectedIndex; i--)
             {
                 actions[i].Undo(polygons, circles);
             }
         }
     }
     SelectedItem = listBox1.SelectedIndex;
     DrawingField.Refresh();
 }
예제 #2
0
 private void CompletePoly_Click(object sender, EventArgs e)
 {
     if (polygons.Count != 0)
     {
         if (polygons[polygons.Count - 1].points.Count >= 3)
         {
             polygons[polygons.Count - 1].Completed = true;
             AddAction(new PolygonCompleteAction("Sfinalizowany wielokat", polygons.Count - 1, CompletePoly));
             CompletePoly.Enabled = false;
         }
     }
     DrawingField.Refresh();
 }
예제 #3
0
        public GUI()
        {
            InitializeComponent();
            g          = DrawingField.CreateGraphics();
            point_size = 10;
            brush      = new SolidBrush(Color.Black);
            painting   = false;

            x_size = DrawingField.Width;
            y_size = DrawingField.Height;

            display_matrix = new bool[x_size, y_size]; // filled with false
            is_black_brush = isBlackBrush();
        }