jfreerails.client.renderer
Class MapBackgroundRender

java.lang.Object
  extended by jfreerails.client.renderer.MapBackgroundRender
All Implemented Interfaces:
MapLayerRenderer

public final class MapBackgroundRender
extends java.lang.Object
implements MapLayerRenderer

This class encapsulates the objects that make-up and paint the background of the map view. At present it is composed of two layers: the terrain layer and the track layer.

Version:
1
Author:
Luke Lindsay 21 September 2001

Nested Class Summary
 class MapBackgroundRender.TerrainLayer
          This inner class represents the terrain of the map.
 class MapBackgroundRender.TrackLayer
          This innner class represents a view of the track on the map.
 
Field Summary
private  Painter cityNames
           
private  java.awt.Rectangle clipRectangle
           
private static java.util.logging.Logger logger
           
private  java.awt.Dimension mapSize
           
private  Painter stationNames
           
private  MapBackgroundRender.TerrainLayer terrainLayer
          The terrain layer.
private  java.awt.Dimension tileSize
           
private  MapBackgroundRender.TrackLayer trackLayer
          The track layer.
 
Constructor Summary
MapBackgroundRender(ReadOnlyWorld w, RenderersRoot rr, ModelRoot modelRoot)
           
 
Method Summary
 void paintRect(java.awt.Graphics g, java.awt.Rectangle visibleRect)
           
private  void paintRectangleOfTiles(java.awt.Graphics g, int x, int y, int width, int height)
           
 void paintTile(java.awt.Graphics g, int x, int y)
           
 void refreshAll()
           
 void refreshTile(int x, int y)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final java.util.logging.Logger logger

terrainLayer

private final MapBackgroundRender.TerrainLayer terrainLayer
The terrain layer.


trackLayer

private final MapBackgroundRender.TrackLayer trackLayer
The track layer.


tileSize

private final java.awt.Dimension tileSize

mapSize

private final java.awt.Dimension mapSize

cityNames

private final Painter cityNames

stationNames

private final Painter stationNames

clipRectangle

private java.awt.Rectangle clipRectangle
Constructor Detail

MapBackgroundRender

public MapBackgroundRender(ReadOnlyWorld w,
                           RenderersRoot rr,
                           ModelRoot modelRoot)
Method Detail

paintTile

public void paintTile(java.awt.Graphics g,
                      int x,
                      int y)
Specified by:
paintTile in interface MapLayerRenderer

paintRect

public void paintRect(java.awt.Graphics g,
                      java.awt.Rectangle visibleRect)
Specified by:
paintRect in interface MapLayerRenderer

paintRectangleOfTiles

private void paintRectangleOfTiles(java.awt.Graphics g,
                                   int x,
                                   int y,
                                   int width,
                                   int height)

refreshTile

public void refreshTile(int x,
                        int y)
Specified by:
refreshTile in interface MapLayerRenderer

refreshAll

public void refreshAll()
Specified by:
refreshAll in interface MapLayerRenderer