Path: utzoo!attcan!uunet!bloom-beacon!ATHENA.MIT.EDU!swick From: swick@ATHENA.MIT.EDU (Ralph R. Swick) Newsgroups: comp.windows.x Subject: Re: Xlib graphics within widgets Message-ID: <8910121347.AA10048@LYRE.MIT.EDU> Date: 12 Oct 89 13:47:54 GMT References: <124@euteal.ele.tue.nl> Sender: daemon@bloom-beacon.MIT.EDU Organization: DEC/MIT Project Athena Lines: 39 > What I don't understand is why neither widget set available > has a widget just for drawing. Doesn't anyone want to draw??? The Athena widget set doesn't have a special-purpose drawing widget because I fought (hard :-) not to include one. What we provide instead is the Template widget and documentation on how to customize it to do exactly what you want. The problem with a "general-purpose" drawing widget is that either A) It handles every possible anticipated contingency; i.e. number of pixels (how many? 1, 2, 5, SizeofColormap()?), number of callbacks (one for Expose, one for ConfigureNotify, one for KeyPress ...), etc. B) It makes some choice of a "reasonable" subset of A. In the case of A you wind up with a very bloated widget and an application that instantiates even a few of them gets very big and we get lots of flames about how inefficient Xaw/Xt is. And 'every possible anticipated contingency' turns out not to cover some crucial area for somebody so we get 'enhancement requests'. In the case of B you wind up with a widget that is probably bigger than most applications need but too primitive for many and you still haven't educated people about how to live without Mommy and Daddy. And we get lots of flames about howcome the application can get 7 pixels through the widget resources but has to call XAllocNamedColor to get the 8th and 9th, or howcome our drawing widget can't handle input, or... And 'reasonable subset' turns out not to cover very many interesting areas for most people so we get 'enhancement requests'. So it's all my fault and I don't apologize for it. At some point developers aren't being provided a service when the silver platter gets too large. Soapbox complete.