public abstract class AbstractIsoMapRenderer<G extends DefaultIsoGameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>> extends AbstractMapRenderer<G,A,R>
MapRenderer
that renders isometric squares. It also visualizes
selections and validation errors.javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
protected boolean[] |
foundSubLayers
Boolean array for
tileStretchingOffsets(java.awt.Point, boolean[]) to avoid allocating lots
of arrays. |
protected int |
maxYOffset
Maximum Y offset.
|
protected int |
minYOffset
Minimum Y offset.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Modifier | Constructor and Description |
---|---|
protected |
AbstractIsoMapRenderer(int spawnPointTypeNo,
MapViewSettings mapViewSettings,
MapModel<G,A,R> mapModel,
MapGrid mapGrid,
int borderOffsetX,
int borderOffsetY,
MultiPositionData multiPositionData,
IsoMapSquareInfo isoMapSquareInfo,
GridMapSquarePainter gridMapSquarePainter,
GameObjectParser<G,A,R> gameObjectParser,
javax.swing.Icon unknownSquareIcon)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
protected abstract void |
clearBackground(java.awt.Graphics g)
Clears the window to background color if necessary.
|
void |
closeNotify()
Must be called when this renderer is not used anymore.
|
void |
forceRepaint()
Repaint the view because some view parameters may have changed.
|
java.awt.image.BufferedImage |
getFullImage()
Returns an image of the entire map view.
|
java.awt.Rectangle |
getSquareBounds(java.awt.Point p)
Returns coordinates, length and width of map square.
|
boolean |
getSquareLocationAt(java.awt.Point point,
java.awt.Point retPoint)
Returns the map location at the given point.
|
protected abstract boolean |
isGameObjectVisible(G gameObject)
Checks whether a game object is visible according to current editor
settings.
|
void |
paintComponent(java.awt.Graphics g) |
protected void |
paintGameObjectIfVisible(java.awt.Graphics2D g,
int xStart,
int yStart,
G gameObject)
Paints a single game object if it is visible according to current editor
settings.
|
protected void |
paintIcon(java.awt.Graphics2D g,
javax.swing.Icon icon)
Paints an icon.
|
protected abstract void |
paintSquare(java.awt.Graphics2D g,
int x,
int y,
MapSquare<G,A,R> square)
Paints one square.
|
protected int[] |
tileStretchingOffsets(java.awt.Point point,
boolean[] foundSubLayers)
Calculates the tile stretching Y offset.
|
getToolTipText, isLightVisible, printFullImage, setErroneousMapSquares, setLightVisible
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, 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, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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
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
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, getAccessibleContext, 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, 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, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addMouseListener, addMouseMotionListener, removeMouseListener, removeMouseMotionListener, scrollRectToVisible
protected int minYOffset
protected int maxYOffset
@NotNull protected final boolean[] foundSubLayers
tileStretchingOffsets(java.awt.Point, boolean[])
to avoid allocating lots
of arrays.protected AbstractIsoMapRenderer(int spawnPointTypeNo, @NotNull MapViewSettings mapViewSettings, @NotNull MapModel<G,A,R> mapModel, @NotNull MapGrid mapGrid, int borderOffsetX, int borderOffsetY, @NotNull MultiPositionData multiPositionData, @NotNull IsoMapSquareInfo isoMapSquareInfo, @NotNull GridMapSquarePainter gridMapSquarePainter, @NotNull GameObjectParser<G,A,R> gameObjectParser, @NotNull javax.swing.Icon unknownSquareIcon)
spawnPointTypeNo
- the game object type number for spawn pointsmapViewSettings
- the map view settings instance to usemapModel
- the map model to rendermapGrid
- the grid to renderborderOffsetX
- the horizontal border sizeborderOffsetY
- the vertical border sizemultiPositionData
- the multi position data to query for multi-part
objectsisoMapSquareInfo
- the iso square info to usegridMapSquarePainter
- the grid square painter to usegameObjectParser
- the game object parser for creating tooltip
informationunknownSquareIcon
- the icons for unknown squarespublic void closeNotify()
closeNotify
in class AbstractMapRenderer<G extends DefaultIsoGameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>>
@NotNull public java.awt.image.BufferedImage getFullImage()
public void paintComponent(@NotNull java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
public void forceRepaint()
@NotNull public java.awt.Rectangle getSquareBounds(@NotNull java.awt.Point p)
p
- the map coordinatesprotected abstract void clearBackground(@NotNull java.awt.Graphics g)
g
- the graphics to use for clearingprotected abstract void paintSquare(@NotNull java.awt.Graphics2D g, int x, int y, @NotNull MapSquare<G,A,R> square)
g
- the graphics context to paint tox
- the square coordinate to paint toy
- the square coordinate to paint tosquare
- the square to paintprotected abstract boolean isGameObjectVisible(@NotNull G gameObject)
gameObject
- the game objectprotected void paintGameObjectIfVisible(@NotNull java.awt.Graphics2D g, int xStart, int yStart, @NotNull G gameObject)
g
- the graphics to paint toxStart
- the x offset for paintingyStart
- the y offset for paintinggameObject
- the game object to paintprotected void paintIcon(@NotNull java.awt.Graphics2D g, @NotNull javax.swing.Icon icon)
g
- the graphics to paint intoicon
- the icon to paintprotected int[] tileStretchingOffsets(@NotNull java.awt.Point point, boolean[] foundSubLayers)
point
- coordinatesfoundSubLayers
- array that will contain information about found
sub-layers on the tilepublic boolean getSquareLocationAt(@NotNull java.awt.Point point, @NotNull java.awt.Point retPoint)
point
- the coordinates in the renderer viewretPoint
- this point will be returned