Ref: calculateViewArea much simpler