private void UpdatePen() { if (_inkPresenter != null) { var defaultAttributes = _inkPresenter.CopyDefaultDrawingAttributes(); switch (penColor.SelectedValue.ToString()) { case "Black": defaultAttributes.Color = Colors.Black; break; case "Red": defaultAttributes.Color = Colors.Red; break; case "Blue": defaultAttributes.Color = Colors.Blue; break; case "Green": defaultAttributes.Color = Colors.Green; break; } defaultAttributes.Size = new Size(strokeSize.Value, strokeSize.Value); defaultAttributes.DrawAsHighlighter = drawAsHighlighter.IsChecked.Value; defaultAttributes.PenTip = penTipShape.IsOn ? PenTipShape.Circle : PenTipShape.Rectangle; _inkPresenter.UpdateDefaultDrawingAttributes(defaultAttributes); } }
private void InitialInk() { InkPresenter myInkPresenter = this.inkCanvas.InkPresenter; myInkPresenter.InputDeviceTypes = Windows.UI.Core.CoreInputDeviceTypes.Pen | Windows.UI.Core.CoreInputDeviceTypes.Mouse; InkDrawingAttributes myAttributes = myInkPresenter.CopyDefaultDrawingAttributes(); myAttributes.DrawAsHighlighter = false; myAttributes.IgnorePressure = false; myAttributes.FitToCurve = true; myInkPresenter.UpdateDefaultDrawingAttributes(myAttributes); // inkCanvas.InkPresenter.InputProcessingConfiguration.RightDragAction = InkInputRightDragAction.LeaveUnprocessed; // Listen for unprocessed pointer events from modified input. // The input is used to provide selection functionality. inkCanvas.InkPresenter.UnprocessedInput.PointerPressed += UnprocessedInput_PointerPressed; inkCanvas.InkPresenter.UnprocessedInput.PointerMoved += UnprocessedInput_PointerMoved; inkCanvas.InkPresenter.UnprocessedInput.PointerReleased += UnprocessedInput_PointerReleased; // Listen for new ink or erase strokes to clean up selection UI. inkCanvas.InkPresenter.StrokeInput.StrokeStarted += StrokeInput_StrokeStarted; inkCanvas.InkPresenter.StrokesErased += InkPresenter_StrokesErased; }
protected override void OnAttached() { base.OnAttached(); try { RegisterPropertyChangedAndSaveUnregToken( IsInputEnabledProperty, (o, a) => this.InkPresenter.IsInputEnabled = IsInputEnabled); RegisterPropertyChangedAndSaveUnregToken( InputDeviceTypesProperty, (o, a) => this.InkPresenter.InputDeviceTypes = InputDeviceTypes); DependencyPropertyChangedCallback detailChanged = (o, a) => { InkPresenter.InputProcessingConfiguration.Mode = CurrentProfile == InkCanvasProfileType.Erasing ? InkInputProcessingMode.Erasing : InkInputProcessingMode.Inking; var att = InkPresenter.CopyDefaultDrawingAttributes(); att.Color = Color; att.PenTip = PenShape; att.IgnorePressure = false; att.DrawAsHighlighter = CurrentProfile == InkCanvasProfileType.Highlighting; att.Size = StrokeSize; InkPresenter.UpdateDefaultDrawingAttributes(att); }; RegisterPropertyChangedAndSaveUnregToken(ColorProperty, detailChanged); RegisterPropertyChangedAndSaveUnregToken(StrokeSizeProperty, detailChanged); RegisterPropertyChangedAndSaveUnregToken(CurrentProfileProperty, (o, a) => { switch (CurrentProfile) { case InkCanvasProfileType.Drawing: ProfileOfDrawing?.ApplyToInkCanvasController(this); break; case InkCanvasProfileType.Highlighting: ProfileOfHighlighting?.ApplyToInkCanvasController(this); break; case InkCanvasProfileType.Erasing: ProfileOfErasing?.ApplyToInkCanvasController(this); break; default: break; } detailChanged(o, a); }); RegisterPropertyChangedAndSaveUnregToken(PenShapeProperty, detailChanged); regs.ForEach(i => i.Item3(null, null)); } catch (Exception ex) { EventRouter.Instance.RaiseEvent(this, ex); } }
private void UpdateDefaultDrawingAttributes() { if (_inkPresenter != null) { InkDrawingAttributes drawingAttributes = _inkPresenter.CopyDefaultDrawingAttributes(); drawingAttributes.IgnorePressure = true; switch (drawingColor.SelectedValue.ToString()) { case "Red": drawingAttributes.Color = Colors.Red; break; case "Green": drawingAttributes.Color = Colors.Green; break; case "Blue": drawingAttributes.Color = Colors.Blue; break; } drawingAttributes.Size = new Size(drawingSize.Value, drawingSize.Value); drawingAttributes.DrawAsHighlighter = drawingDrawAsHighlighter.IsChecked.Value; drawingAttributes.FitToCurve = drawingFitToCurve.IsChecked.Value; drawingAttributes.PenTip = drawingPenTip.IsOn ? PenTipShape.Circle : PenTipShape.Rectangle; if (drawingPenTipTransform.IsChecked == true) { drawingAttributes.PenTipTransform = Matrix3x2.CreateSkew(4, 4); } else { drawingAttributes.PenTipTransform = Matrix3x2.Identity; } _inkPresenter.UpdateDefaultDrawingAttributes(drawingAttributes); if (chkErasing.IsChecked == true) { _inkPresenter.InputProcessingConfiguration.Mode = InkInputProcessingMode.Erasing; } else { _inkPresenter.InputProcessingConfiguration.Mode = InkInputProcessingMode.Inking; } _inkPresenter.IsInputEnabled = chkIsInputEnabled.IsChecked.Value; } }
private void UpdatePen() { if (_inkPresenter != null) { var defaultAttributes = _inkPresenter.CopyDefaultDrawingAttributes(); defaultAttributes.PenTip = (bool)penTipShape.IsChecked ? PenTipShape.Circle : PenTipShape.Rectangle; _inkPresenter.UpdateDefaultDrawingAttributes(defaultAttributes); } }
public MainPage() { this.InitializeComponent(); _inkPresenter = canvas.InkPresenter; _inkPresenter.InputDeviceTypes = CoreInputDeviceTypes.Mouse | CoreInputDeviceTypes.Pen | CoreInputDeviceTypes.Touch; var defaultAttributes = _inkPresenter.CopyDefaultDrawingAttributes(); defaultAttributes.Size = new Size(20, 20); _inkPresenter.UpdateDefaultDrawingAttributes(defaultAttributes); }
private void UpdatePen() { if (_inkPresenter != null) { var defaultAttributes = _inkPresenter.CopyDefaultDrawingAttributes(); // If we are using a pencil, changing pentip is not allowed! if (defaultAttributes.Kind == InkDrawingAttributesKind.Default) { _inkPresenter.UpdateDefaultDrawingAttributes(defaultAttributes); } } }
private void myCanvas_PointerMoved(object sender, PointerRoutedEventArgs e) { InkPresenter inkPresenter = myCanvas.InkPresenter; inkPresenter.InputDeviceTypes = Windows.UI.Core.CoreInputDeviceTypes.Pen | Windows.UI.Core.CoreInputDeviceTypes.Mouse | Windows.UI.Core.CoreInputDeviceTypes.Touch; InkDrawingAttributes myAttributes = inkPresenter.CopyDefaultDrawingAttributes(); myAttributes.Color = Windows.UI.Colors.Crimson; myAttributes.PenTip = PenTipShape.Circle; myAttributes.PenTipTransform = System.Numerics.Matrix3x2.CreateRotation((float)Math.PI / 4); myAttributes.Size = new Size(2, 5); inkPresenter.UpdateDefaultDrawingAttributes(myAttributes); }
private void UpdatePen() { if (_inkPresenter != null) { var defaultAttributes = _inkPresenter.CopyDefaultDrawingAttributes(); // If we are using a pencil, changing pentip is not allowed! if (defaultAttributes.Kind == InkDrawingAttributesKind.Default) { defaultAttributes.PenTip = (bool)penTipShape.IsChecked ? PenTipShape.Circle : PenTipShape.Rectangle; _inkPresenter.UpdateDefaultDrawingAttributes(defaultAttributes); } } }