コード例 #1
0
 public InputEventMouse(MouseEvent eventType, InputEventMouse parent)
     : base(parent)
 {
     EventType  = eventType;
     _buttons   = parent._buttons;
     _clicks    = parent._clicks;
     X          = parent.X;
     Y          = parent.Y;
     _mouseData = parent._mouseData;
 }
コード例 #2
0
 void OnMouseMove(InputEventMouse e)
 {
     AddEvent(new InputEventMouse(MouseEvent.Move, e));
     if (!_mouseIsDragging && _lastMouseDown != null)
     {
         if (DistanceBetweenPoints(_lastMouseDown.Position, e.Position, MouseDragBeginDistance))
         {
             AddEvent(new InputEventMouse(MouseEvent.DragBegin, e));
             _mouseIsDragging = true;
         }
     }
 }
コード例 #3
0
 void OnMouseUp(InputEventMouse e)
 {
     if (_mouseIsDragging)
     {
         AddEvent(new InputEventMouse(MouseEvent.DragEnd, e));
         _mouseIsDragging = false;
     }
     else if (_lastMouseDown != null && !DistanceBetweenPoints(_lastMouseDown.Position, e.Position, MouseClickMaxDelta))
     {
         AddEvent(new InputEventMouse(MouseEvent.Click, e));
         if ((_theTime - _lastMouseClickTime <= DoubleClickMS) && !DistanceBetweenPoints(_lastMouseClick.Position, e.Position, MouseClickMaxDelta))
         {
             _lastMouseClickTime = 0f;
             AddEvent(new InputEventMouse(MouseEvent.DoubleClick, e));
         }
         else
         {
             _lastMouseClickTime = _theTime;
             _lastMouseClick     = e;
         }
     }
     AddEvent(new InputEventMouse(MouseEvent.Up, e));
     _lastMouseDown = null;
 }
コード例 #4
0
 void OnMouseDown(InputEventMouse e)
 {
     _lastMouseDown     = e;
     _lastMouseDownTime = _theTime;
     AddEvent(_lastMouseDown);
 }