Как сохранить (и использовать) текущую позицию мыши? - PullRequest
2 голосов
/ 24 января 2010

Каков наилучший способ сохранить текущую позицию мыши (для всей системы), а затем (позже) поместить мышь в эту сохраненную точку?

[NSEvent mouseLocation] возвращает меня в позицию, и я могу перемещать мышь с помощью CGEventMouseMoved, но каждый из них использует свою систему координат (полагаю, у = 0 - верх для NSEvent и нижний для CGEvent).

Меня беспокоит надежность захвата высоты экрана и использования его для преобразования между двумя - или это лучший подход?

Ответы [ 2 ]

1 голос
/ 24 января 2010

Вы можете использовать CGEventTap для получения событий мыши вместо NSEvent. Тогда у вас есть выбор: перевернутый или раскрепощенный в момент прибытия события.

(я считаю, что y = 0 - верх для NSEvent, а низ для CGEvent).

Вы ошибаетесь. Кварц использует перевернутый, у = 0 = верх. AppKit использует unslipped, а y = 0 = bottom. (Правка: для событий, то есть. Quartz 2D, API-интерфейс рисования, использует не измененные координаты, так же, как и AppKit.)

0 голосов
/ 24 января 2010

Да, использование высоты основного экрана является стандартным способом переключения координат экрана.

...