// This draws a magenta square on a yellow background.


	
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.opengl.*;
import javax.media.opengl.glu.*;
import javax.media.opengl.awt.GLCanvas;
import javax.swing.JFrame;

import com.jogamp.opengl.util.*;


public class SimpleNoGUI implements GLEventListener {
	private GL2 gl;
	private GLU glu;
	
	public static void main(String[] args) {
		new SimpleNoGUI();
	}
	
	public SimpleNoGUI() {
		GLProfile glp=GLProfile.getDefault();
		GLCapabilities caps = new GLCapabilities(glp);
		GLCanvas canvas = new GLCanvas(caps);
		
		JFrame frame = new JFrame( "SimpleNoGUI");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(300, 300);
		frame.add(canvas);
		frame.setVisible(true);
		
		canvas.addGLEventListener(this);		
	}

	public void display(GLAutoDrawable drawable) {
		render();
	}

	
	private void render() {
		gl.glClear(GL2.GL_COLOR_BUFFER_BIT);

		gl.glColor3f(1, 0, 1);
		gl.glBegin(GL2.GL_POLYGON);
			gl.glVertex2f(25f, 25f);
			gl.glVertex2f(25f, 75f);
			gl.glVertex2f(75f, 75f);
			gl.glVertex2f(75f,  25f);
		gl.glEnd();
	}
	
	
	public void dispose(GLAutoDrawable drawable) {
		// put the cleanup code here
		
	}

	public void init(GLAutoDrawable drawable) {
		gl = drawable.getGL().getGL2();
		glu = new GLU();
		
		gl.glMatrixMode(GL2.GL_PROJECTION);
		gl.glLoadIdentity();
		glu.gluOrtho2D(0f, 100f, 0f, 100f);
		gl.glClearColor(1, 1, 0, 1);

	}

	public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
		// this is called when the window is resized	
	}
	
}
