Here is the problem : use Grahics.drawArc with a
negative arcAngle and see what happens. It is
quite funny what you get, here is an example :
DrawArc from 0 degree, arcAngle of -90, you
should get an arc from -90 to 0, or 270 to 360
but what you actually get is its complement,
in this case arc from 0 to 270.
A fix for this problem is to basically trap for negative
arcAngle and if so, set startAngle=startAngle+arcAngle and
make arcAngle positive.
P.S. We are framing arcs to an offscreen buffer.