Viewport fixes.

Ok, I really dont know why Tom declain my previous commit about Viewport. So now I rewrite same thing but without comments and new constructors. Probably now hes accept this.