Constrained panning