[Cuis] Differences between Squeak and Cuis Morphs (was Re: More...morphic)

H. Hirzel hannes.hirzel at gmail.com
Sat Apr 26 15:30:39 CDT 2014


Thank you for merging, Juan.

https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/NotesOnMorphic.md

Nacho, you see it is very straightforward to generate documentation
out of your questions and with answers like the ones of Ken and Juan
here on the ML.

Please ask more questions. It is easier to answer real questions when
to guess what people might want to know....

Markdown on github is very fast and the formatting is fine.

--Hannes

On 4/26/14, Juan Vuletich <juan at jvuletich.org> wrote:
> 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