|
|
@ -514,8 +514,21 @@ CGPoint WindowQuartzSubdriver::PrivateLocalToCG(NSPoint *p)
|
|
|
|
|
|
|
|
|
|
|
|
NSPoint WindowQuartzSubdriver::GetMouseLocation(NSEvent *event)
|
|
|
|
NSPoint WindowQuartzSubdriver::GetMouseLocation(NSEvent *event)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
NSPoint pt = [ event locationInWindow ];
|
|
|
|
NSPoint pt;
|
|
|
|
pt = [ this->cocoaview convertPoint:pt fromView:nil ];
|
|
|
|
|
|
|
|
|
|
|
|
if (event.window == nil) {
|
|
|
|
|
|
|
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
|
|
|
|
|
|
|
|
if ([ this->cocoaview respondsToSelector:@selector(convertRectFromScreen:) ]) {
|
|
|
|
|
|
|
|
pt = [ this->cocoaview convertPoint:[ [ this->cocoaview window ] convertRectFromScreen:NSMakeRect([ event locationInWindow ].x, [ event locationInWindow ].y, 0, 0) ].origin fromView:nil ];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
pt = [ this->cocoaview convertPoint:[ [ this->cocoaview window ] convertScreenToBase:[ event locationInWindow ] ] fromView:nil ];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
pt = [ event locationInWindow ];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
pt.y = this->window_height - pt.y;
|
|
|
|
pt.y = this->window_height - pt.y;
|
|
|
|
|
|
|
|
|
|
|
|