1

我正在尝试找出在 OS X 屏幕上所有其他项目的顶部绘制的最佳方法。我不想妨碍用户与其应用程序交互的能力,但想“注释”它们. 我希望能够绘制多达 20 种不同的注释。Gizmodo 截图的上半部分恰好很好地展示了我想做事情。http://gizmodo.com/assets/resources/2006/07/04%20Safari.jpg(对不起,我太新了,不能把它作为图片发布)

认为我需要回答的问题是:

  1. 我应该为每个绘图创建一个窗口并绘制到那个窗口吗?如果是这样,我如何最大限度地减少开销?
  2. 鉴于我不想要任何窗口装饰,我应该使用什么样的窗口或其他上下文?

我不认为我想要创建 20 个窗口的开销,但我也不知道我想创建一个包含我的上下文的全屏、不可见窗口(我假设是一个子类 NSView),因为我担心那会a) 导致与以下内容交互的问题 b) 打破仅在必要时重绘的细节(我的实际绘图可能只覆盖 10% 的屏幕)

我以前没有使用过 Quartz2d,所以我无法理解如何从文档中获取“正确”的上下文。任何帮助,将不胜感激。

谢谢,

4

1 回答 1

1

您只能在窗口中绘图。您可以制作一个透明的无边框窗口,但它需要位于前面。

您可以将它的级别设置NSPopUpMenuWindowLevel为使其绘制在其他窗口上方(这对用户来说会很烦人),但是单击它会:

a) 激活并展示您的应用程序

b) 防止下方的应用接收鼠标事件

那是你要的吗?

于 2010-06-22T11:03:32.213 回答