/// <summary> /// A history item for when shapes are finalized. /// </summary> /// <param name="passedEE">The EditEngine being used.</param> /// <param name="icon">The history item's icon.</param> /// <param name="text">The history item's title.</param> /// <param name="passedUserSurface">The stored UserLayer surface.</param> /// <param name="passedUserLayer">The UserLayer being modified.</param> /// <param name="passedSelectedPointIndex">The selected point's index.</param> /// <param name="passedSelectedShapeIndex">The selected point's shape index.</param> /// <param name="passedRedrawEverything">Whether every shape should be redrawn when undoing (e.g. finalization).</param> public ShapesHistoryItem(BaseEditEngine passedEE, string icon, string text, ImageSurface passedUserSurface, UserLayer passedUserLayer, int passedSelectedPointIndex, int passedSelectedShapeIndex, bool passedRedrawEverything) : base(icon, text) { ee = passedEE; userLayer = passedUserLayer; userSurfaceDiff = SurfaceDiff.Create(passedUserSurface, userLayer.Surface, true); if (userSurfaceDiff == null) { userSurface = passedUserSurface; } else { (passedUserSurface as IDisposable).Dispose(); } sEngines = BaseEditEngine.SEngines.PartialClone(); selectedPointIndex = passedSelectedPointIndex; selectedShapeIndex = passedSelectedShapeIndex; redrawEverything = passedRedrawEverything; }
/// <summary> /// A history item for when shapes are modified. /// </summary> /// <param name="passedEE">The EditEngine being used.</param> /// <param name="icon">The history item's icon.</param> /// <param name="text">The history item's title.</param> public ShapesModifyHistoryItem(BaseEditEngine passedEE, string icon, string text) : base(icon, text) { ee = passedEE; sEngines = BaseEditEngine.SEngines.PartialClone(); selectedPointIndex = ee.SelectedPointIndex; selectedShapeIndex = ee.SelectedShapeIndex; }
/// <summary> /// Resets the editable data. /// </summary> protected void ResetShapes() { SEngines = new ShapeEngineCollection(); //The fields are modified instead of the properties here because a redraw call is undesired (for speed/efficiency). SelectedPointIndex = -1; SelectedShapeIndex = -1; is_drawing = false; last_dirty = null; }