net.sf.colossus.gui
Class GUIMasterHex

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<MasterHex>
                  extended by net.sf.colossus.gui.GUIMasterHex
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public final class GUIMasterHex
extends GUIHex<MasterHex>

Class GUIMasterHex holds GUI information for a MasterHex.

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  java.awt.FontMetrics fontMetrics
           
private  int halfFontHeight
           
private  java.awt.geom.GeneralPath highlightBorder
           
private  boolean inverted
           
private static java.lang.String invertedPostfix
           
private static java.util.logging.Logger LOGGER
           
private  java.awt.Point offCenter
           
private  java.awt.Color selectColor
           
private  java.lang.ref.WeakReference<MasterBoard> weakBoardRef
           
 
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
GUIMasterHex(MasterHex model)
           
 
Method Summary
 void cleanup()
           
private  void drawGate(java.awt.Graphics2D g2, double vx1, double vy1, double vx2, double vy2, Constants.HexsideGates gateType)
           
(package private)  java.awt.Point getOffCenter()
          Return a point near the center of the hex, vertically offset a bit toward the fat side.
private  java.awt.Image getOverlayImage()
           
(package private)  void init(int cx, int cy, int scale, boolean inverted, MasterBoard board)
           
(package private)  boolean isInverted()
           
 void paint(java.awt.Graphics g)
           
 void paintHighlightIfNeeded(java.awt.Graphics2D g2)
           
private  void paintLabel(java.awt.Graphics2D g2)
           
private  boolean paintOverlay(java.awt.Graphics2D g)
           
private  void paintTerrainName(java.awt.Graphics2D g2)
           
 void repaint()
           
 void select()
           
(package private)  void setSelectColor(java.awt.Color color)
           
private  int stringWidth(java.lang.String s, java.awt.Graphics2D g2)
           
 void unselect()
           
 
Methods inherited from class net.sf.colossus.gui.GUIHex
contains, findCenter, findCenter2D, getAntialias, getBounds, getCliffOrArrowsPositionXArray, getCliffOrArrowsPositionYArray, getHexModel, getOverlay, getWallOrSlopePositionXArray, getWallOrSlopePositionYArray, isSelected, makePolygon, setAntialias, setHexModel, setOverlay, setSelected
 
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

inverted

private boolean inverted

fontMetrics

private java.awt.FontMetrics fontMetrics

halfFontHeight

private int halfFontHeight

offCenter

private java.awt.Point offCenter

weakBoardRef

private java.lang.ref.WeakReference<MasterBoard> weakBoardRef

highlightBorder

private java.awt.geom.GeneralPath highlightBorder

selectColor

private java.awt.Color selectColor

invertedPostfix

private static final java.lang.String invertedPostfix
See Also:
Constant Field Values
Constructor Detail

GUIMasterHex

GUIMasterHex(MasterHex model)
Method Detail

init

void init(int cx,
          int cy,
          int scale,
          boolean inverted,
          MasterBoard board)

paint

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

paintHighlightIfNeeded

public void paintHighlightIfNeeded(java.awt.Graphics2D g2)

stringWidth

private int stringWidth(java.lang.String s,
                        java.awt.Graphics2D g2)

paintLabel

private void paintLabel(java.awt.Graphics2D g2)

paintTerrainName

private void paintTerrainName(java.awt.Graphics2D g2)

repaint

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

drawGate

private void drawGate(java.awt.Graphics2D g2,
                      double vx1,
                      double vy1,
                      double vx2,
                      double vy2,
                      Constants.HexsideGates gateType)

getOffCenter

java.awt.Point getOffCenter()
Return a point near the center of the hex, vertically offset a bit toward the fat side.


isInverted

boolean isInverted()

setSelectColor

void setSelectColor(java.awt.Color color)

select

public void select()
Overrides:
select in class GUIHex<MasterHex>

unselect

public void unselect()
Overrides:
unselect in class GUIHex<MasterHex>

getOverlayImage

private java.awt.Image getOverlayImage()

paintOverlay

private boolean paintOverlay(java.awt.Graphics2D g)

cleanup

public void cleanup()