JOGL v2.6.0-rc-20250706
JOGL, High-Performance Graphics Binding for Java™ (public API).
CustomGLEventListener.java
Go to the documentation of this file.
1/**
2 * Copyright 2014 JogAmp Community. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without modification, are
5 * permitted provided that the following conditions are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright notice, this list of
8 * conditions and the following disclaimer.
9 *
10 * 2. Redistributions in binary form must reproduce the above copyright notice, this list
11 * of conditions and the following disclaimer in the documentation and/or other materials
12 * provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
15 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
16 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
21 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
22 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 *
24 * The views and conclusions contained in the software and documentation are those of the
25 * authors and should not be interpreted as representing official policies, either expressed
26 * or implied, of JogAmp Community.
27 */
28package com.jogamp.opengl.util;
29
30import com.jogamp.opengl.GLAutoDrawable;
31import com.jogamp.opengl.GLEventListener;
32
33/**
34 * Extended {@link GLEventListener} interface
35 * supporting more fine grained control over the implementation.
36 */
37public interface CustomGLEventListener extends GLEventListener {
38 /**
39 * {@link #display(GLAutoDrawable, int) display flag}: Repeat last produced image.
40 * <p>
41 * While a repeated frame shall produce the same artifacts as the last <code>display</code> call,
42 * e.g. not change animated objects, it shall reflect the {@link #setProjectionModelview(GLAutoDrawable, float[], float[]) current matrix}.
43 * </p>
44 */
45 public static final int DISPLAY_REPEAT = 1 << 0;
46
47 /**
48 * {@link #display(GLAutoDrawable, int) display flag}: Do not clear any target buffer, e.g. color-, depth- or stencil-buffers.
49 */
50 public static final int DISPLAY_DONTCLEAR = 1 << 1;
51
52 /**
53 * Extended {@link #display(GLAutoDrawable) display} method,
54 * allowing to pass a display flag, e.g. {@link #DISPLAY_REPEAT} or {@link #DISPLAY_DONTCLEAR}.
55 * <p>
56 * Method is usually called by a custom rendering loop,
57 * e.g. for manual stereo rendering or the like.
58 * </p>
59 * @param drawable
60 * @param flags
61 */
62 public void display(final GLAutoDrawable drawable, final int flags);
63}
A higher-level abstraction than GLDrawable which supplies an event based mechanism (GLEventListener) ...
Declares events which client code can use to manage OpenGL rendering into a GLAutoDrawable.
Extended GLEventListener interface supporting more fine grained control over the implementation.
void display(final GLAutoDrawable drawable, final int flags)
Extended display method, allowing to pass a display flag, e.g.
static final int DISPLAY_REPEAT
display flag: Repeat last produced image.
static final int DISPLAY_DONTCLEAR
display flag: Do not clear any target buffer, e.g.