public override void OnHardwareMouseEvent(int iX, int iY, EHARDWAREMOUSEEVENT eHardwareMouseEvent, int wheelDelta) { MouseEvent mouseEvent = new MouseEvent(iX, iY, eHardwareMouseEvent, wheelDelta); _eventQueue.Enqueue(mouseEvent); }
internal void HandleMouseEvents(int iX, int iY, EHARDWAREMOUSEEVENT eHardwareMouseEvent, int wheelDelta) { if (wheelDelta != 0) { if (_touchTarget != null) { _touchInfo.mouseWheelDelta = -wheelDelta; _touchInfo.UpdateEvent(); _touchTarget.onMouseWheel.BubbleCall(_touchInfo.evt); _touchInfo.mouseWheelDelta = 0; } return; } _touchPosition = new Vector2(iX, iY); _touchTarget = HitTest(_touchPosition, true); _touchInfo.target = _touchTarget; if (_touchInfo.x != _touchPosition.x || _touchInfo.y != _touchPosition.y) { _touchInfo.x = _touchPosition.x; _touchInfo.y = _touchPosition.y; _touchInfo.Move(); } if (_touchInfo.lastRollOver != _touchInfo.target) { HandleRollOver(_touchInfo); } if (eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_LBUTTONDOWN || eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_RBUTTONDOWN || eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_MBUTTONDOWN || eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_LBUTTONDOUBLECLICK) { if (!_touchInfo.began) { _touchInfo.Begin(); _touchInfo.button = (eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_LBUTTONDOWN || eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_LBUTTONDOUBLECLICK) ? 0 : (eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_RBUTTONDOWN ? 1 : 2); this.focus = _touchInfo.target; _touchInfo.UpdateEvent(); _touchInfo.target.BubbleEvent("onTouchBegin", _touchInfo.evt); } } if (eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_LBUTTONUP || eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_RBUTTONUP || eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_MBUTTONUP) { if (_touchInfo.began) { _touchInfo.button = eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_LBUTTONUP ? 0 : (eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_RBUTTONUP ? 1 : 2); _touchInfo.End(); DisplayObject clickTarget = _touchInfo.ClickTest(); if (clickTarget != null) { _touchInfo.UpdateEvent(); if (eHardwareMouseEvent == EHARDWAREMOUSEEVENT.HARDWAREMOUSEEVENT_RBUTTONUP) { clickTarget.BubbleEvent("onRightClick", _touchInfo.evt); } else { clickTarget.BubbleEvent("onClick", _touchInfo.evt); } } _touchInfo.button = -1; } } }
public override void OnHardwareMouseEvent(int iX, int iY, EHARDWAREMOUSEEVENT eHardwareMouseEvent, int wheelDelta) { Stage.inst.HandleMouseEvents(iX, iY, eHardwareMouseEvent, wheelDelta); }
public override void OnHardwareMouseEvent(int iX, int iY, EHARDWAREMOUSEEVENT eHardwareMouseEvent) { OnHardwareMouseEvent(iX, iY, eHardwareMouseEvent, 0); }