Refactor the drawing function in ViewerGL + change code for over mode.
The under case is not handled ATM