屏幕缩放时CGDisplayHideCursor,CGDisplayShowCursor和CGWindowListCreateImage问题

时间:2011-02-21 10:19:24

标签: macos cursor screen zoom show-hide

我正在开发一个桌面应用程序,在其中我正在读取屏幕缓冲区数据并从中创建图像。我使用调用glReadPixels来读取屏幕数据。

  1. 如果我不想在屏幕缓冲区创建的图像中显示光标,我会先使用调用CGDisplayHideCursor隐藏光标,然后再从屏幕缓冲区创建图像。

  2. 如果我想在屏幕缓冲区创建的图像中显示光标,我可以在从屏幕缓冲区创建图像之前使用调用CGDisplayShowCursor。

  3. 这在正常情况下工作正常。但是,如果我在屏幕缩放时尝试这个:

    1. 光标显示在从屏幕创建的图像中,即使我将其隐藏。
    2. 即使我显示光标,也会在屏幕上创建的图像中显示两个光标。
    3. 这里有什么问题。有人可以帮助我吗?

      提前致谢。

      此致 迪帕

1 个答案:

答案 0 :(得分:1)

我可以使用CGCursorIsDrawnInFramebuffer解决它,它会告诉光标是否包含在缓冲区中。