[comp.windows.news] Flickering canvases

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