public static void Redo(object sender, EventArgs e) { if (!firstSaveState) { return; } _btnUndo.Enabled = true; _btnRedo.Enabled = ringBuffer.Up();; for (int i = _figureArray.Count - 1; i >= 0; i--) { _figureArray.Remove(_figureArray[i]); } _figureArray.AddRange(SerializerFigure.Parse(ringBuffer.Value)); _form.IsChanged = !ringBuffer.IsSaved; _paintBox.Invalidate(); }
public static void Paste(ref List <Figure> figureArray) { if (Clipboard.ContainsText()) { string str = Clipboard.GetText(); if (str.Substring(0, MainDrawForm.Signature.Length) == MainDrawForm.Signature) { str = str.Remove(0, MainDrawForm.Signature.Length); Figure[] figures = SerializerFigure.Parse(str); foreach (var figure in figures) { figure.Move(PointW.ScrnToPointW(new Point(Offeset, Offeset))); } figureArray.AddRange(figures); } } }