On 07.04.2010 14:26, Henrik Johansen wrote:

On Apr 7, 2010, at 1:45 49PM, David Harvey wrote:

Hi list,

I'm writing a little charting morph, and while playing with rotating text for axis labels came across something which I've noted in Morphs text handling a couple of times.�

If I apply a transform in a drawing operation, rotated text _appears_ to be drawn twice, slightly offset, giving a scrappy bold look. It seems only to do this when drawing on a form canvas that's backed onto the display: if you pick and drag the morph, the text is rendered beautifully.

The test morph attached isolates the problem. The transcript logging is an attempt to see what might be happening: looking at the output it appears that there are circumstances in which the during: block is invoked twice.

Any thoughts?

David

http://n4.nabble.com/Problem-with-TransformationMorph-td1691811.html#a1691811

Basically, transform doesn't work with depth 32.
Workarounds are described in the thread.

Cheers,
Henry

David, Lukas, whomever else it may concern.

Of course I turned out to be (partly) wrong when looking into it.
Transform does indeed not work with alpha, but not because of bugs in WarpBlt as I assumed, but because FormCanvas always uses the Paint rule when rotating...
Try the attached code, and you should get better results. (you probably want to use smoothing > 1 if displaying text with rotation other than a multiple of 90 degrees).

This seems to be more of a generic problem though, looking at the number of places a= 32 ifTrue: [] check is made, I'll try to come up with a more consistent solution for a system-wide patch. (which amongst other things would also fix the black border appearing around a window while zooming back to old position when you drag and drop it outside main window)

Cheers,
Henry