private static PointerPoint GetPointerPoint(NSEvent nativeEvent, Point posInWindow) { var frameId = ToFrameId(nativeEvent.Timestamp); var timestamp = ToTimestamp(nativeEvent.Timestamp); var pointerDeviceType = GetPointerDeviceType(nativeEvent); var pointerDevice = PointerDevice.For(pointerDeviceType); var pointerId = pointerDeviceType == PointerDeviceType.Pen ? (uint)nativeEvent.PointingDeviceID() : (uint)0; var isInContact = GetIsInContact(nativeEvent); var properties = GetPointerProperties(nativeEvent, pointerDeviceType); return(new PointerPoint(frameId, timestamp, pointerDevice, pointerId, posInWindow, posInWindow, isInContact, properties)); }
private static PointerEventArgs BuildPointerArgs(NSEvent nativeEvent, Point posInWindow) { var frameId = ToFrameId(nativeEvent.Timestamp); var timestamp = ToTimestamp(nativeEvent.Timestamp); var pointerDeviceType = GetPointerDeviceType(nativeEvent); var pointerDevice = PointerDevice.For(pointerDeviceType); var pointerId = pointerDeviceType == PointerDeviceType.Pen ? (uint)nativeEvent.PointingDeviceID() : (uint)1; var isInContact = GetIsInContact(nativeEvent); var properties = GetPointerProperties(nativeEvent, pointerDeviceType).SetUpdateKindFromPrevious(_previous?.CurrentPoint.Properties); var modifiers = GetVirtualKeyModifiers(nativeEvent); var point = new PointerPoint(frameId, timestamp, pointerDevice, pointerId, posInWindow, posInWindow, isInContact, properties); var args = new PointerEventArgs(point, modifiers); _previous = args; return(args); }
internal PointerRoutedEventArgs(NSSet touches, NSEvent nativeEvent, UIElement source) : this() { _nativeEvent = nativeEvent; _nativeTouches = touches; var pointerDeviceType = GetPointerDeviceType(nativeEvent); var pointerId = (uint)0; if (pointerDeviceType == PointerDeviceType.Pen) { pointerId = (uint)nativeEvent.PointingDeviceID(); } var isInContact = GetIsInContact(nativeEvent); FrameId = ToFrameId(_nativeEvent.Timestamp); Pointer = new Pointer(pointerId, pointerDeviceType, isInContact, isInRange: true); KeyModifiers = GetVirtualKeyModifiers(nativeEvent); OriginalSource = source; }