[ENH] Crisp Morphic Scrollbars

Doug Way dway at mat.net
Sat Jun 19 04:09:03 UTC 1999


Here's a look enhancement for the Morphic scrollbars.  Basically, this
just fixes a few things so that the scrollbars look cleaner.  The change
set is at:

http://www.mindspring.com/~dway/smalltalk/crispScrollbars-dew.cs

This switches the scollbar buttons and scrollbar itself to have a
borderWidth of 1 instead of 2, and the highlighting contrast for
raised/inset border types has been increased.

Previously the highlighting was barely a shade lighter/darker, so the
raised/inset relief was too muddy looking.  A thinner border sort of
requires a brighter highlight anyway... I modified the raised/inset border
drawing code so that borderWidth 1 highlights are brighter, but thicker
borderWidths are left as they were.  (Bert's code did something like this,
too.)  I also added the methods Color>>twiceLighter and
Color>>twiceDarker, since there was a giant gap between Color>>lighter
(0.833) and Color>>muchLighter (0.233), and I needed something in between
(0.5).  (Using muchLighter/muchDarker was a little *too* sharp a
contrast.)

Using a borderWidth of 1 has a side benefit of making the buttons appear
larger and easier to see, without actually making the scrollbar take up
any more space.  I guess it's partly a matter of taste, but I generally
feel that a (raised) borderWidth of 1 is more appropriate for tiny widgets
such as the scrollbar buttons.  For example, the buttons were previously 9
pixels tall, and with a borderWidth of 2, that left only 5 pixels in
height to squeeze the triangle into.  Borderwidths of 1 (instead of 2)
have a more subtle 3-d look, too.

I reduced the black borderWidth around the scrollbar from 2 to 1.  I think
this looks better, even with the other pane and window borders being 2
pixels thick.  The scrollbar cannot be grabbed and resized like the panes,
anyway, so the thickness difference is probably okay.  (Actually, I think
the 2-pixel-thick black borders around everything are pretty nasty
looking... perhaps they could be replaced with raised borders (like
Bert's) at some point, without necessarily changing the color scheme of
the windows, and keeping Squeak's colorful character :-).  A changeset for
another time.)

I also fixed the scrollbar "shadow" so that its owner was the blue
pagingArea, not the (black) ScrollBar.  This was causing bad highlighting
because #inset highlighting colors are based on the owner's colors, which
I didn't realize before.  It looks 100 times better now.

Anyway, I submit this changeset with the hope that it might be
incorporated into the base image at some point (if there aren't too many
complaints)... I think the base Morphic look could still use some
tweaking, without necessarily adding a lot of look preferences.

- Doug Way
  EAI/Transom Technogies, Ann Arbor, MI
  dway at eai.com, dway at mat.net
  http://www.transom.com





More information about the Squeak-dev mailing list