public void Draw(List<ITouchPointSizeColor> touchPoints) { DateTime now = DateTime.UtcNow; if (touchPoints.Count == 0) { if (this.changesMadeSinceLastSave == true && now - this.lastChangeMadeUTC > this.MinTimeGapBeforeSave) { this.Save(); } return; } this.lastChangeMadeUTC = now; this.canvasRecorder.Draw(touchPoints); if (this.changesMadeSinceLastSave == false) { this.RedoEnabled = false; this.changesMadeSinceLastSave = true; // this.RemoveFutureSavePoints(); this.ImageStateData.ResetLastSavePoint(); this.StoreWorkingImageStateData(); this.UndoEnabled = true; } }