存储当前鼠标位置(系统范围)然后(稍后)将鼠标放在该存储点的最佳方法是什么?

[NSEvent mouseLocation] 获取位置,然后我可以用 CGEventMouseMoved, ,但它们各自使用不同的坐标系统(我相信 y=0 是 NSEvent 的顶部和 CGEvent 的底部)。

我担心捕获屏幕高度并使用它在两者之间进行转换的稳健性 - 或者这是最好的方法?

有帮助吗?

解决方案

是的,使用主屏幕的高度是翻转屏幕坐标的标准方法。

其他提示

你可以使用 CG事件点击 获取鼠标事件而不是 NSEvent。然后,您可以在活动到来时选择翻转或不翻转。

(我相信 y=0 是 NSEvent 的顶部和 CGEvent 的底部)。

你的做法是错误的。Quartz采用翻转,即y=0=top。AppKit使用unflipped,即y=0=bottom。(编辑:对于事件来说,就是这样。Quartz 2D(绘图 API)使用未翻转的坐标,与 AppKit 相同。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top