jfreerails.client.renderer
Class ZoomedOutMapRenderer

java.lang.Object
  extended by jfreerails.client.renderer.ZoomedOutMapRenderer
All Implemented Interfaces:
MapLayerRenderer, MapRenderer

public final class ZoomedOutMapRenderer
extends java.lang.Object
implements MapRenderer

This class draws the overview map.

Author:
Luke Lindsay, Robert Tuck

Field Summary
private  java.awt.geom.AffineTransform affineTransform
           
private  java.awt.GraphicsConfiguration defaultConfiguration
           
private  int imageHeight
           
private  int imageWidth
           
private  boolean isDirty
           
private  int mapHeight
           
private  java.awt.image.BufferedImage mapImage
           
private  int mapWidth
           
private  int mapX
           
private  int mapY
           
private  java.awt.image.BufferedImage one2oneImage
           
private  ReadOnlyWorld w
           
 
Constructor Summary
private ZoomedOutMapRenderer(ReadOnlyWorld world, int width, int height, int mapX, int mapY, int mapWidth, int mapHeight)
           
 
Method Summary
static ZoomedOutMapRenderer getInstance(ReadOnlyWorld world, java.awt.Dimension maxSize)
           
 java.awt.Dimension getMapSizeInPixels()
           
 float getScale()
           
 void paintRect(java.awt.Graphics g, java.awt.Rectangle visibleRect)
           
 void paintTile(java.awt.Graphics g, int tileX, int tileY)
           
private  void refresh()
          Redraw the whole map onto a new buffer.
 void refreshAll()
           
 void refreshTile(int x, int y)
           
private  void refreshTile(java.awt.Point tile)
           
private  void renderOffScreenImage()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

imageWidth

private final int imageWidth

imageHeight

private final int imageHeight

mapWidth

private final int mapWidth

mapHeight

private final int mapHeight

mapX

private final int mapX

mapY

private final int mapY

w

private final ReadOnlyWorld w

one2oneImage

private java.awt.image.BufferedImage one2oneImage

mapImage

private java.awt.image.BufferedImage mapImage

affineTransform

private final java.awt.geom.AffineTransform affineTransform

defaultConfiguration

private final java.awt.GraphicsConfiguration defaultConfiguration

isDirty

private boolean isDirty
Constructor Detail

ZoomedOutMapRenderer

private ZoomedOutMapRenderer(ReadOnlyWorld world,
                             int width,
                             int height,
                             int mapX,
                             int mapY,
                             int mapWidth,
                             int mapHeight)
Method Detail

getInstance

public static ZoomedOutMapRenderer getInstance(ReadOnlyWorld world,
                                               java.awt.Dimension maxSize)

getScale

public float getScale()
Specified by:
getScale in interface MapRenderer

paintRect

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

renderOffScreenImage

private void renderOffScreenImage()

refreshTile

private void refreshTile(java.awt.Point tile)

refresh

private void refresh()
Redraw the whole map onto a new buffer.


getMapSizeInPixels

public java.awt.Dimension getMapSizeInPixels()
Specified by:
getMapSizeInPixels in interface MapRenderer

paintTile

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

refreshTile

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

refreshAll

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