Fixed scaling issues and constraining to screen. Added virtual screen coordinate conversion