All Packages  This Package  Class Hierarchy  Class Search  Index

Interface com.hermetica.magician.GLDrawable

  Summary

public interface  GLDrawable
{
          // Methods 21
     public abstract void addGLEventListener(GLEventListener);
     public abstract void destroy();
     public abstract GLContext getContext();
     public abstract GLEventListener getListener();
     public abstract Dimension getSize();
     public abstract boolean initialize();
     public abstract boolean isInitialized();
     public abstract boolean isRunning();
     public abstract boolean isSuspended();
     public abstract void paint(Graphics);
     public abstract void postRedisplay();
     public abstract void processDisplayEvent(GLEventListener);
     public abstract void processInitializeEvent(GLEventListener);
     public abstract void processReshapeEvent(GLEventListener);
     public abstract void removeGLEventListener(GLEventListener);
     public abstract void repaint();
     public abstract void restart();
     public abstract void resume();
     public abstract void start();
     public abstract void stop();
     public abstract void suspend();
}

This interface presents an abstracted view of GUI objects that Magician can render onto, for example, Sun VM Canvas objects, Microsoft-specific heavyweight classes and lightweight Swing/JFC/WFC-based components. This interface also is used by the GLEventListener interface for passing common events around Magician components.

Version:
$Id: GLDrawable.java,v 1.5 1998/05/15 08:21:42 descarte Exp descarte $
Author:
Alligator Descartes

See Also: GLEventListener, GLComponent


  Cross Reference

Implemented By:
GLComponent





  Methods

· getContext

Summary  |  Top
   public abstract GLContext getContext() 

Returns the rendering context associated with this component



· addGLEventListener

Summary  |  Top
   public abstract void addGLEventListener(GLEventListener listener) 

This method registers a component listener with this component. The GLEventListener is used to route any resizing and refreshing events through to the main program which handles them accordingly

Parameter Description
listener The GLEventListener to add



· removeGLEventListener

Summary  |  Top
   public abstract void removeGLEventListener(GLEventListener listener) 

This method removes a GLEventListener from the listener chain

Parameter Description
listener The GLEventListener to remove



· getListener

Summary  |  Top
   public abstract GLEventListener getListener() 

Returns the listener chain associated with a component



· initialize

Summary  |  Top
   public abstract boolean initialize() 

Initializes the component. This MUST be called before anything will happen with the component.



· restart

Summary  |  Top
   public abstract void restart() 

Reinitializes the component completely. This leaves the component in the same state as if the constructor had just been called.



· destroy

Summary  |  Top
   public abstract void destroy() 

Destroys the component completely. This has the effect of freeing up all internal resources of this component.



· start

Summary  |  Top
   public abstract void start() 

Starts up the component handling. Without calling start(), no reshape, repaint or initialize events will be processed.



· stop

Summary  |  Top
   public abstract void stop() 

Shuts down the internal thread safely. This is used when both stopping the component ( if you wished to change its mode of operation from dynamic to static ) and when destroying the component completely



· suspend

Summary  |  Top
   public abstract void suspend() 

Stops the component from processing reshape, repaint and initialize events. This is useful in cases where you might have minimised the component and do not wish it to continue processing.



· resume

Summary  |  Top
   public abstract void resume() 

Resumes the component allowing it to process reshape, repaint and initialize events.



· isRunning

Summary  |  Top
   public abstract boolean isRunning() 

Returns whether or not the internal thread is running



· isSuspended

Summary  |  Top
   public abstract boolean isSuspended() 

Returns whether or not the component is suspended



· isInitialized

Summary  |  Top
   public abstract boolean isInitialized() 

Tests to see whether the component is initialized



· processInitializeEvent

Summary  |  Top
   public abstract void processInitializeEvent(GLEventListener listener) 

Processes an initialize event. This is generally not used outwith the Magician core, but can be used to alter component behaviour.



· processReshapeEvent

Summary  |  Top
   public abstract void processReshapeEvent(GLEventListener listener) 

Processes an reshape event. This is generally not used outwith the Magician core, but can be used to alter component behaviour.



· processDisplayEvent

Summary  |  Top
   public abstract void processDisplayEvent(GLEventListener listener) 

Processes an display event. This is generally not used outwith the Magician core, but can be used to alter component behaviour.



· postRedisplay

Summary  |  Top
   public abstract void postRedisplay() 

Signals that a repaint event should take place as soon as possible. This is basically a GLUT-like cosmetic function.



· repaint

Summary  |  Top
   public abstract void repaint() 

Handles repainting the screen by directly using GL buffer control instead of the standard AWT refresh handling which causes flickering



· paint

Summary  |  Top
   public abstract void paint(Graphics g) 

Invokes the ``display()'' method within a class implementing GLEventListener. This class acquires a context lock and handles appropriate buffer swapping for you, ie, glFlush() is called for single-buffered contexts and swapBuffers() is called for double-buffered contexts.

This method should never be invoked directly. If you wish to refresh the display, call ``repaint()'' instead.



· getSize

Summary  |  Top
   public abstract Dimension getSize() 

Returns the size of the component



All Packages  This Package  Class Hierarchy  Class Search  Index
Freshly brewed Java API Documentation automatically generated with polardoc Version 1.0.7