[FIX] inset/raised borders for transparent morphs

Doug Way dway at mat.net
Mon Nov 1 07:59:54 UTC 1999


This changeset fixes a problem with drawing #inset or #raised borders
around transparent morphs.

Currently, if you set a BorderedMorph which is transparent to have an
inset or raised border, the border ends up being a grayish color, no
matter what the color behind the transparent morph is.

My thought was that the border should be highlighted as if the morph was
this "background" color (the color behind the transparent morph).  (I
suppose you could argue that a transparent morph shouldn't show any border
at all, since it's transparent, but that seems less satisfying.)

Mainly, this changes Morph>>colorForInsets so that if a morph is
transparent, it recursively checks its owners until it finds a
non-transparent owner.  (This will be the background color.)  It also
tweaks BorderedMorph>>drawOn: so that #raised borders are fixed too.  The
changeset is at:

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

Anyway, this fix works well with the BobsUI simple widget framework, which
is based on container morphs being transparent. (see
http://www.charm.net/~arning/BobsUI.13Jun624pm.cs.txt)

- 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