/** * Copyright 2011 JogAmp Community. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. */ package com.jogamp.opengl.test.junit.jogl.awt.text; import java.io.PrintStream; import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.IntBuffer; import com.jogamp.opengl.GL2; import com.jogamp.opengl.TraceGL2; import com.jogamp.common.nio.Buffers; /* * Unit tests for Bug464 * Modified Version of TraceGL2 for unit test TestAWTTextRendererUseVertexArrayBug464. * This class overrides all glFunctions related to VBO's according to * http://code.google.com/p/glextensions/wiki/GL_ARB_vertex_buffer_object: * glBindBuffer (glBindBufferARB) * glDeleteBuffers (glDeleteBuffersARB) * glGenBuffers (glGenBuffersARB) * glIsBuffer (glIsBufferARB) * glBufferData (glBufferDataARB) * glBufferSubData (glBufferSubDataARB) * glGetBufferSubData (glGetBufferSubDataARB) * glMapBuffer (glMapBufferARB) * glUnmapBuffer (glUnmapBufferARB) * glGetBufferParameteriv (glGetBufferParameterivARB) * glGetBufferPointerv (glGetBufferPointervARB) * Calls to the overridden methods are logged to the disallowedMethodCalls variable of * the GLEventListener instead of being passed to the downstreamGL object. * * Other classes related to this test: * TestAWTTextRendererUseVertexArrayBug464 * TextRendererGLEventListener01 */ public class TextRendererTraceGL2Mock01 extends TraceGL2 { TextRendererGLEventListener01 listener; public TextRendererTraceGL2Mock01(final GL2 downstreamGL2, final PrintStream stream, final TextRendererGLEventListener01 listener) { super(downstreamGL2, stream); this.listener = listener; } @Override public void glGetBufferSubData(final int arg0, final long arg1, final long arg2, final Buffer arg3) { listener.disallowedMethodCalled("glGetBufferSubData"); } @Override public ByteBuffer glMapBuffer(final int arg0, final int arg1) { listener.disallowedMethodCalled("glMapBuffer"); return Buffers.newDirectByteBuffer(0); } @Override public void glGetBufferParameteriv(final int arg0, final int arg1, final IntBuffer arg2) { listener.disallowedMethodCalled("glGetBufferParameteriv"); } @Override public boolean glUnmapBuffer(final int arg0) { listener.disallowedMethodCalled("glUnmapBuffer"); return false; } @Override public void glGenBuffers(final int arg0, final IntBuffer arg1) { listener.disallowedMethodCalled("glGenBuffers"); } @Override public void glGenBuffers(final int arg0, final int[] arg1, final int arg2) { listener.disallowedMethodCalled("glGenBuffers"); } @Override public boolean glIsBuffer(final int arg0) { listener.disallowedMethodCalled("glIsBuffer"); return false; } @Override public void glBindBuffer(final int arg0, final int arg1) { listener.disallowedMethodCalled("glBindBuffer"); } @Override public void glDeleteBuffers(final int arg0, final int[] arg1, final int arg2) { listener.disallowedMethodCalled("glDeleteBuffers"); } @Override public void glBufferSubData(final int arg0, final long arg1, final long arg2, final Buffer arg3) { listener.disallowedMethodCalled("glBufferSubData"); } @Override public void glGetBufferParameteriv(final int arg0, final int arg1, final int[] arg2, final int arg3) { listener.disallowedMethodCalled("glGetBufferParameteriv"); } @Override public void glBufferData(final int arg0, final long arg1, final Buffer arg2, final int arg3) { listener.disallowedMethodCalled("glBufferData"); } }