private void ExecuteCommand(IInfiniteCanvasCommand command) { _undoCommands.Push(command); _redoCommands.Clear(); command.Execute(); CommandExecuted?.Invoke(this, EventArgs.Empty); }
internal void Redo(Rect viewPort, float zoomFactor) { if (_redoCommands.Count != 0) { IInfiniteCanvasCommand command = _redoCommands.Pop(); command.Execute(); _undoCommands.Push(command); ReDraw(viewPort, zoomFactor); } }
internal void Undo(Rect viewPort) { if (_undoCommands.Count != 0) { IInfiniteCanvasCommand command = _undoCommands.Pop(); command.Undo(); _redoCommands.Push(command); ReDraw(viewPort); } }
public void Redo(Rect viewPort) { if (_redoCommands.Count != 0) { IInfiniteCanvasCommand command = _redoCommands.Pop(); command.Execute(); _undoCommands.Push(command); ReDraw(viewPort); } }