logic
Class CanvasHandler

java.lang.Object
  extended by logic.CanvasHandler
All Implemented Interfaces:
java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.util.EventListener, javax.media.opengl.GLEventListener

public class CanvasHandler
extends java.lang.Object
implements javax.media.opengl.GLEventListener, java.awt.event.MouseMotionListener, java.awt.event.MouseListener, java.awt.event.KeyListener, java.awt.event.MouseWheelListener

Handler for GLCanvas, OpenGL and user input

Author:
Felix Fleiß (MatrNr: 0527038)

Nested Class Summary
static class CanvasHandler.SurfaceDrawType
           
 
Field Summary
 java.util.LinkedList<Drawable> drawList
           
 CanvasHandler.SurfaceDrawType surfaceDrawType
           
 boolean useLight
           
 
Constructor Summary
CanvasHandler()
          initializes CanvasHandler
CanvasHandler(java.util.LinkedList<Drawable> drawList)
          initializes CanvasHandler by assigning a draw-able list
 
Method Summary
 void addDrawable(Drawable drawable)
          adds a drawable to the end of the list
 void addDrawableBeforeFirst(Drawable drawable)
          adds a drawable to the beginning of the list
 void display(javax.media.opengl.GLAutoDrawable arg0)
          internal used function for GLCanvas to display (render) drawables
 void displayChanged(javax.media.opengl.GLAutoDrawable arg0, boolean arg1, boolean arg2)
           
 javax.media.opengl.GL getGL()
          returns the jogl GL context
 void init(javax.media.opengl.GLAutoDrawable arg0)
          configures OpenGL
static boolean isShowText()
          returns if true if text shall be displayed, else returns false
 void keyPressed(java.awt.event.KeyEvent e)
           
 void keyReleased(java.awt.event.KeyEvent e)
           
 void keyTyped(java.awt.event.KeyEvent e)
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
           
 void removeDrawable(Drawable drawable)
          removes a specific drawable
 void reshape(javax.media.opengl.GLAutoDrawable arg0, int arg1, int arg2, int width, int height)
           
 void setDrawableList(java.util.LinkedList<Drawable> drawList)
          replaces the whole drawable list of the CanvasHandler with the given one
static void setShowText(boolean showText)
          defines if text is displayed in the canvas
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

drawList

public java.util.LinkedList<Drawable> drawList

useLight

public boolean useLight

surfaceDrawType

public CanvasHandler.SurfaceDrawType surfaceDrawType
Constructor Detail

CanvasHandler

public CanvasHandler()
initializes CanvasHandler


CanvasHandler

public CanvasHandler(java.util.LinkedList<Drawable> drawList)
initializes CanvasHandler by assigning a draw-able list

Parameters:
drawList - list of objects to draw (calls draw-function)
Method Detail

addDrawable

public void addDrawable(Drawable drawable)
adds a drawable to the end of the list

Parameters:
drawable -

addDrawableBeforeFirst

public void addDrawableBeforeFirst(Drawable drawable)
adds a drawable to the beginning of the list

Parameters:
drawable -

removeDrawable

public void removeDrawable(Drawable drawable)
removes a specific drawable

Parameters:
drawable -

setDrawableList

public void setDrawableList(java.util.LinkedList<Drawable> drawList)
replaces the whole drawable list of the CanvasHandler with the given one

Parameters:
drawList -

init

public void init(javax.media.opengl.GLAutoDrawable arg0)
configures OpenGL

Specified by:
init in interface javax.media.opengl.GLEventListener

display

public void display(javax.media.opengl.GLAutoDrawable arg0)
internal used function for GLCanvas to display (render) drawables

Specified by:
display in interface javax.media.opengl.GLEventListener

reshape

public void reshape(javax.media.opengl.GLAutoDrawable arg0,
                    int arg1,
                    int arg2,
                    int width,
                    int height)
Specified by:
reshape in interface javax.media.opengl.GLEventListener

displayChanged

public void displayChanged(javax.media.opengl.GLAutoDrawable arg0,
                           boolean arg1,
                           boolean arg2)
Specified by:
displayChanged in interface javax.media.opengl.GLEventListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Specified by:
keyPressed in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Specified by:
keyReleased in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Specified by:
keyTyped in interface java.awt.event.KeyListener

mouseWheelMoved

public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
Specified by:
mouseWheelMoved in interface java.awt.event.MouseWheelListener

getGL

public javax.media.opengl.GL getGL()
returns the jogl GL context

Returns:
gl

isShowText

public static boolean isShowText()
returns if true if text shall be displayed, else returns false

Returns:
is text shown?

setShowText

public static void setShowText(boolean showText)
defines if text is displayed in the canvas

Parameters:
showText - if true, the text is shown, otherwise not