Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!sri-spam!ames!sdcsvax!ucbvax!ramoth.sgi.COM!msc From: msc@ramoth.sgi.COM (Mark Callow) Newsgroups: comp.windows.x Subject: Re: ClipMode & V11 Message-ID: <8706032030.AA23855@ramoth.sgi.com> Date: Wed, 3-Jun-87 16:30:39 EDT Article-I.D.: ramoth.8706032030.AA23855 Posted: Wed Jun 3 16:30:39 1987 Date-Received: Sun, 7-Jun-87 05:12:19 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 45 From: Robert Scheifler > ClipMode still exists in V11, as the subwindow-mode of a > graphics context. > It still exists because I don't know a reasonable way to > support rubber-banding without it, and there are other uses for > overlays that span window boundaries. The NeWS abstraction of > an overlay is interesting, but I'm not yet convinced it > suffices (viz., it seems to have an extremely weak semantics in > NeWS). In NeWS the semantics of overlay canvases are identical to that of any other canvas. The only restriction is that it can't be reshaped separately from its parent. An overlay canvas is displayed above its parent without causing damage to the parent. Rubberbanding for moving and reshaping windows is done in an overlay canvas that covers the root window (and all other windows). The mechanism for display of overlay canvases is left up to server which can take advantage of overlay planes when they exist. On monochrome systems the server displays overlays by using an XOR drawing function and it builds a small display list that it uses to take down (remove) the overlay. The overlay canvas is a very powerful paradigm that allows the hardware to be used to its fullest advantage. The only weakness of overlays in NeWS is in the implementation of the monochrome server which does not support all drawing operations. I wrote an overlay canvas implementation that uses overlay planes and supports all the drawing operations of a regular canvas. I now use overlay canvases for menus as well as rubberbanding. In X, which has no similar notion, every client has to figure out for itself the most effective way to do rubberbanding and other feedback; i.e., display something without damaging the underlying image. According to my understanding of the V11 Protocol Document, these subwindow modes are simply mechanisms that allow a client to draw outside its usual boundaries. -- From the TARDIS of Mark Callow msc@sgi.sgi.com, ...{ames,decwrl,sun}!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."