tomas@m2cs.uu.no (Tomas Felner) (11/06/89)
I have a problem with moving canvases that has been bothering me for quite some time. The basic situation is as follows: I have a canvas ontop of which I have another canvas, on top of which another one, etc. I have code to grab one of those canvases with the mouse and move them around. All the canvases on top of the grabbed canvas are then moved together with the grabbed one. When moving this "stack of canvases" the moving of the bottommost canvas goes smoothly, but all the canvases on top of it flicker like crazy! This effect appears with any stack of canvases and with an arbitray number of canvases on top of the bottom canvas. Why is this so? Is there any way to avoid this? Am I doing something wrong? Help !!! Tomas -- Tomas Felner Modula-2 CASE Systems AS | Internet: tomas@m2cs.uu.no Maridalsveien 139 | Phone: +47 2 379784 N-0461 Oslo 4, Norway | FAX: +47 2 356448
msc@ramoth.esd.sgi.com (Mark Callow) (11/07/89)
In article <1989Nov6.111754.11056@m2cs.uu.no>, tomas@m2cs.uu.no (Tomas Felner) writes: > I have a problem with moving canvases that has been bothering me for > quite some time. The basic situation is as follows: I have a canvas > ontop of which I have another canvas, on top of which another one, etc. I > have code to grab one of those canvases with the mouse and move them around. > All the canvases on top of the grabbed canvas are then moved together > with the grabbed one. When moving this "stack of canvases" the moving of > the bottommost canvas goes smoothly, but all the canvases on top of it > flicker like crazy! This effect appears with any stack of canvases and > with an arbitray number of canvases on top of the bottom canvas. You don't say what version of NeWS you are running... In NeWS 1.1 (and 4Sight) when you move a canvas containing opaque children, the opaque children are unmapped while the canvas is moved then remapped. This may be the cause of your flickering. The unmapping was done to ensure that some obscure case involving retained canvases and save unders would work correctly. I believe Sun found this to be unnecessary so NeWS 2.0 (X11/NeWS) doesn't unmap the canvases anymore. -- From the TARDIS of Mark Callow msc@ramoth.sgi.com, ...{ames,decwrl}!sgi!msc "There is much virtue in a window. It is to a human being as a frame is to a painting, as a proscenium to a play. It strongly defines its content."
tomas@m2cs.uu.no (Tomas Felner) (11/09/89)
msc@ramoth.esd.sgi.com (Mark Callow) writes: >In article <1989Nov6.111754.11056@m2cs.uu.no>, tomas@m2cs.uu.no (Tomas >Felner) writes: >> I have a problem with moving canvases that has been bothering me for >> quite some time. The basic situation is as follows: I have a canvas >> ontop of which I have another canvas, on top of which another one, etc. I >> have code to grab one of those canvases with the mouse and move them around. >> All the canvases on top of the grabbed canvas are then moved together >> with the grabbed one. When moving this "stack of canvases" the moving of >> the bottommost canvas goes smoothly, but all the canvases on top of it >> flicker like crazy! This effect appears with any stack of canvases and >> with an arbitray number of canvases on top of the bottom canvas. >You don't say what version of NeWS you are running... Sorry, it's NeWS 1.1 on a Sun 3/50. >In NeWS 1.1 (and 4Sight) when you move a canvas containing opaque children, >the opaque children are unmapped while the canvas is moved then remapped. >This may be the cause of your flickering. The unmapping was done to ensure >that some obscure case involving retained canvases and save unders would >work correctly. I believe Sun found this to be unnecessary so NeWS 2.0 >(X11/NeWS) doesn't unmap the canvases anymore. Is there any way to avoid this mapping/unmapping under NeWS 1.1 or does anyone have a good solution for this. I haven't ported my stuff to X11/NeWS yet, but if it works there, I guess I have to look into it (I have to do it anyway sooner or later). Tomas -- Tomas Felner Modula-2 CASE Systems AS | Internet: tomas@m2cs.uu.no Maridalsveien 139 | Phone: +47 2 379784 N-0461 Oslo 4, Norway | FAX: +47 2 356448