Re: how to tell a window is completely redrawn?
Irek Szczesniak <[email protected]> Tue, 8 Mar 2005 16:34:00 -0700 (MST)
| Newsgroups | gmane.comp.freedesktop.xserver |
|---|---|
| Message-ID | <[email protected]> |
Thank you for your e-mail! I appreciate your advice. On Tue, 8 Mar 2005, Deron Johnson wrote: > 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. I have no way of establishing such a communication. These applications do not know that I want to take pictures of their windows. Modifying the applications and recompiling them is not possible. > 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. Based on what you wrote, I tested this: XMapRaised(dpy, window); XFlush(dpy); image = XGetImage (dpy, window, x, y, 1, 1, AllPlanes, format); image = XGetImage (dpy, window, x, y, width, height, AllPlanes, format); Unfortunately, it does not work as expected, i.e. I get a picture of an uncompletely redrawn window. Then I also tried this: image = XGetImage (dpy, window, x, y, width, height, AllPlanes, format); image = XGetImage (dpy, window, x, y, width, height, AllPlanes, format); But also to no avail. What am I doing wrong? Thank you & best, Irek ******************************************************************* > 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