From 6c145683ba12e2e4a3102fd16cd3181b5c83d795 Mon Sep 17 00:00:00 2001 From: codeanticode Date: Fri, 15 May 2015 11:30:27 -0400 Subject: [PATCH 1/3] fixes for present mode --- core/src/processing/opengl/PSurfaceJOGL.java | 33 ++++++++++++++------ 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/core/src/processing/opengl/PSurfaceJOGL.java b/core/src/processing/opengl/PSurfaceJOGL.java index 073da73e5..f32678205 100644 --- a/core/src/processing/opengl/PSurfaceJOGL.java +++ b/core/src/processing/opengl/PSurfaceJOGL.java @@ -190,7 +190,10 @@ public class PSurfaceJOGL implements PSurface { fullScreen = true; } -// if (fullScreen || spanDisplays) { + if (fullScreen) { + presentMode = sketchWidth < screenRect.width && sketchHeight < screenRect.height; + } + if (spanDisplays) { sketchWidth = screenRect.width; sketchHeight = screenRect.height; @@ -198,6 +201,10 @@ public class PSurfaceJOGL implements PSurface { // window..setBackground(new Color(backgroundColor, true)); window.setSize(sketchWidth, sketchHeight); + sketch.width = sketch.sketchWidth(); + sketch.height = sketch.sketchHeight(); + graphics.setSize(sketch.width, sketch.height); + System.out.println("deviceIndex: " + deviceIndex); System.out.println(displayDevice); @@ -238,6 +245,8 @@ public class PSurfaceJOGL implements PSurface { DrawListener drawlistener = new DrawListener(); window.addGLEventListener(drawlistener); + + System.err.println("1. create animator"); animator = new FPSAnimator(window, 60); drawException = null; @@ -402,7 +411,7 @@ public class PSurfaceJOGL implements PSurface { float offsetX; float offsetY; public void placePresent(int stopColor) { - if (sketchWidth < screenRect.width || sketchHeight < screenRect.height) { + if (presentMode) { System.err.println("Present mode"); // System.err.println("WILL USE FBO"); presentMode = pgl.presentMode = true; @@ -460,13 +469,18 @@ public class PSurfaceJOGL implements PSurface { } public void setSize(int width, int height) { -// if (frame != null) { - System.err.println("3. set size"); + if (animator.isAnimating()) { + System.err.println("3. set size"); - sketchWidth = sketch.width = width; - sketchHeight = sketch.height = height; - graphics.setSize(width, height); -// } + if (!presentMode) { + sketch.width = width; + sketch.height = height; + graphics.setSize(width, height); + } + + sketchWidth = width; + sketchHeight = height; + } } public Component getComponent() { @@ -683,7 +697,8 @@ public class PSurfaceJOGL implements PSurface { if (presentMode) { - if (20 < nativeEvent.getX() && nativeEvent.getX() < 20 + 100 && + if (peAction == KeyEvent.RELEASE && + 20 < nativeEvent.getX() && nativeEvent.getX() < 20 + 100 && screenRect.height - 70 < nativeEvent.getY() && nativeEvent.getY() < screenRect.height - 20) { System.err.println("clicked on exit button"); // if (externalMessages) { From 57ce9a775dc401d800f450ded5f5bb71ea17eba9 Mon Sep 17 00:00:00 2001 From: codeanticode Date: Fri, 15 May 2015 11:44:27 -0400 Subject: [PATCH 2/3] set window position in fullscreen --- core/src/processing/opengl/PSurfaceJOGL.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/processing/opengl/PSurfaceJOGL.java b/core/src/processing/opengl/PSurfaceJOGL.java index f32678205..918238977 100644 --- a/core/src/processing/opengl/PSurfaceJOGL.java +++ b/core/src/processing/opengl/PSurfaceJOGL.java @@ -213,6 +213,7 @@ public class PSurfaceJOGL implements PSurface { // This example could be useful: // com.jogamp.opengl.test.junit.newt.mm.TestScreenMode01cNEWT if (fullScreen) { + window.setPosition(sketchX, sketchY); PApplet.hideMenuBar(); if (spanDisplays) { window.setFullscreen(monitors); From 4ecb56e952125b06639f322b0f40026cc868477c Mon Sep 17 00:00:00 2001 From: codeanticode Date: Fri, 15 May 2015 11:59:49 -0400 Subject: [PATCH 3/3] removed some warnings on GL static classes --- core/src/processing/opengl/PJOGL.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/src/processing/opengl/PJOGL.java b/core/src/processing/opengl/PJOGL.java index c562f6a7c..1690d19c4 100644 --- a/core/src/processing/opengl/PJOGL.java +++ b/core/src/processing/opengl/PJOGL.java @@ -1475,9 +1475,9 @@ public class PJOGL extends PGL { RGBA8 = GL.GL_RGBA8; ALPHA8 = GL.GL_ALPHA8; - READ_ONLY = GL2GL3.GL_READ_ONLY; + READ_ONLY = GL2ES3.GL_READ_ONLY; WRITE_ONLY = GL.GL_WRITE_ONLY; - READ_WRITE = GL2GL3.GL_READ_WRITE; + READ_WRITE = GL2ES3.GL_READ_WRITE; TESS_WINDING_NONZERO = GLU.GLU_TESS_WINDING_NONZERO; TESS_WINDING_ODD = GLU.GLU_TESS_WINDING_ODD; @@ -1493,7 +1493,7 @@ public class PJOGL extends PGL { EXTENSIONS = GL.GL_EXTENSIONS; SHADING_LANGUAGE_VERSION = GL2ES2.GL_SHADING_LANGUAGE_VERSION; - MAX_SAMPLES = GL2ES3.GL_MAX_SAMPLES; + MAX_SAMPLES = GL.GL_MAX_SAMPLES; SAMPLES = GL.GL_SAMPLES; ALIASED_LINE_WIDTH_RANGE = GL.GL_ALIASED_LINE_WIDTH_RANGE; @@ -1685,8 +1685,8 @@ public class PJOGL extends PGL { RENDERBUFFER = GL.GL_RENDERBUFFER; DEPTH_ATTACHMENT = GL.GL_DEPTH_ATTACHMENT; STENCIL_ATTACHMENT = GL.GL_STENCIL_ATTACHMENT; - READ_FRAMEBUFFER = GL2ES3.GL_READ_FRAMEBUFFER; - DRAW_FRAMEBUFFER = GL2ES3.GL_DRAW_FRAMEBUFFER; + READ_FRAMEBUFFER = GL.GL_READ_FRAMEBUFFER; + DRAW_FRAMEBUFFER = GL.GL_DRAW_FRAMEBUFFER; RGBA8 = GL.GL_RGBA8; DEPTH24_STENCIL8 = GL.GL_DEPTH24_STENCIL8;