[Newbies] Subclassing PasteUpMorph
bert at freudenbergs.de
Fri May 6 14:33:44 UTC 2016
On 04.05.2016, at 19:48, Michael Rice <limitcase at gmail.com> wrote:
> I'm experimenting with subclassing PasteUpMorph to get some additional behavior. One thing I want to do is have my subclass open with a CircleMorph at 0 at 0. I already get that behavior, the CircleMorph in the upper left corner, but want my subclass' origin to be at its center, and the CircleMorph drawn there. My current initialize method,
> super initialize.
> self originAtCenter; addMorph: ((CircleMorph new) color: Color white) centeredNear: 0 at 0.
> still places it in the upper left corner.
> How do I get the origin, 0 at 0, at the center?
You could use
circle x: 0 y: 0.
The originAtCenter flag only affects the PasteUpMorph’s cartesianOrigin which is used by Etoys (via the x/y methods) and puts the origin at either its lowerLeft corner or its center, just as in Math (and unlike Squeak).
That said, Morphic currently does not use a fully transform-based graphics engine. You cannot easily transform the coordinate system for submorphs. Etoys gets around this by applying the origin offset in its x/y accessors (which also flip the y direction from downwards to upwards).
- Bert -
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 4207 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/beginners/attachments/20160506/8b44f84d/smime.bin
More information about the Beginners