Behdad Esfahbod wrote: > Mike has a point. We really want to keep the invariant that: > > cairo_get_current_point (cr, &x0, &y0); > cairo_translate (cr, x1, y1); > cairo_get_current_point (cr, &x2, &y2); > assert (x0 == x1 + x2 && y0 == y1 + y2); Whoa! Good point! I retract my previous statement that having the 0,0 be in user space is a good idea.