From: Pharo-dev [mailto:pharo-dev-boun...@lists.pharo.org] On Behalf Of Henrik 
Nergaard
Sent: Wednesday, January 27, 2016 4:47 PM
To: Pharo Development List <pharo-dev@lists.pharo.org>
Subject: Re: [Pharo-dev] Morphic magician requested. What is referencePosition?

#referencePostion returns the specified center for the morph in global 
coordinates.
By default this will be the same as “self bounds origin + (self bounds 
extent/2.0)” but can have other depending on what #rotationCenter returns.

#referencePositon: on the other hand do not set a new centre, but moves the 
morph to a new position by using the referencePosition as origin instead of its 
top left corner.

Example:


| m |

m := Morph new
               color: Color orange;
               extent: 200@72;
               openCenteredInWorld;
               yourself.

m on: #click send: #value to: [ m referencePosition: (m referencePosition + 
(10@10)) ]   .

Looking at Morph>>#handleDropMorph: referencePosition is used to place the 
dropped morph in centre of the new owner.

“
observation:
‘(self transformedFrom: anEvent hand world) globalPointToLocal: aMorph 
referencePosition’ looks incomplete as it will always be equal to just doing 
‘aMorph referencePosition’ because #transformedFrom: always returns an 
IdentityTransform where # globalPointToLocal: just returns the point given to 
it.
“

Correction:

#transformedFrom: translates the dropped morph “center” to the receiving morph 
local coordinates (local from the owning transformationMorph) if it has an 
owner which is a transformation type Morph (see implementors #tranformFrom:) .



Best regards,
Henrik

From: Pharo-dev [mailto:pharo-dev-boun...@lists.pharo.org] On Behalf Of 
Aliaksei Syrel
Sent: Wednesday, January 27, 2016 4:12 PM
To: Pharo Development List 
<pharo-dev@lists.pharo.org<mailto:pharo-dev@lists.pharo.org>>
Subject: [Pharo-dev] Morphic magician requested. What is referencePosition?

Hi

Do anyone know what is Morph>>#referencePosition and why is it used to handle 
drag and drop?

Here is what method doc says:
"Return the current reference position of the receiver"

Thanks,
Alex

Reply via email to