Hi Rob,
Now I'm not sure that it is additive. Your best bet (assuming you're using
Java 2) is to cast your context to a Graphics2D and use AffineTransorms for your translations and forget about the translate() method. The Graphics2D class has [get,set]Transform() methods which accept/return AffineTransforms which are 3 x 3 matrices which define the translation/rotation/scale/shear. Just pull up the javadoc on AffineTransform and pull out the old analytic geometry book and that should get you goin'. Of course with all AffineTransforms there is an invert which will restore the context back to the original coordinates, rotation, etc.
Hope this helps
Michael Morris
SCJP
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher