From ea487bd24ffe768e4953fb16ff95d830e4de887e Mon Sep 17 00:00:00 2001 From: Yorick Date: Tue, 17 Mar 2015 10:55:34 +0000 Subject: [PATCH] Dragging now works properly --- Applicatie/Panel.java | 13 +++++++++---- Listeners/Mouse.java | 1 - Listeners/MouseMotion.java | 8 ++++++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Applicatie/Panel.java b/Applicatie/Panel.java index 9d23516..b9b4ea8 100644 --- a/Applicatie/Panel.java +++ b/Applicatie/Panel.java @@ -1,10 +1,12 @@ package Applicatie; +import java.awt.BasicStroke; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; import java.awt.TexturePaint; import java.awt.geom.AffineTransform; +import java.awt.geom.GeneralPath; import java.awt.geom.NoninvertibleTransformException; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; @@ -129,6 +131,8 @@ public class Panel extends JPanel { // g2.fill(new Ellipse2D.Double(0,0,300,300)); // g2.drawImage(podiumImage, 0, 0, null); + + g2.drawLine(0, 150, getWidth(), 150); for (BufferedImage image : panelInfo) { g2.drawImage(image, panelInfox + scrollfactor, panelInfoy, null); panelInfox += image.getWidth(); @@ -139,11 +143,13 @@ public class Panel extends JPanel { AffineTransform oldTransform = g2.getTransform(); g2.setTransform(getCamera()); - TexturePaint p = new TexturePaint(background, new Rectangle2D.Double(0, - 0, 100, 100)); + TexturePaint p = new TexturePaint(background, new Rectangle2D.Double(0,0, 100, 100)); g2.setPaint(p); g2.fill(new Rectangle2D.Double(-1920, -1080, 3840, 2160)); + BasicStroke stroke = new BasicStroke(10); + g2.setStroke(stroke); + for (DrawObject o : objects) { o.draw(g2); } @@ -154,8 +160,7 @@ public class Panel extends JPanel { public AffineTransform getCamera() { AffineTransform tx = new AffineTransform(); - tx.translate(-cameraPoint.getX() + getWidth() / 2, -cameraPoint.getY() - + getHeight() / 2); + tx.translate(-cameraPoint.getX() + getWidth() / 2, -cameraPoint.getY() + getHeight() / 2); tx.scale(cameraScale, cameraScale); return tx; } diff --git a/Listeners/Mouse.java b/Listeners/Mouse.java index 5fb37e3..74d6dfa 100644 --- a/Listeners/Mouse.java +++ b/Listeners/Mouse.java @@ -82,7 +82,6 @@ public class Mouse extends MouseAdapter { } } if (panel.getDragObject() == null && selectedObject != null) { - System.out.println("deselected"); selectedObject.setSelected(false); selectedObject = null; } diff --git a/Listeners/MouseMotion.java b/Listeners/MouseMotion.java index a9c927c..db1f9b2 100644 --- a/Listeners/MouseMotion.java +++ b/Listeners/MouseMotion.java @@ -22,8 +22,12 @@ public class MouseMotion extends MouseMotionAdapter { case "drag": if(panel.getDragObject() != null) panel.getDragObject().setPosition(new Point2D.Double( - (panel.getDragObject().getPosition().getX() ) - ((panel.getLastClickPosition().getX() - clickPoint.getX()) ), - (panel.getDragObject().getPosition().getY()) - (panel.getLastClickPosition().getY() - clickPoint.getY()) )); + (panel.getDragObject().getPosition().getX() ) - ((panel.getLastClickPosition().getX() - clickPoint.getX()) ) / panel.getDragObject().getScale(), + (panel.getDragObject().getPosition().getY()) - (panel.getLastClickPosition().getY() - clickPoint.getY()) / panel.getDragObject().getScale() )); + System.out.println(panel.getDragObject().getPosition().getX()); + System.out.println(panel.getLastClickPosition().getX()); + System.out.println(clickPoint.getX()); + System.out.println("----------'"); break; case "upperLeft": if(clickPoint.getX() < panel.getDragObject().getPosition().getX() && clickPoint.getY() < panel.getDragObject().getPosition().getY()) {