package tetra;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.media.opengl.*;

public class TetraMain extends JFrame  {
	private static final long serialVersionUID = 42L;
	private TetraGraphics tg;

	TetraMain(String name) {
		super(name);
		setSize(768,576);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		setLayout(new BorderLayout());
		
		// Create an OpenGL canvas
        GLProfile glp = GLProfile.getDefault();
        GLCapabilities glc = new GLCapabilities(glp);
        tg = new TetraGraphics(glc);
		add(tg,BorderLayout.CENTER);
		
		// Control panel (slider for speed)
		JPanel tc = new TetraControl(1, 100, 25) {
			private static final long serialVersionUID = 42L;
			protected void onSpeedChange(int value) {tg.setSpeed(value/1000.0);};
		};
		add(tc,BorderLayout.SOUTH);
	}
	
	public static void main(String[] args) {
		TetraMain tm = new TetraMain("Tetrahedrons'R'Us");		
		tm.setVisible(true);  
    }
}
