Esempio n. 1
0
 private static void OnMouseMove(object sender, MouseEventArgs e)
 {
     PaintDotNet.UI.FrameworkElement visual = (PaintDotNet.UI.FrameworkElement)sender;
     if (visual.IsMouseCaptured)
     {
         CompositionTarget compositionTarget = PresentationSource.FromVisual(visual).CompositionTarget;
         PointDouble       position          = e.GetPosition(visual);
         bool flag = visual.HitTestLocal(position);
         SetIsPressed(visual, flag);
         if (GetIsDragging(visual))
         {
             visual.RaiseEvent(new MouseEventArgs(e.InputDevice, DragMoveEvent, visual));
         }
         else if (GetAllowDrag(visual))
         {
             VectorDouble    num8;
             PointDouble     mouseCapturePoint = GetMouseCapturePoint(visual);
             PointDouble     pt             = e.GetPosition(visual);
             Matrix3x2Double matrixToDevice = compositionTarget.MatrixToDevice;
             PointDouble     num5           = matrixToDevice.Transform(mouseCapturePoint);
             VectorDouble    num7           = (VectorDouble)(matrixToDevice.Transform(pt) - num5);
             if (GetAllowClick(visual))
             {
                 num8 = new VectorDouble(PaintDotNet.UI.SystemParameters.MinimumHorizontalDragDistance, PaintDotNet.UI.SystemParameters.MinimumVerticalDragDistance);
             }
             else
             {
                 num8 = new VectorDouble(0.0, 0.0);
             }
             if ((Math.Abs(num7.X) >= num8.X) || (Math.Abs(num7.Y) >= num8.Y))
             {
                 SetIsDragging(visual, true);
                 visual.RaiseEvent(new MouseEventArgs(e.InputDevice, DragBeginEvent, visual));
             }
         }
         e.Handled = true;
     }
 }
Esempio n. 2
0
 private static void OnMouseUp(object sender, MouseButtonEventArgs e)
 {
     PaintDotNet.UI.FrameworkElement target = (PaintDotNet.UI.FrameworkElement)sender;
     if (target.IsMouseCaptured)
     {
         target.ReleaseMouseCapture();
         if (GetIsDragging(target))
         {
             target.RaiseEvent(new MouseEventArgs(e.InputDevice, DragEndEvent, target));
         }
         else if (GetAllowClick(target))
         {
             PointDouble position = e.GetPosition(target);
             if (target.HitTestLocal(position))
             {
                 target.RaiseEvent(new MouseEventArgs(e.InputDevice, ClickedEvent, target));
             }
         }
         SetIsDragging(target, false);
         SetIsPressed(target, false);
         target.RaiseEvent(new RoutedEventArgs(GestureEndEvent, target));
         e.Handled = true;
     }
 }