[Cuis] [Ann] Cuis 4.1 is released
juan at jvuletich.org
juan at jvuletich.org
Mon Dec 17 12:36:56 CST 2012
Quoting Chris Muller <ma.chris.m at gmail.com>:
>> The idea is that location (position, angle, scale, and/or whatever
>> specification of how a Morph is placed in its owner) should be completely
>> separated from attributes such as extent. Any morph needs a location. But
>> not all morphs need an extent. For example, a polyline, or Bezier path would
>> be specified by corners or control points. Not by extent. In addition, the
>
> That makes sense. But isn't a rectangular extent still useful for
> quick identification of damaged areas, e.g., to support efficient
> redraw?
>
That´s a problem for the Morphic machinery, not a problem for Morphs
and their programmers. Somebody coding her morphs only needs to care
about appareance and behavior. Not about low level problems such as
damaged areas.
The underlying machinery (World, Canvases, Hand, etc) need to know
about damaged areas and such. These are usually in Display
coordinates, not in Morph coordinates. (Remember that the objective is
to build a ZUI). Even there, a rectangle (aligned with Display or
surface edges) is not the only alternative... Apple´s QuickDraw used
regions for this in 1982!
Squeak´s Morphic merges all this at a single level. The initial design
is simpler, but to support rotation and scaling (via TransformMorphs
and WarpBlt), one consequence is terrible visual quality, because
drawing is done in fake coordinates, and it´s bitmaps that are scaled,
not drawing operations. In addition, these fake coordinates don´t
really make much sense, and the resulting object mashups are very hard
to inspect and debug.
Fixing this mess is one of the central objectives of Cuis and Morphic 3.
Cheers,
Juan Vuletich
More information about the Cuis
mailing list