On Thu, May 25, 2017 at 09:01:11AM +0200, martin rudalics wrote: > > I do not know what the best solution to this is. They could be stored > > in screen local coordinates and converted to frame local as they're > > needed, or they could be recalculated/asked for whenever the frame is > > moved. > > Both, X and Windows query the absolute mouse position here and the NS > code should do the same (just that I don't have any idea what the direct > NS equivalent for XQueryPointer/GetCursorPos is - it should be somehwere > hidden in ns_mouse_position's > > position = [[view window] mouseLocationOutsideOfEventStream]; > position = [view convertPoint: position fromView: nil]; > > but I'm too lazy to figure that out). last_mouse_motion_x/_y are > conceptually reserved for note_mouse_movement and should not be used for > anything else (IMHO). Looks like the right way to get it in screen‐coords is [NSEvent mouseLocation] which returns an NSPoint. https://developer.apple.com/reference/appkit/nsevent/1533380-mouselocation?language=objc Seems strange to me that it’s in NSEvent, but I guess it makes sense to someone. Patch attached. I’ve just noticed the grocer’s apostrophe in the commit message. *sigh* It seems to me that the NS port seems to like storing values and then reusing them later even though they can be asked for directly in real‐time. I don’t know if that’s a coding style thing or what. -- Alan Third