public void Start(InkCanvas inkCanvas) { ClearRepetitionCollections(); _selectedElements = new List <UIElement>(inkCanvas.GetSelectedElements()); _selectedStrokes = new StrokeCollection(inkCanvas.GetSelectedStrokes()); inkCanvas.EditingMode = InkCanvasEditingMode.None; _startPoint = new Point(-100, -100); ProcessRepeateSelectionState = RepeateSelectionState.WaitingStartPoint; }
public void MouseUp(InkCanvas inkCanvas, MouseButtonEventArgs e) { if (ProcessRepeateSelectionState == RepeateSelectionState.WaitingStartPoint) { _startPoint = e.GetPosition(inkCanvas); AddCopy(inkCanvas); _overlayStroke = new OverlayRepeatOperationStroke(new StylusPointCollection { new StylusPoint(_startPoint.X, _startPoint.Y), new StylusPoint(_startPoint.X, _startPoint.Y) }); inkCanvas.Strokes.Add(_overlayStroke); _overlayStroke.ProcessRepeateSelectionState = ProcessRepeateSelectionState = RepeateSelectionState.WaitingEndPoint; } }
private void Stop(InkCanvas inkCanvas) { if (_overlayStroke != null && inkCanvas.Strokes.Contains(_overlayStroke)) { inkCanvas.Strokes.Remove(_overlayStroke); } foreach (var repetition in _repetitions) { _selectedElements.AddRange(repetition.Obj1); _selectedStrokes.Add(repetition.Obj2); } inkCanvas.Select(_selectedStrokes, _selectedElements); if (_repetitions.Count > 0) { ModelStorage.WorkAreaModel.GroupSelectedDrawings(); } ProcessRepeateSelectionState = RepeateSelectionState.Inactive; ClearRepetitionCollections(); }