Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How is mouse rendered in windows

As per my understanding, bitblt call with captureblt gives the buffer from display's frame buffer object. In this buffer, mouse cursor is not present.

In Windows XP, continuous bitblt calls will make the mouse flicker which I can assume that - mouse is hidden, a render operation is performed and frame buffer is returned. But in Windows 7, mouse is not flickering and yet its not captured in the buffer returned by the bitblt calls. How is mouse rendered in Windows 7? Can I render some text in a similar fashion?

I've a requirement to overlay text on top of all the windows, but it should not be present in bitblt calls. I was trying to see if we can render something similar to how mouse is rendered.

like image 354
Ravi Kishore Avatar asked Dec 02 '25 06:12

Ravi Kishore


1 Answers

I think Windows 7 uses Desktop Compositing (or whatever it's called) to render stuff, so the windows are actually rendered off-screen and the capture is taken from that...

Note: Just for reference, the old behavior: The Case of the Disappearing Cursor

like image 129
Medinoc Avatar answered Dec 03 '25 21:12

Medinoc



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!