public void Fill(Point point) { if (MouseColor != null && point.X >= 0 && point.X < SourceImage.Size.Width && point.Y >= 0 && point.Y < SourceImage.Size.Height) { using (SuspendUpdateVisualImage()) using (SourceImage.Palette.SuppressRemoveColorsWithoutOccurrences()) using (UndoRedo.BeginMultiActionsUndoRedoStep(UndoRedoProvider.UndoRedoActionFillRegion)) { ImagePainter.Fill(SourceImage, MouseColor, point.X, point.Y); SourceImage.TriggerImageChanged(); } } }
public void FinishMoveSelection() { if (GridPainter.InsertedBlock != null) { using (SuspendUpdateVisualImage()) using (SourceImage.Palette.SuppressRemoveColorsWithoutOccurrences()) using (UndoRedo.BeginMultiActionsUndoRedoStep(UndoRedoProvider.UndoRedoActionPaste)) { ImageCopier.CopyWithPalette(GridPainter.InsertedBlock, SourceImage, new Point(SelectedRect.Left, SelectedRect.Top)); GridPainter.InsertedBlock = null; if (MouseMode == MouseActionMode.MoveSelection) { MouseMode = MouseActionMode.Shift; } UpdateVisualImage(); SourceImage.TriggerImageChanged(); } } }