Search code examples
c++macosopenglgraphicsmacos-carbon

how to capture mouse cursor in screen grab?


I'm using OpenGL to grab the contents of the Mac OSX screen - thsi works very well, except it does not grab the mouse cursor graphic. I need to somewhow get that cursor graphic, either as part of my screen capture routine, or separately.

My question is either:

  • How can I ensure that the mouse cursor image is included with the OpenGL screen grab?

or

  • How can I get the current mouse cursor image as a simple RGBA bitmap?

I'm developing under Mac OSX 10.6, using C++ / Carbon.

Cheers,


Solution

  • You can use I/O Kit to read the pixels for the current cursor. See IOFramebufferShared.h and IOGraphicsLib.h for some of the relevant API.