Jogamp
Bug 682 - Relocating javax.media.opengl.* -> com.jogamp.opengl.* (Part 2)
[jogl-demos.git] / maven / trivial-test / src / test / java / com / io7m / example / jogl_mvn_test_2 / TestJOGL.java
1 package com.io7m.example.jogl_mvn_test_2;
2
3 import com.jogamp.opengl.GL;
4 import com.jogamp.opengl.GL2;
5 import com.jogamp.opengl.GLAutoDrawable;
6 import com.jogamp.opengl.GLCapabilities;
7 import com.jogamp.opengl.GLEventListener;
8 import com.jogamp.opengl.GLProfile;
9 import com.jogamp.opengl.fixedfunc.GLMatrixFunc;
10
11 import org.junit.Test;
12
13 import com.jogamp.newt.event.WindowAdapter;
14 import com.jogamp.newt.event.WindowEvent;
15 import com.jogamp.newt.opengl.GLWindow;
16 import com.jogamp.opengl.util.FPSAnimator;
17
18 public class TestJOGL
19 {
20   private static GLWindow makeWindow(
21     final String name)
22   {
23     final GLProfile pro = GLProfile.getDefault();
24     final GLCapabilities caps = new GLCapabilities(pro);
25     final GLWindow window = GLWindow.create(caps);
26
27     window.setSize(640, 480);
28     window.setVisible(true);
29     window.setTitle(name);
30     window.addWindowListener(new WindowAdapter() {
31       @Override public void windowDestroyNotify(
32         final WindowEvent e)
33       {
34         // System.exit(0);
35       }
36     });
37     window.addGLEventListener(new GLEventListener() {
38       int quad_x = (int) (Math.random() * 640);
39       int quad_y = (int) (Math.random() * 480);
40
41       public void display(
42         final GLAutoDrawable drawable)
43       {
44         System.out.println("thread "
45           + Thread.currentThread().getId()
46           + " display");
47
48         this.quad_x = (this.quad_x + 1) % 640;
49         this.quad_y = (this.quad_y + 1) % 480;
50
51         final GL2 g2 = drawable.getGL().getGL2();
52         g2.glClearColor(0.0f, 0.0f, 0.3f, 1.0f);
53         g2.glClear(GL.GL_COLOR_BUFFER_BIT);
54
55         g2.glMatrixMode(GLMatrixFunc.GL_PROJECTION);
56         g2.glLoadIdentity();
57         g2.glOrtho(0, 640, 0, 480, 1, 100);
58         g2.glMatrixMode(GLMatrixFunc.GL_MODELVIEW);
59         g2.glLoadIdentity();
60         g2.glTranslated(0, 0, -1);
61
62         g2.glBegin(GL2.GL_QUADS);
63         {
64           g2.glVertex2d(this.quad_x, this.quad_y + 10);
65           g2.glVertex2d(this.quad_x, this.quad_y);
66           g2.glVertex2d(this.quad_x + 10, this.quad_y);
67           g2.glVertex2d(this.quad_x + 10, this.quad_y + 10);
68         }
69         g2.glEnd();
70       }
71
72       public void dispose(
73         final GLAutoDrawable arg0)
74       {
75         // TODO Auto-generated method stub
76       }
77
78       public void init(
79         final GLAutoDrawable arg0)
80       {
81         // TODO Auto-generated method stub
82       }
83
84       public void reshape(
85         final GLAutoDrawable arg0,
86         final int arg1,
87         final int arg2,
88         final int arg3,
89         final int arg4)
90       {
91         // TODO Auto-generated method stub
92       }
93     });
94
95     final FPSAnimator animator = new FPSAnimator(window, 60);
96     animator.start();
97
98     return window;
99   }
100
101   @Test public void go()
102     throws InterruptedException
103   {
104     final GLWindow window0 = TestJOGL.makeWindow("Window 0");
105     Thread.sleep(1000);
106   }
107 }
http://JogAmp.org git info: FAQ, tutorial and man pages.