diff options
Diffstat (limited to 'src/demos/es1/RedSquare.java')
-rwxr-xr-x | src/demos/es1/RedSquare.java | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/src/demos/es1/RedSquare.java b/src/demos/es1/RedSquare.java index 8bea190..f0e0fa1 100755 --- a/src/demos/es1/RedSquare.java +++ b/src/demos/es1/RedSquare.java @@ -7,11 +7,37 @@ import com.sun.opengl.util.*; import com.sun.javafx.newt.*; -public class RedSquare { +public class RedSquare implements MouseListener { + + public boolean quit = false; + + public void mouseClicked(MouseEvent e) { + if(e.getClickCount()>1) { + quit=true; + } + } + public void mouseEntered(MouseEvent e) { + } + public void mouseExited(MouseEvent e) { + } + public void mousePressed(MouseEvent e) { + } + public void mouseReleased(MouseEvent e) { + } + public void mouseMoved(MouseEvent e) { + } + public void mouseDragged(MouseEvent e) { + } + public static void main(String[] args) { System.out.println("RedSquare.main()"); try { - Window window = Window.create(0); // dummy VisualID + Display display = new Display(); + Screen screen = new Screen(display); + Window window = Window.create(screen, 0); // dummy VisualID + + RedSquare ml = new RedSquare(); + window.addMouseListener(ml); // Size OpenGL to Video Surface int width = 800; @@ -29,7 +55,7 @@ public class RedSquare { caps.setGreenBits(5); caps.setBlueBits(5); caps.setDepthBits(16); - GLDrawable drawable = factory.getGLDrawable(new Long(window.getWindowHandle()), caps, null); + GLDrawable drawable = factory.getGLDrawable(window.getHandles(), caps, null); drawable.setRealized(true); GLContext context = drawable.createContext(null); context.makeCurrent(); @@ -75,7 +101,7 @@ public class RedSquare { long startTime = System.currentTimeMillis(); long curTime; int ang = 0; - while ((System.currentTimeMillis() - startTime) < 10000) { + while (!ml.quit && (System.currentTimeMillis() - startTime) < 20000) { gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); // Set location in front of camera |