ramani@anaconda.uucp (Ramani Pichumani) (08/24/89)
I have been trying in vain to build a popup window in 4sight that will save the contents of a DGL window underneath it. I really need this feature because the time to redraw the images underneath can be unacceptably long. I've tried the following PostScript code with no success: /win framebuffer newcanvas def % create a canvas win /SaveBehind true put % enable SaveBehind framebuffer setcanvas % shape the canvas 100 100 translate 0 0 100 0 360 arc % make the canvas circular win reshapecanvas win setcanvas erasepage clippath .5 setgray fill % fill the canvas win /Mapped true put % map it win /Mapped false put % unmap After unmapping the canvas, all I'm left with is a white hole where the canvas used to be. The only thing I could think of is maybe I should pass the DGL canvas as the parent canvas but I don't know where to get it's handle. The code works fine on my Sun3 but doesn't work as expected on a 4D. Ramani Pichumani Department of Computer Science, Stanford University ramani@patience.stanford.edu
meuer@msi-s9 (Mark Meuer) (08/24/89)
About two months ago, someone said they were going to post a .dvi file previewer for SGI machines. I thought I've been keeping up with the group, but havn't seen a sign of this program. Has anyone heard of it or know of an anonymous ftp site where it can be found? Thanks, -mark Mark Meuer | 1200 Washington Ave. So. Geometry Supercomputer Project | Minneapolis, MN 55415 meuer@geom.umn.edu | (612) 624-1867
msc@ramoth.esd.sgi.com (Mark Callow) (08/31/89)
In article <11510@polya.Stanford.EDU>, ramani@anaconda.uucp (Ramani Pichumani) writes: > > I have been trying in vain to build a popup window in 4sight that will > save the contents of a DGL window underneath it. I really need this > feature because the time to redraw the images underneath can be > unacceptably long. I've tried the following PostScript code with no > success: > > /win framebuffer newcanvas def % create a canvas > win /SaveBehind true put % enable SaveBehind Because all the GL (and DGL clients) are drawing asynchronously to the window server, SaveBehind isn't a good solution. Most GL applications will change their bits will the SaveBehind is active thus outdating the SaveBehind contents. Notifying the window server every time a GL client drew would seriously affect GL performance so we don't do it. For this reason GL canvases are always damaged even though the canvas above has SaveBehind set to true. This causes a REDRAW to be sent to the client. Also SaveBehind doesn't save the contents of the window-id planes. It wasn't worth the extra memory it would have taken since I was causing damage to GL canvases and all NeWS canvases have the same window-id value. We are designing a new GL client to window system interface and are considering hints that a slow drawing client such as yours could use to request different treatment. -- -Mark