diff options
Diffstat (limited to 'src/jrummikub/view/impl/Table.java')
-rw-r--r-- | src/jrummikub/view/impl/Table.java | 15 |
1 files changed, 12 insertions, 3 deletions
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++; } } |