diff options
Diffstat (limited to 'src/jrummikub/view/impl/Board.java')
-rw-r--r-- | src/jrummikub/view/impl/Board.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/jrummikub/view/impl/Board.java b/src/jrummikub/view/impl/Board.java index 82794b3..be5ec26 100644 --- a/src/jrummikub/view/impl/Board.java +++ b/src/jrummikub/view/impl/Board.java @@ -7,6 +7,7 @@ import java.awt.Insets; import java.awt.RenderingHints; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.util.Collection; import java.util.Collections; import java.util.Map; @@ -24,6 +25,8 @@ public class Board extends JPanel implements IBoard { private final static ImageIcon background = new ImageIcon(Board.class.getResource("/jrummikub/resource/wood.png")); private Map<Stone, Position> stones = Collections.emptyMap(); + private Collection<Stone> highlightedStones = Collections.emptyList(); + private StonePainter stonePainter = new StonePainter(StonePainter.BOARD_SCALE); private Event1<Position> clickEvent = new Event1<Position>(); @@ -65,8 +68,9 @@ public class Board extends JPanel implements IBoard { g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); - for (Map.Entry<Stone, Position> stone : stones.entrySet()) { - stonePainter.paintStone(g, stone.getKey(), stone.getValue(), false); + for (Map.Entry<Stone, Position> entry : stones.entrySet()) { + stonePainter.paintStone(g, entry.getKey(), entry.getValue(), + highlightedStones.contains(entry.getKey())); } } @@ -74,4 +78,9 @@ public class Board extends JPanel implements IBoard { public void setStones(Map<Stone, Position> stones) { this.stones = stones; } + + @Override + public void setHighlightedStones(Collection<Stone> stones) { + highlightedStones = stones; + } } |