net.java.games.jogl

Interface GLEventListener

All Superinterfaces:
EventListener

public interface GLEventListener
extends EventListener

Declares events which client code can use to manage OpenGL rendering into a GLDrawable. At the time any of these methods is called, the drawable has made its associated OpenGL context current, so it is valid to make OpenGL calls.

Method Summary

void
display(GLDrawable drawable)
Called by the drawable to initiate OpenGL rendering by the client.
void
displayChanged(GLDrawable drawable, boolean modeChanged, boolean deviceChanged)
Called by the drawable when the display mode or the display device associated with the GLDrawable has changed.
void
init(GLDrawable drawable)
Called by the drawable immediately after the OpenGL context is initialized.
void
reshape(GLDrawable drawable, int x, int y, int width, int height)
Called by the drawable during the first repaint after the component has been resized.

Method Details

display

public void display(GLDrawable drawable)
Called by the drawable to initiate OpenGL rendering by the client. After all GLEventListeners have been notified of a display event, the drawable will swap its buffers if necessary.

displayChanged

public void displayChanged(GLDrawable drawable,
                           boolean modeChanged,
                           boolean deviceChanged)
Called by the drawable when the display mode or the display device associated with the GLDrawable has changed. The two boolean parameters indicate the types of change(s) that have occurred. ( !!! CURRENTLY UNIMPLEMENTED !!! )

An example of a display mode change is when the bit depth changes (e.g., from 32-bit to 16-bit color) on monitor upon which the GLDrawable is currently being displayed.

An example of a display device change is when the user drags the window containing the GLDrawable from one monitor to another in a multiple-monitor setup.

The reason that this function handles both types of changes (instead of handling mode and device changes in separate methods) is so that applications have the opportunity to respond to display changes the most efficient manner. For example, the application may need make fewer adjustments to compensate for a device change if it knows that the mode on the new device is identical the previous mode.


init

public void init(GLDrawable drawable)
Called by the drawable immediately after the OpenGL context is initialized. Can be used to perform one-time OpenGL initialization such as setup of lights and display lists. Note that this method may be called more than once if the underlying OpenGL context for the GLDrawable is destroyed and recreated, for example if a GLCanvas is removed from the widget hierarchy and later added again.

reshape

public void reshape(GLDrawable drawable,
                    int x,
                    int y,
                    int width,
                    int height)
Called by the drawable during the first repaint after the component has been resized. The client can update the viewport and view volume of the window appropriately, for example by a call to GL.glViewport(int,int,int,int); note that for convenience the component has already called glViewport(x, y, width, height) when this method is called, so the client may not have to do anything in this method.