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 for the first time.
 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 Detail

init

public void init(GLDrawable drawable)
Called by the drawable immediately after the OpenGL context is initialized for the first time. Can be used to perform one-time OpenGL initialization such as setup of lights and display lists.


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.


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 GL.glViewport(int, int, int, int)(x, y, width, height) when this method is called, so the client may not have to do anything in this method.


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.