/** * this demo shows how to use a gestalt renderer from inside a processing applet. */ import javax.media.opengl.GL; import gestalt.Gestalt; import gestalt.context.GLContext; import gestalt.impl.jogl.context.JoglGLContext; import gestalt.p5.GestaltPlugIn; import gestalt.shape.AbstractDrawable; GestaltPlugIn gestalt; MyDrawable _myDrawable; void setup() { /* setup p5 */ size(640, 480, OPENGL); smooth(); gestalt = new GestaltPlugIn(this); /* create drawable */ _myDrawable = new MyDrawable(); gestalt.bin(Gestalt.BIN_2D_FOREGROUND).add(_myDrawable); } void draw() { /* clear screen */ background(127, 0, 127); } class MyDrawable extends AbstractDrawable { public void draw(GLContext theRenderContext) { GL gl = ( (JoglGLContext) theRenderContext).gl; gl.glBegin(GL.GL_LINES); gl.glVertex2i(0, 0); gl.glVertex2i(mouseX, mouseY); gl.glEnd(); } }