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#a169181...
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