Exemplo n.º 1
0
        private void RedoButton_Click(object sender, EventArgs e)
        {
            IFigure tmp = FiguresFrontBuffer.Pop();

            gr            = Graphics.FromImage(MainPicture);
            tmp.DrawPanel = gr;
            tmp.Redraw();
            FiguresBackBuffer.Push(tmp);
            UndoButton.Enabled = true;
            pictureBox1.Image  = MainPicture;
            gr.Dispose();
            if (FiguresFrontBuffer.Count == 0)
            {
                RedoButton.Enabled = false;
            }
        }
Exemplo n.º 2
0
        private void button1_Click(object sender, EventArgs e)
        {
            int N = FiguresBackBuffer.Count;

            if (N <= 0)
            {
                return;
            }
            if (FiguresFrontBuffer == null)
            {
                FiguresFrontBuffer = new UndoStack();
            }


            IFigure Last = FiguresBackBuffer.ElementAt(0);

            Last.EndOfCurrentFigure = true;
            FiguresFrontBuffer.Push(Last);
            FiguresBackBuffer.Pop();


            RedoButton.Enabled = true;

            gr = Graphics.FromImage(MainPicture);
            gr.Clear(pictureBox1.BackColor);

            FiguresBackBuffer.DrawStack(gr);


            pictureBox1.Image = MainPicture;

            if (FiguresBackBuffer.Count <= 0)
            {
                UndoButton.Enabled = false;
            }



            IFiguresCreator CurrentCreator = Creators.ElementAt <IFiguresCreator>(comboBox1.SelectedIndex);

            CurrentFigure = CurrentCreator.Create(-1, -1, gr, pen, FillColorPanel.BackColor);
        }