factor out viewport to display scaling functions