Quick reactions on graphics post

bill One bill1@key.cc.utah.edu
Fri, 01 May 1998 13:30:58 -0600


Jonathan S. Shapiro wrote:


> These are brief responses -- I'm working on something else at the
> moment.

  I can only imagine what a detailed responce would
  be like.  :)

> [... Lots of good stuff I'll have to think on ...]


> We should also look at the windowing primitives provided by MGR, which
> was done at BellCore.

  Thanks for the pointer... it is proving interesting reading.

  As a practical manner it looks like porting MGR would be much
  less effort than building anything from the ground up for EROS.
  MGR already has tested VGA support.  And it has already been
  ported to several different platforms so its porting rough
  edges have already been worn off.

  So... The points below are probably moot, and I'm commenting
  for completeness.

= = = = = 

> [...]

> In message <3548CBCD.4B55@key.cc.utah.edu>, bill One writes:

> [...]

> [I distinguish between graphics manager and window manager partly to
> avoid confusion with existing terminology and partly because they
> really are different.  The job of the graphics manager is to
> virtualize the graphics subsystem.  The job of the window manager is
> to present an interface and perhaps some interaction policies.]

  There may be philosophical issues here...

  My philosophical view:

  To me the job of the window manager is to dole out visible
  real estate, and deal with overlaps, multiple devices, and
  housekeeping.
  The window manager owns the screens (frame buffers, etc).
  It makes up visible regions, and routines can do graphics
  only to those visible regions they are handed.  (With the
  window manager possibly having to make multiple calls on
  various graphics drivers to handle windows that overlap
  screens or devices.)

  It is the ebodyment of the interaction policies, but
  it is only secondarily an interface.

  The graphics manager handles graphics into (just) the real
  estate that it is given, on behalf of the user.  And in my
  experience is best kept unaware of interaction issues.

  I've helped write systems where the window manager's function
  has windows overlapping multiple devices... The ones that have
  been cleanest for me are those where the graphics deal with
  visible regions as primitive (an not the raw frame buffer)
  and the window manager doles out visible regions.

  Possibly this is a terminology issue... but since the graphics
  depend on the Window manager's data structures, and not the
  other way around, I take the manager as the more primitive
  entity.

  I have seen projects where the window manager filtered
  everything and  also did clipping, and graphics drivers
  did none...  simplier device drivers,
  but uglier window manager.