Bouncing ball using OpenGL and C++

When the app is lauched, the ball is displayed at its initial location.
Clicking anywhere in the scene will set the ball in motion. If the
scene is clicked while the ball is already in motion, the ball will be
thrown again from its actual location, resetting its velocity. Whenever
the ball reaches one end of the plane on which it is bouncing, the
animation will be resetted. It is also possible to reset the animation
at any time by right-clicking anywhere in the scene. Press the escape
key to exit.
This program runs in fullscreen mode. The screen resolution should be
automatically
detected. If it is not the case, uncomment lines 334 & 335, and comment
out lines
336 & 337.
To run this program on a mac, make sure to include the OpenGL, GLUT,
and the Cocoa frameworks to your project.