Re: how to tell a window is completely redrawn?
Deron Johnson <Deron.Johnson-UdXhSnd/[email protected]> Tue, 08 Mar 2005 13:08:48 -0800
| Newsgroups | gmane.comp.freedesktop.xserver |
|---|---|
| Message-ID | <[email protected]> |
XGetImage ensures that all pending rendering has made it out to the screen. So you shouldn't need to do anything extra if the XGetImage is inside the program which is doing the drawing. However, if the XGetImage is in another process from the one doing the drawing, you'll have to establish your own interprocess communication protocol for the app to tell your XGetImage process when it has flushed its final drawing request to the X server. In general, if you want to make sure that the rendering of an arbitrary X request has been written to the frame buffer, you simply need to do an XFlush followed by an XGetImage of one pixel from the window. This is sufficient to ensure that the contents of all rendering queues (including those in the DDX and the hardware itself) have been flushed out to the frame buffer. Irek Szczesniak wrote: > Hello, > > I need to wait for a window to be completely redrawn, and then take a > picture of it with XGetImage. This window is not mine, and the only > thing I know about it is its ID. > > How can I tell that the X server has compeletly redrawn the window? > > I would appreciate your time and advice. > > > Thank you, > Irek > > > _______________________________________________ > xserver mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/xserver