gishur.gui
Class Layer

java.lang.Object
  |
  +--gishur.gui.Layer

public class Layer
extends java.lang.Object

Ein Layer verwaltet darzustellende DisplayObjects mit einer einheitlichen ScreenTransformation.

Version:
2.0
Author:
Thomas Wolf

Constructor Summary
Layer()
          Konstruktor.
 
Method Summary
 void add(DisplayObject ob)
          Fügt ein neues DisplayObject hinten an den Layer an, so daß es zuletzt gemalt wird, also ganz oben liegt
 void clear()
          Löscht alle DisplayObjects von dem Layer.
 boolean contains(java.lang.Object O)
          Liefert true zurück, falls das Objekt O zum Layer hinzugefügt wurde.
 DisplayObject find(java.lang.Object O)
          Sucht das DisplayObjekt eines verknüpften Objekts.
 DisplayObject first()
          Liefert das erste DisplayObject auf dem Layer, also das, welches zuerst gezeichnet wird (oder null, falls kein Objekt auf dem Layer).
 ListItem getFirstItem()
          Liefert das erste ListItem der gespeicherten DisplayObjects.
 ListItem getItem(DisplayObject dob)
          Liefert das ListItem, in dem das DisplayObjekt dob gespeichert ist.
 ListItem getLastItem()
          Liefert das letzte ListItem der gespeicherten DisplayObjects.
 java.awt.Rectangle getObjectArea()
          Gibt den Bereich, den die sichtbaren Objekte in diesem Layer belegen zurück ohne ihn neu zu berechnen.
 List getObjectsInRange(java.awt.Rectangle r)
          Sucht alle Objekte, die im Rechteck r liegen.
 ScreenTransformation getTransformation()
          Liefert die dem Layer zugeordnete Transformation.
 VirtualScreen getVirtualScreen()
          Liefert das aktuelle VirtualScreen-Objekt.
 void hide()
          Macht den Layer und alle Objekte auf ihm unsichtbar.
 DisplayObject hit(int x, int y)
          Liefert das Objekt, das zuerst von dem Punkt (x,y) getroffen wird oder null, falls kein Treffer.
 DisplayObject last()
          Liefert das letzte DisplayObject auf dem Layer, also das, welches zuletzt gezeichnet wird (oder null, falls kein Objekt auf dem Layer).
 void moveButtom(DisplayObject ob)
          Moves the DisplayObject to the buttom, that means it will be drawed first.
 void moveDown(DisplayObject ob)
          Moves the DisplayObject one position down, that means it will be drawed one position earlier.
 void moveTop(DisplayObject ob)
          Moves the DisplayObject to the top, that means it will be drawed last.
 void moveUp(DisplayObject ob)
          Moves the DisplayObject one position up, that means it will be drawed one position later.
protected  void paint(java.awt.Graphics g, java.awt.Rectangle size)
          Zeichnet alle Objekte neu.
 DisplayObject remove(java.lang.Object O)
          Löscht das Objekt O vom Layer.
 void repaint()
          Veranlaßt, den Layer neu zu zeichnen.
protected  void repaint(java.awt.Graphics g, java.awt.Rectangle bound)
          Zeichnet alle Objekte, die den Bereich r berühren neu.
protected  void setParent(LayerManager parent)
          Verknüpft den übergeordeneten LayerManager.
 void setTransformation(ScreenTransformation transformation)
          Ordnet dem Layer eine neue Transformation zu.
 void show()
          Macht den Layer und alle Objekte auf ihm wieder sichtbar.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Layer

public Layer()
Konstruktor.
Parameters:
maxObjects - maximale Anzahl zu speichernder Objekte
Method Detail

getObjectArea

public java.awt.Rectangle getObjectArea()
Gibt den Bereich, den die sichtbaren Objekte in diesem Layer belegen zurück ohne ihn neu zu berechnen. Der Bereich wird beim Zeichnen berechnet.
Returns:
belegter Bereich

setParent

protected final void setParent(LayerManager parent)
Verknüpft den übergeordeneten LayerManager.

getTransformation

public ScreenTransformation getTransformation()
Liefert die dem Layer zugeordnete Transformation.
Returns:
dem Layer zugeordnete Transformation

getVirtualScreen

public VirtualScreen getVirtualScreen()
Liefert das aktuelle VirtualScreen-Objekt.
Returns:
aktueller VirtualScreen

setTransformation

public void setTransformation(ScreenTransformation transformation)
Ordnet dem Layer eine neue Transformation zu.

repaint

protected void repaint(java.awt.Graphics g,
                       java.awt.Rectangle bound)
Zeichnet alle Objekte, die den Bereich r berühren neu. Objekte, die zuerst eingefügt wurden, werden zuerst gezeichnet, liegen also eventuell unten, d.h. verdeckt.
Parameters:
g - Graphics, auf das gezeichnet werden soll
bound - Bereich, innerhalb dessen gezeichnet werden soll.

paint

protected void paint(java.awt.Graphics g,
                     java.awt.Rectangle size)
Zeichnet alle Objekte neu. Objekte, die zuerst eingefügt wurden, werden zuerst gezeichnet, liegen also eventuell unten, d.h. verdeckt.
Parameters:
g - Graphics, auf das gezeichnet werden soll
Größe - des Bildschirmbereiches.

add

public void add(DisplayObject ob)
Fügt ein neues DisplayObject hinten an den Layer an, so daß es zuletzt gemalt wird, also ganz oben liegt
Parameters:
O - einzufügendes Objekt
Returns:
Painter-Objekt von O

moveButtom

public void moveButtom(DisplayObject ob)
Moves the DisplayObject to the buttom, that means it will be drawed first.
Parameters:
ob - DisplayObejct to move

moveTop

public void moveTop(DisplayObject ob)
Moves the DisplayObject to the top, that means it will be drawed last.
Parameters:
ob - DisplayObejct to move

moveDown

public void moveDown(DisplayObject ob)
Moves the DisplayObject one position down, that means it will be drawed one position earlier.
Parameters:
ob - DisplayObejct to move

moveUp

public void moveUp(DisplayObject ob)
Moves the DisplayObject one position up, that means it will be drawed one position later.
Parameters:
ob - DisplayObejct to move

find

public DisplayObject find(java.lang.Object O)
Sucht das DisplayObjekt eines verknüpften Objekts.
Parameters:
O - zu suchendes Objekt
Returns:
zugehöriges Painter-Objekt

contains

public boolean contains(java.lang.Object O)
Liefert true zurück, falls das Objekt O zum Layer hinzugefügt wurde.
Parameters:
O - zu suchendes Objekt
Returns:
true, falls O im Layer

remove

public DisplayObject remove(java.lang.Object O)
Löscht das Objekt O vom Layer.
Parameters:
O - verknüpftes Objekt
Returns:
Painter-Objekt von O

clear

public void clear()
Löscht alle DisplayObjects von dem Layer.

first

public DisplayObject first()
Liefert das erste DisplayObject auf dem Layer, also das, welches zuerst gezeichnet wird (oder null, falls kein Objekt auf dem Layer).
Returns:
erstes DisplayObject

last

public DisplayObject last()
Liefert das letzte DisplayObject auf dem Layer, also das, welches zuletzt gezeichnet wird (oder null, falls kein Objekt auf dem Layer).
Returns:
letztes DisplayObject

getItem

public ListItem getItem(DisplayObject dob)
Liefert das ListItem, in dem das DisplayObjekt dob gespeichert ist.
Parameters:
dob - gesuchtes DisplayObject
Returns:
ListItem

getFirstItem

public ListItem getFirstItem()
Liefert das erste ListItem der gespeicherten DisplayObjects.
Returns:
erstes ListItem

getLastItem

public ListItem getLastItem()
Liefert das letzte ListItem der gespeicherten DisplayObjects.
Returns:
letztes ListItem

hit

public DisplayObject hit(int x,
                         int y)
Liefert das Objekt, das zuerst von dem Punkt (x,y) getroffen wird oder null, falls kein Treffer. Unsichtbare Objekte können nicht getroffen werden.
Parameters:
x,y - Punkt
Returns:
getroffenes DisplayObject

getObjectsInRange

public List getObjectsInRange(java.awt.Rectangle r)
Sucht alle Objekte, die im Rechteck r liegen.
Parameters:
r - Bereich, in dem Objekte gesucht werden.

hide

public void hide()
Macht den Layer und alle Objekte auf ihm unsichtbar.

show

public void show()
Macht den Layer und alle Objekte auf ihm wieder sichtbar.

repaint

public void repaint()
Veranlaßt, den Layer neu zu zeichnen.