Mantis - Squeak
Viewing Issue Advanced Details
2116 Morphic minor always 10-24-05 07:33 04-01-06 20:42
closed 3.8  
none 3.9  
0002116: Halo rotation of a true type font throws up a debug window.
For this one.

Get a true type font from the objects morph.
Put the halos around it and use the blue rotation handle to rotate it.

The first time you try it you get a debuger window because Morph>transferStateToRenderer: sends
aRenderer(a MatrixTransformMorph) simplySetVisible:
which MTM does not understand. You will also get a series of debugger windows complianing that UndefinedObject DNU degrees.

The second time you try it the type will rotate (the reference point is the top left of the screen).

If you use the yellow growth handle to squash the font and then rotate it you will get Italic lettering with the rotation.

There are three layers of bugs.

MTM never learned simplySetVisible (which looks like it was added circa 2004)

MTM confuses centerOfRotation with its reference point I think the top left reference point is at 0.5@0.5 the default center of rotation for morph.

Halos have a protocol designed to work with Transformation morphs and polygons. MTM does not take this protocol into account (in particular it denies that it is a flex morph) one of the results is several layers of MTMs can be inserted and are when both the growth and rotation handle are used.

The effect is sort of interesting but not easily controlable.

This is an easily reproducible example. See also Mantis#857 for other MTM bug documentation. Because MTM is essential for full use of TTFonts it is obviously worth fixing and bringing up to date.

See also 0000851,0000877
child of 0005560new  MatrixTransformationMorph needs examining and fixing. 
 FlexFixes-wiz.1.cs [^] (3,420 bytes) 11-06-05 23:46

10-25-05 05:29   
This is not a graphics but rather a Morphic issue.
11-06-05 23:52   
[FIX] Uploaded FlexFixes-wiz.1.cs which addresses the problem.

The fix is two fold.

First a backstop for TransformationMorph >>setSimplyVisible: is defined in Morph since the message can be sent to renderers that do not inherit from TFmorph.

Secondly MatrixTransformMorph>>asFlexOf: is changed to initialze rotation degrees (so nil isn't left having to understand words it doesn't know).

I also used the opportunity to initialize the center of rotation to the middle of the flexed morph. This might not solve all the problems with rotation center but its a nice start.

The halo issue remains (rotation and scaling at the same time cause two levels of rendering which will cause the italic look among other symptoms).
03-29-06 23:37   
to be added
04-01-06 20:42