|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--gishur.gui.Painter
Painter-Objekte beinhalten prinzipielle Methoden zur Darstellung. Sie sind die Basisklasse
für DisplayObjects und InputHandler. Sie verwalten bereits Größeninformationen,
Sichtbarkeitsdaten, Painter können sich beim Painterregister zum neuzeichnen registrieren,
sie kennen ihren Layer und sie können miteinander verknüpft werden (in der Form: benötigt
der eine Neuberechnung, so auch alle verknüpften).
Um ein Painter-Objekt zum Neuzeichnen zu veranlassen, sollte man einfach makeDirty()
aufrufen. Das Painter-Objekt registriert sich dann beim zugehörigen Painterregister zum
neuzeichnen. Das Neuzeichnen selbst erfolgt über paint, entsprechend wird an dieser
Stelle die Registrierung gelöscht.
Vor dem Neuzeichnen wird calculateBounds aufgerufen. An dieser Stelle sollten rechenintensive
Transformationen durchgeführt werden. Muß nähmlich der Painter neugezeichnet werden, ohne daß
beim Painter makeDirty aufgerufen wurde (z.B. weil sich ein darunterliegendes Objekt geändert
hat oder das Fenster aktualisiert werden muß), so wird calculateBounds nicht aufgerufen, sondern
nur update; in dieser Methode sollten alle Malarbeiten geschehen.
Field Summary | |
protected Layer |
_layer
Verknüpfter Layer. |
protected boolean |
_nofixedborder
Falls diese Variable true ist, belegt das Objekt einen festen Bereich (ohne Beachtung der Bildschirmgröße o.ä.). |
Constructor Summary | |
Painter()
Leerer Konstruktor. |
Method Summary | |
abstract java.awt.Rectangle |
calculateBounds()
Berechnet den neuen belegten Bereich. |
boolean |
dirty()
Liefert true, falls das Objekt neu gezeichnet werden muß. |
protected java.awt.Rectangle |
enlargeRectangleByPainter(java.awt.Rectangle rect)
Erweitert das Rechteck rect um das vom Painter belegt Gebiet, sofern dieser sichtbar ist und mindestens einmal gemalt wurde. |
boolean |
equals(java.lang.Object o)
Überschreibt Object.equals. |
java.awt.Rectangle |
getBounds()
Berechnet den belegten Bereich neu, falls notwendig. |
Layer |
getLayer()
Liefert die verknüpfte Transformation. |
java.lang.String |
getPainterString()
Hilfsmittel für toString. |
java.awt.Rectangle |
getPosition()
Liefert die aktuelle Malposition des Painters. |
PainterRegister |
getRegister()
Liefert den verknüpften PainterRegister. |
java.lang.Object |
getTarget()
Liefert das verknüpfte Objekt. |
java.lang.Class |
getTargetClass()
Liefert ein Klassenobjekt des verknüpften Objektes, auch wenn getTarget()==null liefert. |
ScreenTransformation |
getTransformation()
Liefert die im verknüpften Layer gesetzte ScreenTransformation. |
VirtualScreen |
getVirtualScreen()
Liefert das aktuelle VirtualScreen-Objekt. |
void |
hide()
Macht das Objekt unsichtbar. |
void |
linkDirty(Painter painter)
Verknüpft den Painter mit dem Painter painter derart, daß beim Aufruf von makeDirty auch makeDirty des verknüpften Painters aufgerufen wird. |
void |
makeDirty()
Veranlaßt das DisplayObject sich bei der nächsten Gelegenheit neu zu zeichnen. |
void |
onHide()
Wird aufgerufen, sobald hide() aufgerufen wurde. |
void |
onShow()
Wird aufgerufen, sobald show() aufgerufen wurde. |
void |
paint(java.awt.Graphics g,
java.awt.Rectangle paintbounds)
Zeichnet das Objekt durch Aufruf von update neu. |
void |
recalcBounds()
Berechnet den belegten Bereich neu. |
void |
removeLinkDirty(Painter painter)
Entfernt einen verknüpften Painter. |
protected void |
setLayer(Layer layer)
Setzt die zugehörige Transformation. |
protected void |
setRegister(PainterRegister register)
Verknüpft das Objekt mit einem PainterRegister. |
boolean |
setTarget(java.lang.Object O)
Setzt das verknüpfte Objekt neu. |
void |
show()
Macht das Objekt wieder sichtbar. |
java.lang.String |
toString()
Überschreibt Object.toString() |
void |
unRegister()
Hebt eine Verknüpfung mit einem PainterRegister auf. |
abstract void |
update(java.awt.Graphics g)
Zeichnet das Objekt auf das Graphics g neu. |
boolean |
visible()
Liefert true, falls das Objekt sichtbar ist. |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected Layer _layer
protected boolean _nofixedborder
Constructor Detail |
public Painter()
Method Detail |
public abstract java.awt.Rectangle calculateBounds()
public abstract void update(java.awt.Graphics g)
g
- Graphics, auf dem gezeichnet werden sollprotected final void setRegister(PainterRegister register)
register
- neuer PainterRegisterpublic final void unRegister()
public final PainterRegister getRegister()
protected final void setLayer(Layer layer)
neue
- Transformationpublic final Layer getLayer()
public final ScreenTransformation getTransformation()
public final VirtualScreen getVirtualScreen()
public java.lang.Object getTarget()
public boolean setTarget(java.lang.Object O)
O
- neues Objektpublic java.lang.Class getTargetClass()
public java.lang.String toString()
toString
in class java.lang.Object
public final java.lang.String getPainterString()
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public boolean visible()
public final void hide()
public final void show()
public final boolean dirty()
public final void makeDirty()
public final void linkDirty(Painter painter)
painter
- Painter zu dem Verknüpfung erstellt werden sollpublic final void removeLinkDirty(Painter painter)
painter
- Painter zu dem Verknüpfung gelöscht werden sollpublic final java.awt.Rectangle getBounds()
public final java.awt.Rectangle getPosition()
public final void recalcBounds()
public final void paint(java.awt.Graphics g, java.awt.Rectangle paintbounds)
g
- Graphics, auf dem gezeichnet werden sollpaintbounds
- Bereich, innerhalb dessen neugezeichnet werden soll.update(java.awt.Graphics)
protected java.awt.Rectangle enlargeRectangleByPainter(java.awt.Rectangle rect)
rect
- zu erweiterndes Rechteck.public void onShow()
public void onHide()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |