summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/impl/AbstractStonePanel.java
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-05-03 21:34:59 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-05-03 21:34:59 +0200
commit51f70cafe316a1284db82a4cfb3c09cba8c12293 (patch)
tree56033af3432746f9c61e9ee04de5ce9c9991aeb9 /src/jrummikub/view/impl/AbstractStonePanel.java
parent2aeedc62418ab7816887f20e4ccb461fe6a0fcc0 (diff)
downloadJRummikub-51f70cafe316a1284db82a4cfb3c09cba8c12293.tar
JRummikub-51f70cafe316a1284db82a4cfb3c09cba8c12293.zip
Translate table origin
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@98 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/view/impl/AbstractStonePanel.java')
-rw-r--r--src/jrummikub/view/impl/AbstractStonePanel.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/jrummikub/view/impl/AbstractStonePanel.java b/src/jrummikub/view/impl/AbstractStonePanel.java
index 68818cf..e858662 100644
--- a/src/jrummikub/view/impl/AbstractStonePanel.java
+++ b/src/jrummikub/view/impl/AbstractStonePanel.java
@@ -13,6 +13,7 @@ import jrummikub.model.Position;
import jrummikub.model.Stone;
import jrummikub.util.Event1;
import jrummikub.util.Event2;
+import jrummikub.util.Pair;
import jrummikub.view.IClickable;
import jrummikub.view.IStonePanel;
@@ -60,8 +61,9 @@ abstract class AbstractStonePanel extends JPanel implements IStonePanel,
@Override
public void mouseClicked(MouseEvent e) {
Insets insets = getInsets();
- Position pos = stonePainter.calculatePosition(e.getX() - insets.left,
- e.getY() - insets.top);
+ Pair<Integer, Integer> trans = getTranslation();
+ Position pos = stonePainter.calculatePosition(e.getX() - insets.left
+ - trans.getFirst(), e.getY() - insets.top - trans.getSecond());
Stone stone = getStoneAt(pos);
if (stone == null) {
@@ -85,7 +87,9 @@ abstract class AbstractStonePanel extends JPanel implements IStonePanel,
/**
* *Overwrite this method* to signal if special zone was clicked
- * @param pos the clicked position
+ *
+ * @param pos
+ * the clicked position
*
* @return special zone clicked
*/
@@ -117,6 +121,15 @@ abstract class AbstractStonePanel extends JPanel implements IStonePanel,
}
/**
+ * Returns the translation in pixels the stones in this panel are painted with
+ *
+ * @return the translation
+ */
+ protected Pair<Integer, Integer> getTranslation() {
+ return new Pair<Integer, Integer>(0, 0);
+ }
+
+ /**
* Returns the list of stones and positions currently set
*
* @return the stones