[interfacekit] Re: UI Widgets?
- From: "Erik Jakowatz" <erik@xxxxxxxxxxxxxx>
- To: interfacekit@xxxxxxxxxxxxx
- Date: Wed, 13 Feb 2002 00:41:17 -0800
>I guess I misphrased that. My question is this: What business does an
>app have doign making direct drawing calls to the server?
All the business in the world. How do you think all the 3rd party
components draw themselves? How the heck is my super-spirograph
brain-mutator app going to do its thing? By using the BView drawing
API, which, in turn, sends messages to app_server to do the job -- just
like the native widgets.
>Is BWindow going to be doing the drawing of the window, or is
>app_server? If it is, then that makes for a rather hefty BWindow
looper,
>each time a new BWindow is created. Instead, why not use a
picassoesque,
>which knows the "draw window with bounds XYXY and with attributes
>MMMM" language, and does all the nitty gritty. "picasso" then draws it
on
>its own time, as called by the app_server internally.
BWindow is an interesting exception to the rule (and, to my knowledge,
the only one): it *is* drawn in app_server. There are a couple of
reasons for this. First is that as fast as communicating to app_server
is, it's still faster to do it internally, and since window frames are
at the most basic level of UI interaction (namely, moving windows about)
it's important for the drawing of windows to happen as fast as possible.
Second, app_server needs to be able to manage the window even in the
case of an application hang in order to maintain interactivity. Drawing
the window is, of course, an essential part of making it interactive --
if you can't see it, you can't interact with it.
>Other widgets would do the same.
They don't in R5, and they won't in R1.
>This would allow a set of plugins for themes to be loaded by app_server
>itself (which means Binary compatible themes in R1!!). This also seems
There will be no themes in R1. Period. We'll look at this in R2. I
might mention that after the last couple of years of
everything-must-be-theme-able madness, an awareness is growing that
themes actually interfere with the smooth operation of a
well-constructed system, rather than making the system more accessible
by allowing the user to tailor the interface.
>like an incredibly facile way of managing the coding.
As I explained to Nathan Whitehorn on the GE list, rendering primitives
(StrokeLine(), etc.) are not at all in the same category as objects
which use them in order to draw themselves. app_server, with the
logical exception of BWindow, is in the business of providing rendering
primitives, not knowing how to draw widgets. The primitives and objects
which use them are at different levels of abstraction, and as such do
not benefit from being lumped together.
>I have a document which describes how I think app_server circa R5
>operates, should I publish it? I'd also be willing to put time into
>developing most of the components I enumerate.
I hate to rain on your parade, but if your document supposes that
widgets are drawn in app_server, I can assure you that you're barking up
the wrong tree. If you don't believe me, feel free to bug the ex-Be
folk. A lot of new abstractions were introduced in Dano, but even
there, widgets do their own rendering.
My apologies if I seem harsh -- I've just endured more "it should be
like GTK/Qt/TinyPTC/etc." than a man should have to. ;) This is our
architecture, and we're running with it -- it is a done deal.
e
Our chief want is someone who will inspire us to be what we know we
could be.
- Ralph Waldo Emerson, writer and philosopher (1803-1882)
- Follow-Ups:
- [interfacekit] Re: UI Widgets?
- From: Steve Vallée
- References:
- [interfacekit] Re: Re: app_server specs
- From: Isaac Yonemoto
Other related posts:
- » [interfacekit] UI Widgets ?
- » [interfacekit] Re: UI Widgets ?
- » [interfacekit] Re: UI Widgets?
- » [interfacekit] Re: UI Widgets?
- » [interfacekit] Re: UI Widgets?
- » [interfacekit] Re: UI Widgets?
- [interfacekit] Re: UI Widgets?
- From: Steve Vallée
- [interfacekit] Re: Re: app_server specs
- From: Isaac Yonemoto