|
|
@ -241,6 +241,12 @@ |
|
|
return FALSE; |
|
|
return FALSE; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static void ConvertTilt(NSPoint tilt, float* xTilt, float* yTilt) |
|
|
|
|
|
{ |
|
|
|
|
|
*xTilt = tilt.x * 90; |
|
|
|
|
|
*yTilt = -tilt.y * 90; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
- (void)mouseEvent:(NSEvent *)event withType:(AvnRawMouseEventType) type |
|
|
- (void)mouseEvent:(NSEvent *)event withType:(AvnRawMouseEventType) type |
|
|
{ |
|
|
{ |
|
|
bool triggerInputWhenDisabled = type != Move && type != LeaveWindow; |
|
|
bool triggerInputWhenDisabled = type != Move && type != LeaveWindow; |
|
|
@ -295,30 +301,47 @@ |
|
|
float yTilt = 0.0f; |
|
|
float yTilt = 0.0f; |
|
|
AvnPointerDeviceType pointerType = AvnPointerDeviceType::Mouse; |
|
|
AvnPointerDeviceType pointerType = AvnPointerDeviceType::Mouse; |
|
|
|
|
|
|
|
|
switch(event.subtype) |
|
|
switch (event.type) |
|
|
{ |
|
|
{ |
|
|
case NSEventSubtypeTabletPoint: |
|
|
case NSEventTypeLeftMouseDown: |
|
|
switch(event.type) |
|
|
case NSEventTypeLeftMouseDragged: |
|
|
|
|
|
case NSEventTypeRightMouseDown: |
|
|
|
|
|
case NSEventTypeRightMouseDragged: |
|
|
|
|
|
case NSEventTypeOtherMouseDown: |
|
|
|
|
|
case NSEventTypeOtherMouseDragged: |
|
|
|
|
|
switch (event.subtype) |
|
|
{ |
|
|
{ |
|
|
case NSEventTypeLeftMouseDown: |
|
|
case NSEventSubtypeTabletPoint: |
|
|
case NSEventTypeLeftMouseDragged: |
|
|
pointerType = AvnPointerDeviceType::Pen; |
|
|
case NSEventTypeRightMouseDown: |
|
|
|
|
|
case NSEventTypeRightMouseDragged: |
|
|
|
|
|
case NSEventTypeOtherMouseDown: |
|
|
|
|
|
case NSEventTypeOtherMouseDragged: |
|
|
|
|
|
pressure = event.pressure; |
|
|
pressure = event.pressure; |
|
|
|
|
|
ConvertTilt(event.tilt, &xTilt, &yTilt); |
|
|
break; |
|
|
break; |
|
|
default: |
|
|
case NSEventSubtypeTabletProximity: |
|
|
|
|
|
pointerType = AvnPointerDeviceType::Pen; |
|
|
pressure = 0.0f; |
|
|
pressure = 0.0f; |
|
|
break; |
|
|
break; |
|
|
|
|
|
default: |
|
|
|
|
|
break; |
|
|
} |
|
|
} |
|
|
xTilt = event.tilt.x * 90; |
|
|
|
|
|
yTilt = -event.tilt.y * 90; |
|
|
|
|
|
pointerType = AvnPointerDeviceType::Pen; |
|
|
|
|
|
break; |
|
|
break; |
|
|
case NSEventSubtypeTabletProximity: |
|
|
case NSEventTypeLeftMouseUp: |
|
|
pressure = 0.0f; |
|
|
case NSEventTypeRightMouseUp: |
|
|
pointerType = AvnPointerDeviceType::Pen; |
|
|
case NSEventTypeOtherMouseUp: |
|
|
|
|
|
case NSEventTypeMouseMoved: |
|
|
|
|
|
switch (event.subtype) |
|
|
|
|
|
{ |
|
|
|
|
|
case NSEventSubtypeTabletPoint: |
|
|
|
|
|
pointerType = AvnPointerDeviceType::Pen; |
|
|
|
|
|
pressure = 0.0f; |
|
|
|
|
|
ConvertTilt(event.tilt, &xTilt, &yTilt); |
|
|
|
|
|
break; |
|
|
|
|
|
case NSEventSubtypeTabletProximity: |
|
|
|
|
|
pointerType = AvnPointerDeviceType::Pen; |
|
|
|
|
|
pressure = 0.0f; |
|
|
|
|
|
break; |
|
|
|
|
|
default: |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
break; |
|
|
break; |
|
|
default: |
|
|
default: |
|
|
break; |
|
|
break; |
|
|
|