de.adom.jade.ui.ascii
Class MapDisplay

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by de.adom.jade.ui.ascii.MapDisplay
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class MapDisplay
extends javax.swing.JPanel

Implements an interface to display an acii based map.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MapDisplay()
          Creates a new display for the map.
 
Method Summary
 void centerMap()
          Centers the map display on the central being.
 boolean getBlockCursor()
          Returns whether a block cursor is displayed or not.
 boolean getBoldVisibilitySpotlight()
          Returns whether the visible area is highlighted with bold letters.
 boolean getBrightVisibilitySpotlight()
          Returns whether the visible area is highlighted with bright letters.
 boolean getContinuousUpdates()
          Returns whether maps are updated whenever the view point changes.
 boolean getDarkVisibilitySpotlight()
          Returns whether the non-visible area is highlighted with dark letters.
 int getMapFontSize()
          Returns the current map font size.
 java.util.Map getRenderingHints()
          Returns the map of rendering hints currently used by the display.
 AsciiTileRepresentation getTileRepresentation(int id)
          Returns a specific tile representation for a tile ID.
 void paintComponent(java.awt.Graphics graphics)
          Paints the current world map based on the PC position.
 void paintCursor()
          Paints the cursor for the map.
 void setBeingTileRepresentation(java.lang.String logicalName, char character, java.awt.Color color)
          Defines a specific tile representation for the being in question.
 void setBlockCursor(boolean useBlock)
          Determines whether a block cursor is used for the blinking cursor.
 void setBoldVisibilitySpotlight(boolean bold)
          Determines whether the visible area will be displayed with bold letters.
 void setBrightVisibilitySpotlight(boolean bright)
          Determines whether the visible area will be displayed with bright letters.
 void setCentralBeing(Being being)
          Sets the being on which all actions center.
 void setContinuousUpdates(boolean updateAlways)
          Determines whether maps are updated whenever the view point changes.
 void setDarkVisibilitySpotlight(boolean dark)
          Determines whether the non-visible area will be displayed with dark letters.
 void setMap(Map map)
          Sets the map to use.
 void setMapFontSize(int fontSize)
          Sets the font size for the world map.
 void setRenderingHints(java.util.Map map)
          Sets the rendering hints for the map display.
 void setTileRepresentation(Tile tile, char character, java.awt.Color color)
          Defines a specific tile representation.
 void setViewPosition(int x, int y)
          Sets the position of the player.
 void update()
          Updates the display by determining the bounds that need to be repainted.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MapDisplay

public MapDisplay()
Creates a new display for the map.

Method Detail

setTileRepresentation

public void setTileRepresentation(Tile tile,
                                  char character,
                                  java.awt.Color color)
Defines a specific tile representation.

Parameters:
tile - the tile for which the representation is defined
character - the character used for the tile representation
color - the color used to display the tile

setBeingTileRepresentation

public void setBeingTileRepresentation(java.lang.String logicalName,
                                       char character,
                                       java.awt.Color color)
Defines a specific tile representation for the being in question.

Parameters:
logicalName - the logical name of the PC for which this representation is defined
character - the character used for the tile representation
color - the color used to display the tile

setCentralBeing

public void setCentralBeing(Being being)
Sets the being on which all actions center.

Parameters:
being - the being on which all actions center

setViewPosition

public void setViewPosition(int x,
                            int y)
Sets the position of the player.

Parameters:
x - the x coordinate of the player
y - the y coordinate of the player

setMapFontSize

public void setMapFontSize(int fontSize)
Sets the font size for the world map.

Parameters:
size - the font size for the map font

getMapFontSize

public int getMapFontSize()
Returns the current map font size.

Returns:
the current map font size

paintComponent

public void paintComponent(java.awt.Graphics graphics)
Paints the current world map based on the PC position.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
graphics - the graphics object responsible for displaying all stuff

getRenderingHints

public java.util.Map getRenderingHints()
Returns the map of rendering hints currently used by the display.

Returns:
the current map of rendering hints or null if no special hints are used

setRenderingHints

public void setRenderingHints(java.util.Map map)
Sets the rendering hints for the map display.

Parameters:
map - the new map of rendering hints or null if no special hints should be used

setMap

public void setMap(Map map)
Sets the map to use.

Parameters:
map - the map to use for now

update

public void update()
Updates the display by determining the bounds that need to be repainted. By updating only parts of the screen, the display speed is enhanced.


paintCursor

public void paintCursor()
Paints the cursor for the map. The paint routine actually uses an XOR paint mode so that repetitive calls ensure that the cursor blinks. It has to be ensured that this method is not called while any of the core data of the paint code in this class changes (e.g. the view point) or while the display itself is being repainted.


setContinuousUpdates

public void setContinuousUpdates(boolean updateAlways)
Determines whether maps are updated whenever the view point changes.

Parameters:
updateAlways - a flag indicating whether the map display will always be updated

getContinuousUpdates

public boolean getContinuousUpdates()
Returns whether maps are updated whenever the view point changes.

Returns:
a boolean flag indicating whether the map display will always be updated

setBoldVisibilitySpotlight

public void setBoldVisibilitySpotlight(boolean bold)
Determines whether the visible area will be displayed with bold letters.

Parameters:
bold - a boolean flag determining whether the spotlight will be represented by bold letters or not

getBoldVisibilitySpotlight

public boolean getBoldVisibilitySpotlight()
Returns whether the visible area is highlighted with bold letters.

Returns:
a boolean flag determining whether the visible area is highlighted with bold letters or not

setBrightVisibilitySpotlight

public void setBrightVisibilitySpotlight(boolean bright)
Determines whether the visible area will be displayed with bright letters.

Parameters:
bold - a boolean flag determining whether the spotlight will be represented by bright letters or not

getBrightVisibilitySpotlight

public boolean getBrightVisibilitySpotlight()
Returns whether the visible area is highlighted with bright letters.

Returns:
a boolean flag determining whether the visible area is highlighted with bright letters or not

setDarkVisibilitySpotlight

public void setDarkVisibilitySpotlight(boolean dark)
Determines whether the non-visible area will be displayed with dark letters.

Parameters:
bold - a boolean flag determining whether the non-spotlight will be represented by dark letters or not

getDarkVisibilitySpotlight

public boolean getDarkVisibilitySpotlight()
Returns whether the non-visible area is highlighted with dark letters.

Returns:
a boolean flag determining whether the visible area is highlighted with dark letters or not

setBlockCursor

public void setBlockCursor(boolean useBlock)
Determines whether a block cursor is used for the blinking cursor.

Parameters:
useBlock - a boolean variable that determines whether a block-shaped cursor will be used or not

getBlockCursor

public boolean getBlockCursor()
Returns whether a block cursor is displayed or not.

Returns:
a boolean value determining whether a block cursor is displayed or not

centerMap

public void centerMap()
Centers the map display on the central being.


getTileRepresentation

public AsciiTileRepresentation getTileRepresentation(int id)
Returns a specific tile representation for a tile ID.

Parameters:
id - the tile ID
Returns:
the tile representation for the tile ID