thomas%apgraph%ap542@ztivax.siemens.com (Thomas Oeser (DI AP 313)) (08/03/90)
Proposal: It should be possible to specify independently a pixmap/color for the top, left, bottom and right border of a window or The server should generate an event, when he has redrawn the border of a window Rationale: This would give some means to the programmer to create advanced (sub-)window "decoration" (e.g. 3D-apperance). The 1st version would put the load completely on the server and would allow straight forward programming. The 2nd version would put the load to the application (the window would overwrite its border after recieving this event using a GC with subwindow mode set to "IncludeInferiors" and using the parent window id as drawable); but this is also aceptable. Thomas Oeser PS: BTW, this would save thousands of lines in the Motif code :-) -------------------------------------------------------------------------------- Internet: thomas%apgraph%ap542@ztivax.siemens.com UUCP: ...!mcvax!unido!ztivax!ap542!apgraph!thomas Phone: + 49 89 636 47537 Fax: + 49 89 636 45522 Postal Mail: Siemens AG, DI AP 313, Carl-Wery-Str. 22, D-8000 Munich 83 --------------------------------------------------------------------------------
mouse@LARRY.MCRCIM.MCGILL.EDU (08/10/90)
> Proposal: It should be possible to specify independently a > pixmap/color for the top, left, bottom and right border of > a window > or > The server should generate an event, when he has redrawn > the border of a window The former is not very general (why must borders be split into top, left, bottom, right?) and suffers from (probably fixable) semantic problems (what about the little squares in the corners? Which piece of the border do they belong to?). The latter needs no extensions: simply give the window a border-width of zero and make it a child of another window which sticks out by the desired amount. Handle expose events on this second window as indications that pieces of the "border" need to be redrawn. The second window might instead be a sibling of the first instead of the parent, if that turns out to be more convenient. In particularly extreme cases it might even be four windows (top, left, bottom, right) instead of one. der Mouse old: mcgill-vision!mouse new: mouse@larry.mcrcim.mcgill.edu
thomas@weigelshofen.uucp (Thomas Oeser (DI AP 313)) (08/14/90)
This is my answer to the response of "ther Mouse": >>> Proposal: It should be possible to specify independently a >>> pixmap/color for the top, left, bottom and right border of >>> a window >>> or >>> The server should generate an event, when he has redrawn >>> the border of a window >The former is not very general (why must borders be split into top, >left, bottom, right?) and suffers from (probably fixable) semantic >problems (what about the little squares in the corners? Which piece of >the border do they belong to?). > >The latter needs no extensions: simply give the window a border-width >of zero and make it a child of another window which sticks out by the >desired amount. Handle expose events on this second window as >indications that pieces of the "border" need to be redrawn. The second >window might instead be a sibling of the first instead of the parent, >if that turns out to be more convenient. In particularly extreme cases >it might even be four windows (top, left, bottom, right) instead of one. > > der Mouse I agree that the first proposal is less general than the second one. But it leaves the work at the server (similar to the current way borders are handled). But, do you really mean to create 2 (or more) windows for every (sub-)window within a window hierarchy. Even if we accept that a window "is a lightweigth resource", this would be too much resource wasting. Thomas Oeser *********** DISCLAIMER: All opinions stated here are strictly my own *********** -------------------------------------------------------------------------------- Internet: thomas%apgraph%ap542@ztivax.siemens.com Europe: thomas%apgraph%ap542@ztivax.UUCP UUCP: ...!uunet!mcsun!unido!ztivax!ap542!apgraph!thomas Phone: + 49 89 636 47537 Fax: + 49 89 636 45522 Postal Mail: Siemens AG, DI AP 313, Carl-Wery-Str. 22, D-8000 Munich 83 West Germany --------------------------------------------------------------------------------
mouse@SHAMASH.MCRCIM.MCGILL.EDU (der Mouse) (08/15/90)
>>> Proposal: [...] or >>> The server should generate an event, when he has redrawn >>> the border of a window >> The former [has a few problems] >> The latter needs no extensions: simply give the window a >> border-width of zero and make it a child of another window which >> sticks out by the desired amount. Handle expose events on this >> second window as indications that pieces of the "border" need to be >> redrawn. > But, do you really mean to create 2 (or more) windows for every > (sub-)window within a window hierarchy[?] No, only for those with complicated borders. If even that is too much for you, don't use borders at all - just make the window a little bigger and draw the object that looks visually like a border as graphics in the window. I don't for a moment believe there will be too many windows with complex borders. I recall someone quoting 150 as a number of windows for an application to use. I shudder to think what this monstrosity must look like if there are 150 things each of which is heavyweight enough to require a visually fancy border.... > Even if we accept that a window "is a lightweigth resource", this > would be too much resource wasting. Is that a guess or do you have experiments demonstrating it? I suspect it wouldn't be as bad as you make it sound. (No, I have no experiments to support my guess, but I'm not calling it anything but a guess.) der Mouse old: mcgill-vision!mouse new: mouse@larry.mcrcim.mcgill.edu (For that matter, I never really understood why windows have borders in the first place.)