Interface GLAnimatorControl

All Superinterfaces:
FPSCounter
All Known Implementing Classes:
Animator, AnimatorBase, FPSAnimator

public interface GLAnimatorControl extends FPSCounter
An animator control interface, which implementation may drive a GLAutoDrawable animation.
  • Method Details

    • isStarted

      boolean isStarted()
      Indicates whether this animator has been started.
      See Also:
    • isAnimating

      boolean isAnimating()
      Indicates whether this animator is started and is not paused.
      See Also:
    • isPaused

      boolean isPaused()
      Indicates whether this animator is started and either manually paused or paused automatically due to no added GLAutoDrawables.
      See Also:
    • getThread

      Thread getThread()
      Returns:
      The animation thread if running, otherwise null.
      See Also:
    • start

      boolean start()
      Starts this animator, if not running.

      In most situations this method blocks until completion, except when called from the animation thread itself or in some cases from an implementation-internal thread like the AWT event queue thread.

      Note that an animator w/o added drawables will be paused automatically.

      If started, all counters (time, frames, ..) are reset to zero.

      Returns:
      true is started due to this call, otherwise false, ie started already or unable to start.
      See Also:
    • stop

      boolean stop()
      Stops this animator.

      In most situations this method blocks until completion, except when called from the animation thread itself or in some cases from an implementation-internal thread like the AWT event queue thread.

      Returns:
      true is stopped due to this call, otherwise false, ie not started or unable to stop.
      See Also:
    • pause

      boolean pause()
      Pauses this animator.

      In most situations this method blocks until completion, except when called from the animation thread itself or in some cases from an implementation-internal thread like the AWT event queue thread.

      Returns:
      false if not started, already paused or failed to pause, otherwise true
      See Also:
    • resume

      boolean resume()
      Resumes animation if paused.

      In most situations this method blocks until completion, except when called from the animation thread itself or in some cases from an implementation-internal thread like the AWT event queue thread.

      If resumed, all counters (time, frames, ..) are reset to zero.

      Returns:
      false if not started, not paused or unable to resume, otherwise true
      See Also:
    • add

      void add(GLAutoDrawable drawable)
      Adds a drawable to this animator's list of rendering drawables.

      This allows the animator thread to become animating, in case the first drawable is added and the animator is started.

      Parameters:
      drawable - the drawable to be added
      Throws:
      IllegalArgumentException - if drawable was already added to this animator
    • remove

      void remove(GLAutoDrawable drawable)
      Removes a drawable from the animator's list of rendering drawables.

      This method should get called in case a drawable becomes invalid, and will not be recovered.

      This allows the animator thread to become not animating, in case the last drawable has been removed.

      Parameters:
      drawable - the drawable to be removed
      Throws:
      IllegalArgumentException - if drawable was not added to this animator
    • getUncaughtExceptionHandler

      GLAnimatorControl.UncaughtExceptionHandler getUncaughtExceptionHandler()
      Returns the GLAnimatorControl.UncaughtExceptionHandler invoked when this animator abruptly stops due to an uncaught exception from one of its GLAutoDrawables.

      Default is null.

      Since:
      2.2
    • setUncaughtExceptionHandler

      void setUncaughtExceptionHandler(GLAnimatorControl.UncaughtExceptionHandler handler)
      Set the handler invoked when this animator abruptly stops due to an uncaught exception from one of its GLAutoDrawables.
      Parameters:
      handler - the GLAnimatorControl.UncaughtExceptionHandler to use as this animator's uncaught exception handler. Pass null to unset the handler.
      Since:
      2.2
      See Also: