[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