self changeProportionalLayout.
editButton := HypEditButton new .
editButton position: 0@0.
self addMorph: editButton fullFrame: #(0 0 0 0 0 0 100 100).
I am afraid Igor I still see no change with your code.
I like to note here, that when I first created the editButton as morph , it indeed placed it in correct place. A 0@0 placed it in top left corner as expected. But I did overide its DrawOn: �with an empty method and used my own method to render it with Athens. So it looks like the problem is Athens related and not Morphic related or maybe a disagreement between Morphic and Athens.�
render:aCanvas
|shape1 shape2 shape3 editButtonColor |�
shape1 := aCanvas createPath: [:path |�
path relative .
path moveTo: ((self position x )+5)@(self position y);
lineTo: 20@0;
cwArcTo: 5@5 angle: 45;
lineTo: 0@20;
cwArcTo: (-5)@5 angle: 45;
lineTo: (-20)@0;
cwArcTo: (-5)@(-5) angle: 45;
lineTo: 0@(-20);
cwArcTo: 5@(-5) angle: 45.
�].
shape2 := aCanvas createPath: [:path |�
path relative .
path moveTo: ((self position x +7))@((self position y +3));
lineTo: 18@0;
cwArcTo: 2@2 angle: 45;
lineTo: 0@20;
cwArcTo: (-2)@2 angle: 45;
� lineTo: (-20)@0;
cwArcTo: (-2)@(-2) angle: 45;
lineTo: 0@(-20);
cwArcTo: 4@(-2) angle: 45.
�].
shape3 := aCanvas createPath: [:path |�
path relative .
path moveTo: ((self position x +15))@((self position y +10));
cwArcTo: 5@5 angle: 90;
cwArcTo: (-5)@5 angle: 90;
cwArcTo: (-5)@(-5) angle: 90;
cwArcTo: 5@(-5) angle: 90.�
�].
( editMode = true) ifTrue: [ editButtonColor := Color green] ifFalse: [ editButtonColor := Color red ].
(aCanvas setStrokePaint: editButtonColor) width: 1.
� ��
aCanvas drawShape: shape1 .
aCanvas drawShape: shape2.
aCanvas setPaint: (editButtonColor alpha: 0.3 ).
aCanvas drawShape: shape3.
� � ��