Пример #1
0
        private void OnTouch(object sender, View.TouchEventArgs touchEventArgs)
        {
            if (_drawer == null)
            {
                return;  // in case managed to trigger before focus event finished setup
            }

            float fx           = touchEventArgs.Event.GetX();
            float fy           = touchEventArgs.Event.GetY();
            var   needsRefresh = false;

            switch (touchEventArgs.Event.Action & MotionEventActions.Mask)
            {
            case MotionEventActions.Down:
                _drawer.StartDrawing(fx, fy);
                needsRefresh = true;
                break;

            case MotionEventActions.Move:
                _drawer.AddPoint(fx, fy);
                needsRefresh = true;
                break;

            case MotionEventActions.Up:
                _drawer.StopDrawing(fx, fy);
                needsRefresh = true;
                break;
            }

            if (needsRefresh)
            {
                _canvas.Invalidate();
            }
        }
Пример #2
0
        public override void TouchesBegan(NSSet touches, UIEvent evt)
        {
            base.TouchesBegan(touches, evt);
            var touch = touches.AnyObject as UITouch;

            if (touch != null)
            {
                var point = touch.LocationInView(View);
                _drawer?.StartDrawing((float)point.X * _devicePixelMul, (float)point.Y * _devicePixelMul);
                View.SetNeedsDisplay();  // probably after touching Pencils
            }
        }