summaryrefslogtreecommitdiffstats
path: root/src/jogl
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-10-13 03:37:00 +0200
committerSven Gothel <[email protected]>2011-10-13 03:37:00 +0200
commit01ba2ee689a87996301afe2b37ad919cb052882b (patch)
tree663e9892bac423535b6a393a68ec3bc639e19cdb /src/jogl
parent946c98fd196802755e9e13a9c5db75650a564466 (diff)
GLCanvas / GLWindow: Change 'manual' resize/repaint animation filter
We not only shall skip windowing system triggered repaint if another animation thread is running, but also if the current thread is the animator thread. This keeps the animator intervals stable while resizing.
Diffstat (limited to 'src/jogl')
-rw-r--r--src/jogl/classes/javax/media/opengl/awt/GLCanvas.java2
-rw-r--r--src/jogl/classes/jogamp/opengl/GLDrawableHelper.java8
2 files changed, 9 insertions, 1 deletions
diff --git a/src/jogl/classes/javax/media/opengl/awt/GLCanvas.java b/src/jogl/classes/javax/media/opengl/awt/GLCanvas.java
index 48c1c5411..ada9f5222 100644
--- a/src/jogl/classes/javax/media/opengl/awt/GLCanvas.java
+++ b/src/jogl/classes/javax/media/opengl/awt/GLCanvas.java
@@ -495,7 +495,7 @@ public class GLCanvas extends Canvas implements AWTGLAutoDrawable, WindowClosing
(int) ((getHeight() + bounds.getHeight()) / 2));
return;
}
- if( ! this.drawableHelper.isExternalAnimatorAnimating() ) {
+ if( ! this.drawableHelper.isAnimatorAnimating() ) {
display();
}
}
diff --git a/src/jogl/classes/jogamp/opengl/GLDrawableHelper.java b/src/jogl/classes/jogamp/opengl/GLDrawableHelper.java
index fcbf13aad..151ec2e9c 100644
--- a/src/jogl/classes/jogamp/opengl/GLDrawableHelper.java
+++ b/src/jogl/classes/jogamp/opengl/GLDrawableHelper.java
@@ -232,10 +232,18 @@ public class GLDrawableHelper {
return ( null != animatorCtrl ) ? animatorCtrl.isStarted() && animatorCtrl.getThread() != Thread.currentThread() : false ;
}
+ public final boolean isAnimatorRunning() {
+ return ( null != animatorCtrl ) ? animatorCtrl.isStarted() : false ;
+ }
+
public final boolean isExternalAnimatorAnimating() {
return ( null != animatorCtrl ) ? animatorCtrl.isAnimating() && animatorCtrl.getThread() != Thread.currentThread() : false ;
}
+ public final boolean isAnimatorAnimating() {
+ return ( null != animatorCtrl ) ? animatorCtrl.isAnimating() : false ;
+ }
+
public final void invoke(GLAutoDrawable drawable, boolean wait, GLRunnable glRunnable) {
if( null == drawable || null == glRunnable ) {
return;