From the analog clock program, I found that any transformation functions (translate(), rotate(), scale(), etc) don’t respect smooth setting and always work as if smooth is disabled (noSmooth()). That what makes the analog clock program that using them in the drawing produce pixelated clock hands despite using smooth() functions. Is this correct? If it is, could they be made to respect the smooth settings (through noSmooth() and smooth() functions)?
translate() and rotate() shouldn’t have any effect on the smooth setting. scale() can cause edges to look aliased, if you scale them down, but this should not disable smooth().
Yes, they don’t effect nor disable smooth() (or noSmooth()), but they don’t respect it either. You should see the difference if you compare my analog clock (drawn without using transformation) with the other analog clock made by other users (drawn with transformation).
translate, rotate and scale don’t have anything to do with the noSmooth() / smooth() setting. They simply modify the current transformation state. Only rendering commands are affected by the smooth state.
Ah, you’re right, @Simeon. After I re-examined the other analog clock code, I found the problem is in the old Bortel’s font class which disable smooth setting when drawing the text but didn’t re-enable it or revert it to the previous condition after that. Naughty @Bortels! BTW, where is he now?
Now, I got the other clock draws hands smoothly. So, why did I bother make another analog clock?