glutDisplayFunc(3GLUT) GLUT glutDisplayFunc(3GLUT)
NAME
glutDisplayFunc - sets the display callback for the cur-
rent window.
SYNTAX
void glutDisplayFunc(void (*func)(void));
ARGUMENTS
func The new display callback function.
DESCRIPTION
glutDisplayFunc sets the display callback for the current
window. When GLUT determines that the normal plane for
the window needs to be redisplayed, the display callback
for the window is called. Before the callback, the current
window is set to the window needing to be redisplayed and
(if no overlay display callback is registered) the layer
in use is set to the normal plane. The display callback is
called with no parameters. The entire normal plane region
should be redisplayed in response to the callback (this
includes ancillary buffers if your program depends on
their state).
GLUT determines when the display
callback should be trig-
gered based on the window’s redisplay state. The
redisplay
state for a window can be either set explicitly by calling
glutPostRedisplay or implicitly as the result of window
damage reported by the window system. Multiple posted
redisplays for a window are coalesced by GLUT to minimize
the number of display callbacks called.
When an overlay is established
for a window, but there is
no overlay display callback registered, the display call-
back is used for redisplaying both the overlay and normal
plane (that is, it will be called if either the redisplay
state or overlay redisplay state is set). In this case,
the layer in use is not implicitly changed on entry to the
display callback.
See glutOverlayDisplayFunc to
understand how distinct
callbacks for the overlay and normal plane of a window may
be established.
When a window is created, no
display callback exists for
the window. It is the responsibility of the programmer to
install a display callback for the window before the win-
dow is shown. A display callback must be registered for
any window that is shown. If a window becomes displayed
without a display callback being registered, a fatal error
occurs. Passing NULL to glutDisplayFunc is illegal as of
GLUT 3.0; there is no way to
‘‘deregister’’ a display
callback (though another callback routine can always be
registered).
Upon return from the display
callback, the normal damaged
state of the window (returned by calling glutLayer-
Get(GLUT_NORMAL_DAMAGED) is cleared. If there is no over-
lay display callback registered the overlay damaged state
of the window (returned by calling glutLayer-
Get(GLUT_OVERLAY_DAMAGED) is also cleared.
SEE ALSO
glutCreateMenu, glutPostRedisplay,
glutOverlayDisplayFunc
AUTHOR
Mark J. Kilgard (mjk@sgi.com)
GLUT 3.2 2