replaced viewport rectangle by a position offset to simplify client apps