@@ -241,6 +241,12 @@ - (bool) ignoreUserInput:(bool)trigerInputWhenDisabled
241241 return FALSE ;
242242}
243243
244+ static void ConvertTilt (NSPoint tilt, float * xTilt, float * yTilt)
245+ {
246+ *xTilt = tilt.x * 90 ;
247+ *yTilt = -tilt.y * 90 ;
248+ }
249+
244250- (void )mouseEvent : (NSEvent *)event withType : (AvnRawMouseEventType) type
245251{
246252 bool triggerInputWhenDisabled = type != Move && type != LeaveWindow;
@@ -295,30 +301,47 @@ - (void)mouseEvent:(NSEvent *)event withType:(AvnRawMouseEventType) type
295301 float yTilt = 0 .0f ;
296302 AvnPointerDeviceType pointerType = AvnPointerDeviceType::Mouse;
297303
298- switch (event.subtype )
304+ switch (event.type )
299305 {
300- case NSEventSubtypeTabletPoint:
301- switch (event.type )
306+ case NSEventTypeLeftMouseDown:
307+ case NSEventTypeLeftMouseDragged:
308+ case NSEventTypeRightMouseDown:
309+ case NSEventTypeRightMouseDragged:
310+ case NSEventTypeOtherMouseDown:
311+ case NSEventTypeOtherMouseDragged:
312+ switch (event.subtype )
302313 {
303- case NSEventTypeLeftMouseDown:
304- case NSEventTypeLeftMouseDragged:
305- case NSEventTypeRightMouseDown:
306- case NSEventTypeRightMouseDragged:
307- case NSEventTypeOtherMouseDown:
308- case NSEventTypeOtherMouseDragged:
314+ case NSEventSubtypeTabletPoint:
315+ pointerType = AvnPointerDeviceType::Pen;
309316 pressure = event.pressure ;
317+ ConvertTilt (event.tilt , &xTilt, &yTilt);
310318 break ;
311- default :
319+ case NSEventSubtypeTabletProximity:
320+ pointerType = AvnPointerDeviceType::Pen;
312321 pressure = 0 .0f ;
313322 break ;
323+ default :
324+ break ;
314325 }
315- xTilt = event.tilt .x * 90 ;
316- yTilt = -event.tilt .y * 90 ;
317- pointerType = AvnPointerDeviceType::Pen;
318326 break ;
319- case NSEventSubtypeTabletProximity:
320- pressure = 0 .0f ;
321- pointerType = AvnPointerDeviceType::Pen;
327+ case NSEventTypeLeftMouseUp:
328+ case NSEventTypeRightMouseUp:
329+ case NSEventTypeOtherMouseUp:
330+ case NSEventTypeMouseMoved:
331+ switch (event.subtype )
332+ {
333+ case NSEventSubtypeTabletPoint:
334+ pointerType = AvnPointerDeviceType::Pen;
335+ pressure = 0 .0f ;
336+ ConvertTilt (event.tilt , &xTilt, &yTilt);
337+ break ;
338+ case NSEventSubtypeTabletProximity:
339+ pointerType = AvnPointerDeviceType::Pen;
340+ pressure = 0 .0f ;
341+ break ;
342+ default :
343+ break ;
344+ }
322345 break ;
323346 default :
324347 break ;
0 commit comments