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; }
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; } } }
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; }
void OnMouseDown(InputEventMouse e) { _lastMouseDown = e; _lastMouseDownTime = _theTime; AddEvent(_lastMouseDown); }