20 package net.sf.gridarta.gui.map.renderer;
22 import java.awt.Color;
23 import java.awt.Graphics;
24 import java.awt.Graphics2D;
25 import java.awt.Point;
26 import javax.swing.Icon;
43 import org.jetbrains.annotations.NotNull;
60 private final Color @NotNull []
highLightMask = {
new Color(1.0f, 0.0f, 0.0f, 0.33f),
new Color(0.0f, 1.0f, 0.0f, 0.33f),
new Color(0.0f, 1.0f, 1.0f, 0.33f), };
86 private final int @NotNull []
xPoints =
new int[4];
91 private final int @NotNull []
yPoints =
new int[4];
97 private final Point
point =
new Point();
128 public IsoMapRenderer(
final int spawnPointTypeNo, @NotNull
final MapViewSettings mapViewSettings, @NotNull
final FilterControl<G, A, R> filterControl, @NotNull
final MapModel<G, A, R> mapModel, @NotNull
final MapGrid mapGrid, @NotNull
final MultiPositionData multiPositionData, @NotNull
final IsoMapSquareInfo isoMapSquareInfo, @NotNull
final GridMapSquarePainter gridMapSquarePainter, @NotNull
final GameObjectParser<G, A, R> gameObjectParser, @NotNull
final ResourceIcons resourceIcons) {
129 super(
spawnPointTypeNo,
mapViewSettings,
mapModel,
mapGrid,
isoMapSquareInfo.
getXLen(), 2 *
isoMapSquareInfo.
getYLen(),
multiPositionData,
isoMapSquareInfo,
gridMapSquarePainter, gameObjectParser, resourceIcons.getResourceIcon(
ResourceIcons.
SQUARE_UNKNOWN));
154 point.setLocation(square.getMapX(), square.getMapY());
156 int highestSubLayer = 0;
157 for (
int subLayer = 0; subLayer < yOffsets.length; subLayer++) {
158 if (yOffsets[subLayer] < yOffsets[highestSubLayer]) {
159 highestSubLayer = subLayer;
163 if (square.isEmpty()) {
166 for (
final G node : square) {
169 final G head = node.getHead();
172 subLayer = highestSubLayer;
180 for (
int subLayer = 0; subLayer < yOffsets.length; subLayer++) {
187 final Color color = g.getColor();
193 yPoints[0] = y + yOffsets[subLayer];