private void service_DragDelta(object sender, InteractiveDragDeltaEventArgs e)
        {
            if (!IsWorking)
            {
                return;
            }

            // IMPORTANT NOTE: The SelectAreaView we render the control points inside and the shaded area is added to the image viewer item itself
            // and not on the whole image viewer control so we need to map the touch points to item coordinates.
            var position = ImageViewer.ConvertPoint(null, ImageViewerCoordinateType.Control, ImageViewerCoordinateType.Image, e.Position);

            if (ActivePoint != ManualDeskewActivePoint.None)
            {
                switch (ActivePoint)
                {
                case ManualDeskewActivePoint.TopLeft: TopLeft = position; break;

                case ManualDeskewActivePoint.TopRight: TopRight = position; break;

                case ManualDeskewActivePoint.BottomLeft: BottomLeft = position; break;

                case ManualDeskewActivePoint.BottomRight: BottomRight = position; break;

                case ManualDeskewActivePoint.TopMid: TopMid = position; break;

                case ManualDeskewActivePoint.BottomMid: BottomMid = position; break;

                case ManualDeskewActivePoint.LeftMid: LeftMid = position; break;

                case ManualDeskewActivePoint.RightMid: RightMid = position; break;

                default: break;
                }
            }

            UpdateControlPoints();
        }