summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/impl
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/view/impl')
-rw-r--r--src/jrummikub/view/impl/Board.java13
-rw-r--r--src/jrummikub/view/impl/Table.java15
2 files changed, 23 insertions, 5 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;
+ }
}
diff --git a/src/jrummikub/view/impl/Table.java b/src/jrummikub/view/impl/Table.java
index e4601c5..653167e 100644
--- a/src/jrummikub/view/impl/Table.java
+++ b/src/jrummikub/view/impl/Table.java
@@ -8,6 +8,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;
@@ -33,6 +34,7 @@ public class Table extends JPanel implements ITable {
private StonePainter stonePainter = new StonePainter(1);
private Map<StoneSet, Position> stoneSets = Collections.emptyMap();
+ private Collection<Stone> highlightedStones = Collections.emptyList();
private Event1<Position> clickEvent = new Event1<Position>();
@@ -58,6 +60,12 @@ public class Table extends JPanel implements ITable {
}
@Override
+ public void setHighlightedStones(Collection<Stone> stones) {
+ highlightedStones = stones;
+
+ }
+
+ @Override
public IEvent1<Position> getClickEvent() {
return clickEvent;
}
@@ -97,9 +105,10 @@ public class Table extends JPanel implements ITable {
public void paintStoneSet(Graphics2D g, StoneSet stoneSet, Position pos) {
float x = pos.getX();
-
- for(Stone stone : stoneSet){
- stonePainter.paintStone(g, stone, new Position(x, pos.getY()), false);
+
+ for (Stone stone : stoneSet) {
+ stonePainter.paintStone(g, stone, new Position(x, pos.getY()),
+ highlightedStones.contains(stone));
x++;
}
}