Package de.kappich.pat.gnd.kmPlugin
Class DOTKmPainter
- java.lang.Object
-
- de.kappich.pat.gnd.kmPlugin.DOTKmPainter
-
- All Implemented Interfaces:
DisplayObjectPainter
public class DOTKmPainter extends java.lang.Object implements DisplayObjectPainter
Dies ist die Implemenation desDisplayObjectPainter
im Km-Plugin.
-
-
Constructor Summary
Constructors Constructor Description DOTKmPainter()
-
Method Summary
Modifier and Type Method Description java.awt.Rectangle
getBoundingRectangle(DisplayObject displayObject, int type)
Diese Methode gibt das umgebende Rechteck des DisplayObjects für den angebenen Typen zurück.java.util.List<java.lang.Object>
getCoordinates(java.util.List<java.lang.Object> coordinates, int type)
Diese Methode berechnet aus den übergebenen Koordinaten die Koordinaten zu dem übergebenen Typ.void
paintDisplayObject(MapPane mapPane, java.awt.Graphics2D g2D, DisplayObject displayObject, boolean selected)
Implementationen dieser Methode werden aufgerufen, wenn das DisplayObject gezeichnet werden soll.
-
-
-
Method Detail
-
paintDisplayObject
public void paintDisplayObject(MapPane mapPane, java.awt.Graphics2D g2D, DisplayObject displayObject, boolean selected)
Description copied from interface:DisplayObjectPainter
Implementationen dieser Methode werden aufgerufen, wenn das DisplayObject gezeichnet werden soll. Innerhalb seiner Implemantation sollte fürdisplayObject
die MethodeDisplayObject.getCoordinates(int type)
aufgerufen werden. Diese bewerkstelligt einen lazy Cache; sind die Daten nicht vorhanden, so wird die Erzeugung an die MethodeDisplayObjectPainter.getCoordinates(java.util.List<java.lang.Object>, int)
delegiert, wo auch die Auswertung des Integer-Wertes stattfindet.- Specified by:
paintDisplayObject
in interfaceDisplayObjectPainter
- Parameters:
mapPane
- die Kartenansichtg2D
- ein Graphics2D-Objekt zum ZeichnendisplayObject
- das DisplayObjectselected
-true
genau dann, wenn das DisplayObject selektiert ist
-
getCoordinates
public java.util.List<java.lang.Object> getCoordinates(java.util.List<java.lang.Object> coordinates, int type)
Description copied from interface:DisplayObjectPainter
Diese Methode berechnet aus den übergebenen Koordinaten die Koordinaten zu dem übergebenen Typ. Dieser Typ erlaubt es dem Programmierer unterschiedliche Koordinaten für das Objekt zu bekommen. Diese Methode wird nur in DisplayObject.getCoordinates( int type) aufgerufen, und die Ergebnisse werden dort gecached. Damit ergeben sich folgende Randbedingungen für den Plugin-Programmierer: einerseits muss er keinen eigenen Cache implementieren und andererseits kann er selber entscheiden, wofür die unterschiedlichen Integer-Werte stehen. Eine denkbare Anwendung wären unterschiedlich genaue Koordinaten für verschiedene Zoom-Stufen zwecks Optimierung der Zeichengeschwindigkeit.In der 4 Standard-Plugins wird nur bei Linien von verschiedenen Typen Gebrauch gemacht: der Typ stellt hier die Verschiebung der Koordinaten dar. Alle anderen Implementation rufen die Methode nur mit dem Wert 0 auf.
- Specified by:
getCoordinates
in interfaceDisplayObjectPainter
- Parameters:
coordinates
- die Originalkoordinatentype
- der gewünschte Koordinatentyp- Returns:
- die gewünschten Koordinaten
-
getBoundingRectangle
@Nullable public java.awt.Rectangle getBoundingRectangle(DisplayObject displayObject, int type)
Description copied from interface:DisplayObjectPainter
Diese Methode gibt das umgebende Rechteck des DisplayObjects für den angebenen Typen zurück. Über die Bedeutung des Integer-Wertestype
wird inDisplayObjectPainter.getCoordinates(java.util.List<java.lang.Object>, int)
informiert. Diese Methode wird nur aus DisplayObject.getBoundingRectangle( int type) heraus aufgerufen, wo bereits ein lazy Cache für die Rückgabewerte installiert ist.- Specified by:
getBoundingRectangle
in interfaceDisplayObjectPainter
- Parameters:
displayObject
- das DisplayObjecttype
- der gewünschte Koordinatentyp- Returns:
- das umgebende Rechteck
-
-