net.sf.colossus.gui
Class GUIBattleHex

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by net.sf.colossus.gui.GUIHex<BattleHex>
                  extended by net.sf.colossus.gui.GUIBattleHex
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class GUIBattleHex
extends GUIHex<BattleHex>

Class GUIBattleHex holds GUI info for one battle hex.

Author:
David Ripton, Romain Dolbeau
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  int cx
           
private  int cy
           
private static java.awt.Color highlightColor
           
private static java.lang.String imagePostfix
           
private static java.util.logging.Logger LOGGER
           
private  java.awt.Component map
           
private  GUIBattleHex[] neighbors
          Stores the neighboring views.
private  int scale
           
 
Fields inherited from class net.sf.colossus.gui.GUIHex
antialias, hexagon, len, rectBound, SQRT3, useOverlay, xVertex, yVertex
 
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
GUIBattleHex(int xCoord, int yCoord)
           
GUIBattleHex(int cx, int cy, int scale, java.awt.Component map, int xCoord, int yCoord)
           
 
Method Summary
(package private)  void drawHexside(java.awt.Graphics2D g2, double vx1, double vy1, double vx2, double vy2, char hexsideType)
           
private  java.awt.geom.GeneralPath getInnerHexagon()
           
 GUIBattleHex getNeighbor(int i)
           
 boolean innerContains(java.awt.Point point)
           
private static java.awt.Image loadOneOverlay(java.lang.String name, int width, int height)
           
private  void makeHexagon()
           
 void paint(java.awt.Graphics g)
           
 boolean paintOverlay(java.awt.Graphics2D g)
           
 void repaint()
           
 void setNeighbor(int i, GUIBattleHex hex)
           
 void setVertexZeroLocation(int cx, int cy)
           
 void setWidth(int width)
           
 
Methods inherited from class net.sf.colossus.gui.GUIHex
contains, findCenter, findCenter2D, getAntialias, getBounds, getCliffOrArrowsPositionXArray, getCliffOrArrowsPositionYArray, getHexModel, getOverlay, getWallOrSlopePositionXArray, getWallOrSlopePositionYArray, isSelected, makePolygon, select, setAntialias, setHexModel, setOverlay, setSelected, unselect
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUI
 
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, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LOGGER

private static final java.util.logging.Logger LOGGER

map

private java.awt.Component map

highlightColor

private static final java.awt.Color highlightColor

neighbors

private final GUIBattleHex[] neighbors
Stores the neighboring views. This parallels the neighbors field in BattleHex, just on the view side. TODO check if we can avoid this


scale

private int scale

cx

private int cx

cy

private int cy

imagePostfix

private static java.lang.String imagePostfix
Constructor Detail

GUIBattleHex

public GUIBattleHex(int cx,
                    int cy,
                    int scale,
                    java.awt.Component map,
                    int xCoord,
                    int yCoord)

GUIBattleHex

public GUIBattleHex(int xCoord,
                    int yCoord)
Method Detail

setVertexZeroLocation

public void setVertexZeroLocation(int cx,
                                  int cy)

setWidth

public void setWidth(int width)

makeHexagon

private void makeHexagon()

getInnerHexagon

private java.awt.geom.GeneralPath getInnerHexagon()

paint

public void paint(java.awt.Graphics g)
Overrides:
paint in class javax.swing.JComponent

repaint

public void repaint()
Overrides:
repaint in class java.awt.Component

drawHexside

void drawHexside(java.awt.Graphics2D g2,
                 double vx1,
                 double vy1,
                 double vx2,
                 double vy2,
                 char hexsideType)

innerContains

public boolean innerContains(java.awt.Point point)

loadOneOverlay

private static java.awt.Image loadOneOverlay(java.lang.String name,
                                             int width,
                                             int height)

paintOverlay

public boolean paintOverlay(java.awt.Graphics2D g)

getNeighbor

public GUIBattleHex getNeighbor(int i)

setNeighbor

public void setNeighbor(int i,
                        GUIBattleHex hex)