How does RealVNC know when to make a screen capture

Castelier Serge (RBFM/ASQ1) * Serge.Castelier "at"
Tue Jan 6 12:28:00 2004


I downloaded the source code of VNC and had a look at it.

Apparently VNC makes screen captures for a Win32 PC by using API's such as
GetDIBits(). But it's not clear to me how the server part of the application
knows that something has changed on the screen of the PC. Furthermore ,I don't
know if VNC makes a screen capture of the entire screen or just of the part
that has been changed.

I saw in the source code that regions are beeing used with API's such as
GetRegionData() and I gather VNC is using regions to determine which part of
the screen has to be refreshed, but I'm not  familiar with regions and I
didn't manage to understand how it works.

Can anyone help me ?

Thank you in advance

Serge Castelier