[Cuis] Differences between Squeak and Cuis Morphs (was Re: More...morphic)
Juan Vuletich
juan at jvuletich.org
Sat Apr 26 14:35:56 CDT 2014
Merged. Thanks, Hannes!
Cheers,
Juan Vuletich
On 4/26/2014 7:11 AM, H. Hirzel wrote:
> Thank you Kent for the notes on the differences between Squeak and Cuis morphs.
>
>
> I have reformatted your notes to markdown format and extended them
> slightly. I copy them in below.
>
> In addition I created a file in my fork of Cuis
>
> https://github.com/hhzl/Cuis-Smalltalk-Dev/blob/master/NotesOnMorphic.md
>
> and issued a pull request
>
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/pulls
>
> Regards
> --Hannes
>
>
>
> ............................................................................................................................................
> File: https://github.com/hhzl/Cuis-Smalltalk-Dev/blob/master/NotesOnMorphic.md
> ............................................................................................................................................
>
>
>
> Notes on Morphic
> ================
>
> Part of the Cuis development is the move to a new version of Morphic
> called *Morphic3*.
>
> The notes below indicate some of the changes and give the reasons for it.
>
>
> Scalable graphics instead of bitmapped graphics
> -----------------------------------------------
>
> Morphic3 will have scalable graphics.
>
> To achieve this the follwoing changes have been made
>
> 1. Integer coordinates of Squeak have been changed into float coordinates.
> 2. Morphs be positioned relative to their container, rather than a
> single, global screen position (absolute positioning).
>
>
> Cuis Morph attributes
> ---------------------
>
> A **Cuis Morph** has
> - a location (relative to its owner) and
> - an extent.
>
> This means that the origin of its rectangle is always 0 at 0.
>
> You can see this in the difference in #drawOn: Squeak and **Cuis**.
>
>
> [Squeak]Morph>>drawOn: aCanvas
> aCanvas fillRectangle: self bounds
> fillStyle: self fillStyle
> borderStyle: self borderStyle.
>
> versus
>
>
> [CUIS]Morph>>drawOn: aCanvas
> "A canvas is already set with a proper transformation from our
> coordinates to those of the Canvas target."
> aCanvas fillRectangle: (0 at 0 extent: self morphExtent)
> color: self color
>
>
> MorphExtension (Squeak) versus properties (Cuis)
> ------------------------------------------------
>
> Following the Cuis philosophy, Morphs have been 'simplified'.
>
> Note the difference in Ivars (instant variables) from Squeak.
> Squeak Morphs look slimmer in terms of number of variables, but a
> Squeak morph typically holds
> a MorphExtension instance -- which is not slim at all.
>
> Cuis Morphs just use properties where needed.
>
> _______________________________________________
> Cuis mailing list
> Cuis at jvuletich.org
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>
More information about the Cuis
mailing list