[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

1138.0. "Vanishing Windows" by SMAC10::NOBLE (Quick! back in the fish!) Wed Jul 19 1989 08:33

    I have a customer who is looking to replicate some VWS functionality
    under Decwindows. Under UIS he is able to use a call to make a window
    invisible whilst, say, outputting junk to it. He then calls up the
    window as needed later. 
    
    He says that he can't find a way to do this in DECwindows. I'm sure
    that there is but frankly, as you can probably guess by the tone
    of this note, my experience is limited. Can anyone help?
                                                                  
    
    Thanks,
    
    Steev

T.RTitleUserPersonal
Name
DateLines
1138.1VWSENG::KLEINSORGEToys 'R' UsWed Jul 19 1989 10:1019
    Yes and no.  You can do it, but differently...
    
    Under VWS, window contents are always valid.  If you move the window
    offscreen (make it invisible) it still exists and is updated in
    offscreen memory, as is any part of the window that is onscreen but
    obscured.  Moving it back onscreen just puts those pixels into the
    visible display.
    
    Under X11, if it ain't visible anything written to it go to the big
    bit-bucket in the sky.  *Except* PIXMAP's.  A PIXMAP is a offscreen
    bitmap of some arbitrary depth (i.e. planes).  You can write to this
    just like it was a window (except you can't use the CLEAR type
    functions which are window-only).  If he does all his drawing to a
    PIXMAP, then when he wants it onscreen, he can simply create a window
    and do a copy area from the PIXMAP to the window.  This also solves
    the problem of handling window damage (fixing areas of a window that
    were obscured and then exposed).
    

1138.2Map/UnmapPROTO2::FISHERBurns Fisher 381-1466, ZKO3-4/W23Wed Jul 19 1989 11:5411
You can also create the window ahead of time and just not map it till you
are ready for it.  You can also unmap the window, which will make it disappear
from the screen, but not totally go away.

What Fred said about window contents is still true, however.  If you unmap
the window, you can't count on the contents sticking around.  In fact, you
can't count on the contents sticking around anytime...you must always be
prepared to refresh any rectangle that you get from an expose event.

Burns

1138.3Another answerCALL::SWEENEYHoney, I iconified the kidsWed Jul 19 1989 21:4610
    Folks, we've got to take a step back before we can go two steps
    forward: Steev, do you understand the issues around programming to
    Xlib versus programming to the toolkit?  Do you understand what is
    meant by "expose event"?
    
    Basically, by programming to the toolkit (as I hope 99% of all
    customers do) "XtSetValues" will change the "junk" and "XtManageChild"
    "XtUnmanageChild" will make the window "visible" and "invisible" with
    the current values.

1138.4XtUnmanageCompletelyInexperiencedBRILLO::NOBLEDeliberate errerThu Jul 20 1989 04:2015
    Thanks for the answers so far;
    
    re. .3 - No I don't really understand the language here, I'm sort
    of hoping to repeat this stuff verbatim...
    
    However, I do have enough programming experience to hve some idea
    of what's going on, plus looking at the examples further back in
    the notesfile has helped a lot. I shall put what's been received
    here to my customer and see what he makes of it.
    
    Thanks! (Damn - another breach of notes etiquette...)
    
    
    Steev

1138.5VWSENG::KLEINSORGEXUIS or DIE.Thu Jul 20 1989 15:396
    
    Pat, unless you are doing nothing but menus, it's hard not to use
    Xlib.