summaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl/util
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-11-22 12:46:19 +0100
committerSven Gothel <[email protected]>2010-11-22 12:46:19 +0100
commit4c3e9e258fae1161949dd14828c09f387bfd53d9 (patch)
treea8b287153f6afbf166db85506af4c3790590663d /src/jogl/classes/com/jogamp/opengl/util
parent6a3ccca96e6d4c27c372b4b9ba1e8fcee6def402 (diff)
GLAnimatorControl pause()/resume() don't fail fast, return a boolean instead to simplify usage.
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/util')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/util/Animator.java10
-rw-r--r--src/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java12
2 files changed, 13 insertions, 9 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/util/Animator.java b/src/jogl/classes/com/jogamp/opengl/util/Animator.java
index 2d4727bba..31abe099d 100644
--- a/src/jogl/classes/com/jogamp/opengl/util/Animator.java
+++ b/src/jogl/classes/com/jogamp/opengl/util/Animator.java
@@ -294,9 +294,9 @@ public class Animator extends AnimatorBase {
}
Condition waitForStoppedCondition = new WaitForStoppedCondition();
- public synchronized void pause() {
+ public synchronized boolean pause() {
if ( !isStartedImpl() || pauseIssued ) {
- throw new GLException("Pause: Invalid state (started "+isStartedImpl()+" (true), paused "+pauseIssued+" (false) )");
+ return false;
}
stateSync.lock();
try {
@@ -306,6 +306,7 @@ public class Animator extends AnimatorBase {
}
notifyAll();
finishLifecycleAction(waitForPausedCondition);
+ return true;
}
private class WaitForPausedCondition implements Condition {
public boolean result() {
@@ -315,9 +316,9 @@ public class Animator extends AnimatorBase {
}
Condition waitForPausedCondition = new WaitForPausedCondition();
- public synchronized void resume() {
+ public synchronized boolean resume() {
if ( !isStartedImpl() || !pauseIssued ) {
- throw new GLException("Resume: Invalid state (started "+isStartedImpl()+" (true), paused "+pauseIssued+" (true) )");
+ return false;
}
stateSync.lock();
try {
@@ -327,6 +328,7 @@ public class Animator extends AnimatorBase {
}
notifyAll();
finishLifecycleAction(waitForResumeCondition);
+ return true;
}
private class WaitForResumeCondition implements Condition {
public boolean result() {
diff --git a/src/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java b/src/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java
index 447c72709..6bac1646b 100644
--- a/src/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java
+++ b/src/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java
@@ -170,9 +170,9 @@ public class FPSAnimator extends AnimatorBase {
}
}
- public synchronized void pause() {
+ public synchronized boolean pause() {
if (timer == null) {
- throw new GLException("Not running");
+ return false;
}
stateSync.lock();
try {
@@ -183,17 +183,19 @@ public class FPSAnimator extends AnimatorBase {
} finally {
stateSync.unlock();
}
+ return true;
}
- public synchronized void resume() {
+ public synchronized boolean resume() {
if (timer == null) {
- throw new GLException("Not running");
+ return false;
}
stateSync.lock();
try {
startTask();
} finally {
stateSync.unlock();
- }
+ }
+ return true;
}
}