From: Don Burns (don_burns++at++peru.engr.sgi.com)
Date: 10/24/2000 10:07:43
XWindows, pfPipeWindow, Viewports, Channels, Widgets, VideoChannels ALL have
one thing in common : They are rectangular.
Your application is behaving just as it should. The channels in the
pfPipeWindow are only responsible for the area they cover. pfPipeWindows are
not responsible for clearing their area, so they display whatever happens to be
in the frame buffer there.
There are a couple of solutions to your problem, but none are that elegant.
THe best I can think of is to use a channel draw callback, and look for
XEvents on the pfPipeWindow before you call pfDraw on the first channel. If
you get an expose event, clear the window.
-don
On Oct 24, 12:47pm, John Kelso wrote:
> > I have a program that opens a pfPipeWindow. Several pfChannels write to
> > it, but they don't cover all of the window's area.
> >
> > When the window is moved, the areas of the window not being draw by the
> > channels get cruft in them- usually flashing (looks like z-buffer
> > fighting) pieces of what window is underneath it, or pieces of what used
> > to be on the screen before the window was moved.
> >
> > The areas of the window being drawn by the channels work fine- it's just
> > the area of the window that isn't being drawn.
> >
> > I've thought of creating a new channel that covers the whole window and
> > drawing it first, but that seems a bit extreme.
> >
> > Any ideas of how to best keep the undrawn areas of the window clean??
>-- End of excerpt from John Kelso
This archive was generated by hypermail 2b29 : Tue Oct 24 2000 - 10:08:32 PDT