--- Begin Message ---
super!
it just works fine, except the font.
I’ve also noticed that the mouse pointer is not drawn while dragging a morph.
Do you plane to make a package for it ?
I would like to integrate it in Bloc.
thanks
Alain
> Le 31 janv. 2015 à 09:48, Marcus Denker <marcus.den...@inria.fr> a écrit :
>
> Nice! It works fine here (font looks strange, yes).
> The world size seems to be limited to the small window
> that pharo starts up with? Making it larger seems to still clip at that
> border.
>
>> On 23 Jan 2015, at 17:40, Nicolai Hess <nicolaih...@web.de
>> <mailto:nicolaih...@web.de>> wrote:
>>
>>
>>
>> 2015-01-10 13:18 GMT+01:00 Nicolai Hess <nicolaih...@web.de
>> <mailto:nicolaih...@web.de>>:
>>
>> I think I got the MorphTreeTransformMorph now working, need to clean up the
>> code
>> and maybe I 'll upload this to the athens repository.
>>
>> nicolai
>>
>>
>>
>>
>> I don't know how often I thought "I got this working", but NOW I think I got
>> this morphic transformation working :)
>>
>> I give up to use the AthensTextRenderer classes, they aren't implemented
>> fully, to much work for me to do this.
>> Instead, I just subclass the DisplayScanner and reimplemented all
>> Canvas-draw-methods with athens-drawing-methods.
>>
>> Still some morphs aren't "ported", but they use some magic. For example, for
>> some morphs the drawOn:Canvas methods
>> calls many other methods drawBackroundOn: aCanvas, drawIconOn: aCanvas,
>> drawLinesOn: ...
>> (for exampe: IndentingListItemMorph, MorphTreeMorph). Porting this morphs
>> means, we have to duplicate all this methods.
>> (Ok there are other options, but I don't want to change something in the
>> original Morphic/Canvas workflow).
>> Other Morphs just delegate the drawing call, that delegate the calls further
>> and deep in this call change the
>> drawing actually happens. This again means I have to duplicate all this
>> methods just to use an AthensCanvas for drawing.
>>
>> So, for those Morphs I use a Canvas Wrapper (AthensCanvasWrapper). I already
>> wrote about this one, it implements (most)
>> of the Morphic/Canvas API on top of Athens, it was an alternative approach
>> for Morphic<->Athens porting. This one is
>> now a much more advanced version and I can use it in combination with the
>> other drawOnAthensCanvas methods.
>>
>> The drawOnAthensCanvas method in MorphTreeNodeMorph for example just calls
>> this
>> drawOnAthensCanvas: anAthensCanvas
>> self drawOnCanvasWrapperFor: anAthensCanvas
>> which in turn creates an AthensCanvasWrapper and then calls
>> self drawOn: wrapper
>> The same Morphic/Canvas drawOn method is used! But the rendering is done
>> with Athens.
>>
>> Rubric does not work - Itself already duplicates many code, I don't want to
>> look at this now.
>> Brick does not work - It uses some of Canvas' private api, and it is
>> difficult to provide this with Athens.
>>
>>
>> Many other things are working,
>> PLEASE try it out. Morphic on Athens looks great (except the font issue ...).
>>
>> Just take a fresh image (I use 40442) and load the attached
>>
>> morphic_on_athens.cs (<-- all code for Morphic<->Athens porting)
>> athens_test_display.3.cs (<-- Tests Athens for the whole MorphicWorld)
>>
>> Open a Workspace (old workspace preferred) and execute
>>
>> AthensTestDisplay testSwitchToAthensFor: 25.
>>
>> This will switch the world display rendering for 25 seconds from Morphics
>> Canvas-Api to
>> Athens.
>>
>>
>> Feedback welcome.
>>
>>
>>
>>
>>
>>
>>
>> <athens_test_display.3.cs><morphic_on_athens.cs>
--- End Message ---