OpenGLUT - mainloop
The general outline of this function is to first drain the queue of windowsystem events, in most cases dispatching each as it is found. After the queue is empty, we check for timer-based events, coalesced window events (e.g., redisplays), and windows that need to be closed.
The cross-reference section for this function's documentation should ideally contain every callback, but the list would be tediously long and prone to omissions.
Does not necessarily dispatch events that are received
this function starts processing.
At first glance, this function may not seem to afford any new capability that you couldn't get with an idle callback or glutLeaveMainLoop(). However there are other GLUT-like libraries that may have their own window event processing loops. Having glutMainLoopEvent() allows you to ask OpenGLUT to do its work in a batch, then return to whatever processing the other library (or libraries) require.
glutIdleFunc(3) glutLeaveMainLoop(3) glutMainLoop(3)
glutIdleFunc(3), glutInit(3), glutMainLoop(3), glutTimerFunc(3).