示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }
示例#4
0
        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;
            }
        }
示例#5
0
        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);
        }
示例#7
0
        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);
                }
            }
        }