protected override void OnElementChanged(ElementChangedEventArgs <View> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null)
            {
                if (e.NewElement is PencilKitView pkView)
                {
                    var bounds = e.NewElement.Bounds;

                    //Provides the drawable region
                    var pkPencilView = new PKCanvasView();
                    pkPencilView.Frame = new CoreGraphics.CGRect(bounds.X, bounds.Y, bounds.Width, bounds.Height);

                    //PKDrawing - Data Model.  Captures all the beautiful strokes

                    //PKToolPicker - The main tool kit


                    //PKTools - Provides inks
                    pkPencilView.Tool = new PKInkingTool(PKInkType.Pen, UIKit.UIColor.Blue, 40);
                    SetNativeControl(pkPencilView);
                }
            }
        }
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);

            var canvas = new PKCanvasView();
            var window = GetWindow();

            var tool = PKToolPicker.GetSharedToolPicker(window);

            tool.SetVisible(true, canvas);
            tool.AddObserver(canvas);
            canvas.BecomeFirstResponder();

            View.FillWith(canvas);
        }
Beispiel #3
0
            public override void DrawingDidChange(PKCanvasView canvasView)
            {
                if (!(canvasView is PKEventingCanvasView pk))
                {
                    return;
                }

                var rect = new CGRect(new CGPoint(0, 0), canvasView.Frame.Size);
                var img  = canvasView.Drawing.GetImage(rect, 1);

                if (img != null && !pk.SuppressChanges)
                {
                    pk.OnImage?.Invoke(img);
                }
            }