Merged banaan and develop
This commit is contained in:
@@ -31,6 +31,7 @@ public abstract class DrawObject
|
|||||||
static final int UPPERRIGHT = 1;
|
static final int UPPERRIGHT = 1;
|
||||||
static final int BOTTOMLEFT = 2;
|
static final int BOTTOMLEFT = 2;
|
||||||
static final int BOTTOMRIGHT = 3;
|
static final int BOTTOMRIGHT = 3;
|
||||||
|
private Color rectangleColor;
|
||||||
|
|
||||||
public DrawObject(String filename, Point2D position)
|
public DrawObject(String filename, Point2D position)
|
||||||
{
|
{
|
||||||
@@ -39,6 +40,7 @@ public abstract class DrawObject
|
|||||||
scale = 1;
|
scale = 1;
|
||||||
rotation = 0;
|
rotation = 0;
|
||||||
this.position = position;
|
this.position = position;
|
||||||
|
rectangleColor = Color.BLACK;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract String getName();
|
public abstract String getName();
|
||||||
@@ -54,7 +56,7 @@ public abstract class DrawObject
|
|||||||
|
|
||||||
AffineTransform rotate = AffineTransform.getRotateInstance(Math.toRadians(rotation), position.getX() + image.getWidth(null) / 2, position.getY() + image.getHeight(null) / 2);
|
AffineTransform rotate = AffineTransform.getRotateInstance(Math.toRadians(rotation), position.getX() + image.getWidth(null) / 2, position.getY() + image.getHeight(null) / 2);
|
||||||
g.transform(rotate);
|
g.transform(rotate);
|
||||||
g.setColor(Color.BLACK);
|
g.setColor(rectangleColor);
|
||||||
g.setStroke(new BasicStroke(7));
|
g.setStroke(new BasicStroke(7));
|
||||||
rektAngle = new Rectangle2D.Double((int) position.getX(), (int) position.getY(), image.getWidth(null), image.getHeight(null));
|
rektAngle = new Rectangle2D.Double((int) position.getX(), (int) position.getY(), image.getWidth(null), image.getHeight(null));
|
||||||
tx = getTransformRectangle();
|
tx = getTransformRectangle();
|
||||||
@@ -115,10 +117,10 @@ public abstract class DrawObject
|
|||||||
shape = new Rectangle2D.Double(0, 0, image.getWidth(null), image.getHeight(null));
|
shape = new Rectangle2D.Double(0, 0, image.getWidth(null), image.getHeight(null));
|
||||||
return getTransform().createTransformedShape(shape).contains(clickPoint);
|
return getTransform().createTransformedShape(shape).contains(clickPoint);
|
||||||
|
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
shape = new Rectangle2D.Double(-9, -9, image.getWidth(null) + 13, image.getHeight(null) + 13);
|
shape = new Rectangle2D.Double(-9, -9, image.getWidth(null) + 13, image.getHeight(null) + 13);
|
||||||
|
|
||||||
return getTransformSelection().createTransformedShape(shape).contains(clickPoint);
|
return getTransformSelection().createTransformedShape(shape).contains(clickPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -130,13 +132,72 @@ public abstract class DrawObject
|
|||||||
{
|
{
|
||||||
return getTransform().inverseTransform(point, null);
|
return getTransform().inverseTransform(point, null);
|
||||||
|
|
||||||
} catch (NoninvertibleTransformException e)
|
}
|
||||||
|
catch (NoninvertibleTransformException e)
|
||||||
{
|
{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method that gets all the corner coordinates index: 0 -> top left 1 -> top
|
||||||
|
* right 3 -> bottom left 4 -> bottom right
|
||||||
|
*
|
||||||
|
* @return corner coordinates
|
||||||
|
*/
|
||||||
|
public Point2D[] getCorners()
|
||||||
|
{
|
||||||
|
Rectangle2D tempRekt = new Rectangle2D.Double(0, 0, image.getWidth(null), image.getHeight(null));
|
||||||
|
tempRekt.setFrame(getTransform().createTransformedShape(tempRekt).getBounds());
|
||||||
|
Point2D[] points = new Point2D[4];
|
||||||
|
Point2D point = new Point2D.Double(tempRekt.getX(), tempRekt.getY());
|
||||||
|
points[0] = point;
|
||||||
|
point = new Point2D.Double(tempRekt.getX() + tempRekt.getHeight(), tempRekt.getY());
|
||||||
|
points[1] = point;
|
||||||
|
point = new Point2D.Double(tempRekt.getX(), tempRekt.getY() + tempRekt.getHeight());
|
||||||
|
points[2] = point;
|
||||||
|
point = new Point2D.Double(tempRekt.getX() + tempRekt.getHeight(), tempRekt.getY() + tempRekt.getHeight());
|
||||||
|
points[3] = point;
|
||||||
|
return points;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param corners
|
||||||
|
* @return if there is a collision
|
||||||
|
*/
|
||||||
|
public boolean collision(DrawObject object)
|
||||||
|
{
|
||||||
|
// Point2D[] ownCorners = getCorners();
|
||||||
|
Point2D[] objectCorners = object.getCorners();
|
||||||
|
Shape ownShape = new Rectangle2D.Double(-9, -9, image.getWidth(null) + 13, image.getHeight(null) + 13);
|
||||||
|
ownShape = getTransformSelection().createTransformedShape(ownShape);
|
||||||
|
// Shape otherShape = new Rectangle2D.Double(-9,
|
||||||
|
// -9,object.getImage().getWidth(null) +
|
||||||
|
// 13,object.getImage().getHeight(null) + 13);
|
||||||
|
// otherShape =
|
||||||
|
// getTransformSelection().createTransformedShape(otherShape);
|
||||||
|
if (ownShape.contains(objectCorners[0]))
|
||||||
|
return true;
|
||||||
|
else if (ownShape.contains(objectCorners[1]))
|
||||||
|
return true;
|
||||||
|
else if (ownShape.contains(objectCorners[2]))
|
||||||
|
return true;
|
||||||
|
else if (ownShape.contains(objectCorners[3]))
|
||||||
|
return true;
|
||||||
|
// if(otherShape.contains(ownCorners[0]))
|
||||||
|
// return true;
|
||||||
|
// else if(otherShape.contains(ownCorners[1]))
|
||||||
|
// return true;
|
||||||
|
// else if(otherShape.contains(ownCorners[2]))
|
||||||
|
// return true;
|
||||||
|
// else if(otherShape.contains(ownCorners[3]))
|
||||||
|
// return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method checks if the place thats clicked is inside one of the
|
* This method checks if the place thats clicked is inside one of the
|
||||||
* corners.
|
* corners.
|
||||||
@@ -235,4 +296,14 @@ public abstract class DrawObject
|
|||||||
rektAngle = rectangle;
|
rektAngle = rectangle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Color getRectangleColor()
|
||||||
|
{
|
||||||
|
return rectangleColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRectangleColor(Color rectangleColor)
|
||||||
|
{
|
||||||
|
this.rectangleColor = rectangleColor;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package Applicatie;
|
package Applicatie;
|
||||||
|
|
||||||
import java.awt.BasicStroke;
|
import java.awt.BasicStroke;
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
@@ -53,6 +54,7 @@ public class Panel extends JPanel
|
|||||||
|
|
||||||
Point2D lastClickPosition = new Point(0, 0);
|
Point2D lastClickPosition = new Point(0, 0);
|
||||||
Point lastMousePosition = new Point(0, 0);
|
Point lastMousePosition = new Point(0, 0);
|
||||||
|
Point2D selectionPosition = new Point(0,0);
|
||||||
|
|
||||||
// how to nieuwe dingen aan het panel toe te voegen:
|
// how to nieuwe dingen aan het panel toe te voegen:
|
||||||
// maak bufferedimage global aan, voeg er een image aan toe, en voeg de
|
// maak bufferedimage global aan, voeg er een image aan toe, en voeg de
|
||||||
@@ -60,6 +62,14 @@ public class Panel extends JPanel
|
|||||||
// en maak een case statement die een new Object returnt in
|
// en maak een case statement die een new Object returnt in
|
||||||
// createNewDrawObject.
|
// createNewDrawObject.
|
||||||
|
|
||||||
|
public Point2D getSelectionPosition() {
|
||||||
|
return selectionPosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSelectionPosition(Point2D selectionPosition) {
|
||||||
|
this.selectionPosition = selectionPosition;
|
||||||
|
}
|
||||||
|
|
||||||
Panel(PropertiesPanel pp)
|
Panel(PropertiesPanel pp)
|
||||||
{
|
{
|
||||||
this.pp = pp;
|
this.pp = pp;
|
||||||
@@ -339,4 +349,27 @@ public class Panel extends JPanel
|
|||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void clearObjectSelection() {
|
||||||
|
for(DrawObject o : objects) {
|
||||||
|
o.setSelected(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void checkCollision() {
|
||||||
|
boolean collision = false;
|
||||||
|
for(DrawObject o : getObjects()) {
|
||||||
|
if(getSelectedObject().collision(o) && o != getSelectedObject()) {
|
||||||
|
collision = true;
|
||||||
|
getSelectedObject().setRectangleColor(Color.RED);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if(!collision)
|
||||||
|
getSelectedObject().setRectangleColor(Color.BLACK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+36
-5
@@ -1,7 +1,9 @@
|
|||||||
package Listeners;
|
package Listeners;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.awt.event.KeyListener;
|
import java.awt.event.KeyListener;
|
||||||
|
import java.awt.geom.Point2D;
|
||||||
|
|
||||||
import Applicatie.Panel;
|
import Applicatie.Panel;
|
||||||
|
|
||||||
@@ -16,21 +18,50 @@ public class Keyboard implements KeyListener {
|
|||||||
@Override
|
@Override
|
||||||
public void keyPressed(KeyEvent e) {
|
public void keyPressed(KeyEvent e) {
|
||||||
if(e.getKeyCode() == e.VK_DELETE ) {
|
if(e.getKeyCode() == e.VK_DELETE ) {
|
||||||
if(panel.getSelectedObject() != null) {
|
if(panel.getSelectedObject() != null)
|
||||||
System.out.println("lala");
|
|
||||||
panel.removeObject(panel.getSelectedObject());
|
panel.removeObject(panel.getSelectedObject());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
else if(e.getKeyCode() == e.VK_LEFT) {
|
||||||
|
if(panel.getSelectedObject() != null)
|
||||||
|
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX()-5,panel.getSelectedObject().getPosition().getY()));
|
||||||
|
panel.checkCollision();
|
||||||
|
}
|
||||||
|
else if(e.getKeyCode() == e.VK_RIGHT) {
|
||||||
|
if(panel.getSelectedObject() != null)
|
||||||
|
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX()+5,panel.getSelectedObject().getPosition().getY()));
|
||||||
|
panel.checkCollision();
|
||||||
|
}
|
||||||
|
else if(e.getKeyCode() == e.VK_UP) {
|
||||||
|
if(panel.getSelectedObject() != null)
|
||||||
|
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX(),panel.getSelectedObject().getPosition().getY()-5));
|
||||||
|
panel.checkCollision();
|
||||||
|
}
|
||||||
|
else if(e.getKeyCode() == e.VK_DOWN) {
|
||||||
|
if(panel.getSelectedObject() != null)
|
||||||
|
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX(),panel.getSelectedObject().getPosition().getY()+5));
|
||||||
|
panel.checkCollision();
|
||||||
|
}
|
||||||
|
panel.repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void keyReleased(KeyEvent e) {
|
public void keyReleased(KeyEvent e) {
|
||||||
|
//if(e.getKeyCode() == e.VK_LEFT) {
|
||||||
|
checkCollision();
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void keyTyped(KeyEvent e) {
|
public void keyTyped(KeyEvent e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkCollision() {
|
||||||
|
if(panel.getSelectedObject() != null) {
|
||||||
|
if(panel.getSelectedObject().getRectangleColor() != Color.BLACK) {
|
||||||
|
panel.getSelectedObject().setPosition(panel.getSelectionPosition());
|
||||||
|
panel.getSelectedObject().setRectangleColor(Color.BLACK);
|
||||||
|
}
|
||||||
|
panel.repaint();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+20
-11
@@ -1,15 +1,13 @@
|
|||||||
package Listeners;
|
package Listeners;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.geom.Point2D;
|
import java.awt.geom.Point2D;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import Applicatie.DrawObject;
|
import Applicatie.DrawObject;
|
||||||
import Applicatie.Panel;
|
import Applicatie.Panel;
|
||||||
|
|
||||||
import Objects.Stage;
|
import Objects.Stage;
|
||||||
|
|
||||||
public class Mouse extends MouseAdapter
|
public class Mouse extends MouseAdapter
|
||||||
@@ -31,10 +29,6 @@ public class Mouse extends MouseAdapter
|
|||||||
panel.setLastMousePosition(e.getPoint());
|
panel.setLastMousePosition(e.getPoint());
|
||||||
if (e.getY() < 150)
|
if (e.getY() < 150)
|
||||||
{
|
{
|
||||||
// if(e.getX() < 51) //51 = width podium image
|
|
||||||
// panel.setDragObject(new Podium(clickPoint));
|
|
||||||
// else
|
|
||||||
// panel.setDragObject(new Toilet(clickPoint));
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int last = 0;
|
int last = 0;
|
||||||
for (BufferedImage image : panel.getPanelInfo())
|
for (BufferedImage image : panel.getPanelInfo())
|
||||||
@@ -43,12 +37,17 @@ public class Mouse extends MouseAdapter
|
|||||||
{
|
{
|
||||||
DrawObject tempDrawObj = panel.createNewDrawObject(i);
|
DrawObject tempDrawObj = panel.createNewDrawObject(i);
|
||||||
tempDrawObj.setPosition(clickPoint);
|
tempDrawObj.setPosition(clickPoint);
|
||||||
|
if(!panel.getObjects().isEmpty())
|
||||||
|
panel.clearObjectSelection();
|
||||||
panel.setDragObject(tempDrawObj);
|
panel.setDragObject(tempDrawObj);
|
||||||
|
panel.getDragObject().setSelected(true);
|
||||||
|
panel.getPP().setSelected(tempDrawObj);
|
||||||
|
panel.setSelectedObject(tempDrawObj);
|
||||||
|
selectedObject = tempDrawObj;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
last += image.getWidth();
|
last += image.getWidth();
|
||||||
|
|
||||||
}
|
}
|
||||||
if (panel.getDragObject() != null)
|
if (panel.getDragObject() != null)
|
||||||
{
|
{
|
||||||
@@ -99,8 +98,8 @@ public class Mouse extends MouseAdapter
|
|||||||
selectedObject = o;
|
selectedObject = o;
|
||||||
panel.setDragObject(o);
|
panel.setDragObject(o);
|
||||||
panel.getPP().setSelected(o);
|
panel.getPP().setSelected(o);
|
||||||
|
|
||||||
panel.setSelectedObject(o);
|
panel.setSelectedObject(o);
|
||||||
|
panel.setSelectionPosition(panel.getDragObject().getPosition());
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -108,6 +107,7 @@ public class Mouse extends MouseAdapter
|
|||||||
if (panel.getDragObject() == null && selectedObject != null)
|
if (panel.getDragObject() == null && selectedObject != null)
|
||||||
{
|
{
|
||||||
selectedObject.setSelected(false);
|
selectedObject.setSelected(false);
|
||||||
|
panel.setSelectedObject(null);
|
||||||
panel.getPP().clearSelected();
|
panel.getPP().clearSelected();
|
||||||
selectedObject = null;
|
selectedObject = null;
|
||||||
}
|
}
|
||||||
@@ -116,8 +116,17 @@ public class Mouse extends MouseAdapter
|
|||||||
|
|
||||||
public void mouseReleased(MouseEvent e)
|
public void mouseReleased(MouseEvent e)
|
||||||
{
|
{
|
||||||
panel.setDragObject(null);
|
if(panel.getDragObject() != null) {
|
||||||
panel.setClickedOption("drag");
|
if(panel.getDragObject().getRectangleColor() != Color.RED) {
|
||||||
|
panel.setDragObject(null);
|
||||||
|
panel.setClickedOption("drag");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
panel.getDragObject().setPosition(panel.getSelectionPosition());
|
||||||
|
panel.getDragObject().setRectangleColor(Color.BLACK);
|
||||||
|
}
|
||||||
|
panel.setSelectionPosition(panel.getSelectedObject().getPosition());
|
||||||
|
}
|
||||||
panel.repaint();
|
panel.repaint();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+21
-13
@@ -1,9 +1,11 @@
|
|||||||
package Listeners;
|
package Listeners;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.event.MouseMotionAdapter;
|
import java.awt.event.MouseMotionAdapter;
|
||||||
import java.awt.geom.Point2D;
|
import java.awt.geom.Point2D;
|
||||||
|
|
||||||
|
import Applicatie.DrawObject;
|
||||||
import Applicatie.Panel;
|
import Applicatie.Panel;
|
||||||
|
|
||||||
public class MouseMotion extends MouseMotionAdapter
|
public class MouseMotion extends MouseMotionAdapter
|
||||||
@@ -24,15 +26,17 @@ public class MouseMotion extends MouseMotionAdapter
|
|||||||
switch (panel.getClickedOption())
|
switch (panel.getClickedOption())
|
||||||
{
|
{
|
||||||
case "drag":
|
case "drag":
|
||||||
|
boolean collision = false;
|
||||||
if (panel.getDragObject() != null)
|
if (panel.getDragObject() != null)
|
||||||
panel.getDragObject().setPosition(new Point2D.Double((panel.getDragObject().getPosition().getX()) - ((panel.getLastClickPosition().getX() - clickPoint.getX())) / panel.getDragObject().getScale(), (panel.getDragObject().getPosition().getY()) - (panel.getLastClickPosition().getY() - clickPoint.getY()) / panel.getDragObject().getScale()));
|
panel.getDragObject().setPosition(new Point2D.Double((panel.getDragObject().getPosition().getX()) - ((panel.getLastClickPosition().getX() - clickPoint.getX())) / panel.getDragObject().getScale(), (panel.getDragObject().getPosition().getY()) - (panel.getLastClickPosition().getY() - clickPoint.getY()) / panel.getDragObject().getScale()));
|
||||||
|
panel.checkCollision();
|
||||||
break;
|
break;
|
||||||
case "upperLeft":
|
case "upperLeft":
|
||||||
if (clickPoint.getX() < panel.getDragObject().getPosition().getX() && clickPoint.getY() < panel.getDragObject().getPosition().getY())
|
if (clickPoint.getX() < panel.getDragObject().getPosition().getX() && clickPoint.getY() < panel.getDragObject().getPosition().getY())
|
||||||
{
|
{
|
||||||
resizeBigger(clickPoint);
|
resizeBigger();
|
||||||
} else if (clickPoint.getX() > panel.getDragObject().getPosition().getX() && clickPoint.getY() > panel.getDragObject().getPosition().getY())
|
}
|
||||||
|
else if (clickPoint.getX() > panel.getDragObject().getPosition().getX() && clickPoint.getY() > panel.getDragObject().getPosition().getY())
|
||||||
{
|
{
|
||||||
resizeSmaller(clickPoint);
|
resizeSmaller(clickPoint);
|
||||||
}
|
}
|
||||||
@@ -40,8 +44,9 @@ public class MouseMotion extends MouseMotionAdapter
|
|||||||
case "upperRight":
|
case "upperRight":
|
||||||
if (clickPoint.getX() > panel.getDragObject().getRectangle().getX() + panel.getDragObject().getRectangle().getWidth() && clickPoint.getY() < panel.getDragObject().getRectangle().getY())
|
if (clickPoint.getX() > panel.getDragObject().getRectangle().getX() + panel.getDragObject().getRectangle().getWidth() && clickPoint.getY() < panel.getDragObject().getRectangle().getY())
|
||||||
{
|
{
|
||||||
resizeBigger(clickPoint);
|
resizeBigger();
|
||||||
} else if (clickPoint.getX() < panel.getDragObject().getRectangle().getX() + panel.getDragObject().getRectangle().getWidth() && clickPoint.getY() > panel.getDragObject().getRectangle().getY())
|
}
|
||||||
|
else if (clickPoint.getX() < panel.getDragObject().getRectangle().getX() + panel.getDragObject().getRectangle().getWidth() && clickPoint.getY() > panel.getDragObject().getRectangle().getY())
|
||||||
{
|
{
|
||||||
resizeSmaller(clickPoint);
|
resizeSmaller(clickPoint);
|
||||||
}
|
}
|
||||||
@@ -49,8 +54,9 @@ public class MouseMotion extends MouseMotionAdapter
|
|||||||
case "bottomLeft":
|
case "bottomLeft":
|
||||||
if (clickPoint.getX() < panel.getDragObject().getRectangle().getX() && clickPoint.getY() > panel.getDragObject().getRectangle().getY() + panel.getDragObject().getRectangle().getHeight())
|
if (clickPoint.getX() < panel.getDragObject().getRectangle().getX() && clickPoint.getY() > panel.getDragObject().getRectangle().getY() + panel.getDragObject().getRectangle().getHeight())
|
||||||
{
|
{
|
||||||
resizeBigger(clickPoint);
|
resizeBigger();
|
||||||
} else if (clickPoint.getX() > panel.getDragObject().getRectangle().getX() && clickPoint.getY() < panel.getDragObject().getRectangle().getY() + panel.getDragObject().getRectangle().getHeight())
|
}
|
||||||
|
else if (clickPoint.getX() > panel.getDragObject().getRectangle().getX() && clickPoint.getY() < panel.getDragObject().getRectangle().getY() + panel.getDragObject().getRectangle().getHeight())
|
||||||
{
|
{
|
||||||
resizeSmaller(clickPoint);
|
resizeSmaller(clickPoint);
|
||||||
}
|
}
|
||||||
@@ -58,8 +64,9 @@ public class MouseMotion extends MouseMotionAdapter
|
|||||||
case "bottomRight":
|
case "bottomRight":
|
||||||
if (clickPoint.getX() > panel.getDragObject().getRectangle().getX() + panel.getDragObject().getRectangle().getWidth() && clickPoint.getY() > panel.getDragObject().getRectangle().getY() + panel.getDragObject().getRectangle().getHeight())
|
if (clickPoint.getX() > panel.getDragObject().getRectangle().getX() + panel.getDragObject().getRectangle().getWidth() && clickPoint.getY() > panel.getDragObject().getRectangle().getY() + panel.getDragObject().getRectangle().getHeight())
|
||||||
{
|
{
|
||||||
resizeBigger(clickPoint);
|
resizeBigger();
|
||||||
} else if (clickPoint.getX() < panel.getDragObject().getRectangle().getX() + panel.getDragObject().getRectangle().getWidth() && clickPoint.getY() < panel.getDragObject().getRectangle().getY() + panel.getDragObject().getRectangle().getHeight())
|
}
|
||||||
|
else if (clickPoint.getX() < panel.getDragObject().getRectangle().getX() + panel.getDragObject().getRectangle().getWidth() && clickPoint.getY() < panel.getDragObject().getRectangle().getY() + panel.getDragObject().getRectangle().getHeight())
|
||||||
{
|
{
|
||||||
resizeSmaller(clickPoint);
|
resizeSmaller(clickPoint);
|
||||||
}
|
}
|
||||||
@@ -69,7 +76,8 @@ public class MouseMotion extends MouseMotionAdapter
|
|||||||
panel.getDragObject().setRotation(tempval);
|
panel.getDragObject().setRotation(tempval);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
panel.setCameraPoint(new Point2D.Double(panel.getCameraPoint().getX() + (panel.getLastMousePosition().getX() - e.getX()), panel.getCameraPoint().getY() + (panel.getLastMousePosition().getY() - e.getY())));
|
panel.setCameraPoint(new Point2D.Double(panel.getCameraPoint().getX() + (panel.getLastMousePosition().getX() - e.getX()), panel.getCameraPoint().getY() + (panel.getLastMousePosition().getY() - e.getY())));
|
||||||
}
|
}
|
||||||
@@ -80,12 +88,12 @@ public class MouseMotion extends MouseMotionAdapter
|
|||||||
panel.getPP().update();
|
panel.getPP().update();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resizeBigger(Point2D clickPoint)
|
private void resizeBigger()
|
||||||
{
|
{
|
||||||
double scale = panel.getDragObject().getScale() + 0.05;
|
double scale = panel.getDragObject().getScale() + 0.05;
|
||||||
|
|
||||||
panel.getDragObject().setScale(scale);
|
panel.getDragObject().setScale(scale);
|
||||||
panel.getDragObject().setPosition(new Point2D.Double(panel.getDragObject().getPosition().getX() + clickPoint.getX() / 100, panel.getDragObject().getPosition().getY() + clickPoint.getY() / 100));
|
panel.getDragObject().setPosition(new Point2D.Double(panel.getDragObject().getPosition().getX(), panel.getDragObject().getPosition().getY() - 5));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,7 +104,7 @@ public class MouseMotion extends MouseMotionAdapter
|
|||||||
{
|
{
|
||||||
double scale = panel.getDragObject().getScale() - 0.05;
|
double scale = panel.getDragObject().getScale() - 0.05;
|
||||||
panel.getDragObject().setScale(scale);
|
panel.getDragObject().setScale(scale);
|
||||||
panel.getDragObject().setPosition(new Point2D.Double(panel.getDragObject().getPosition().getX() - clickPoint.getX() / 100, panel.getDragObject().getPosition().getY() - clickPoint.getY()/ 100));
|
panel.getDragObject().setPosition(new Point2D.Double(panel.getDragObject().getPosition().getX() - clickPoint.getX(), panel.getDragObject().getPosition().getY() - clickPoint.getY()));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,9 +48,6 @@ public class MouseWheel implements MouseWheelListener
|
|||||||
panel.setCameraScale((float) cameraScale);
|
panel.setCameraScale((float) cameraScale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
System.out.println(cameraScale);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
panel.repaint();
|
panel.repaint();
|
||||||
|
|||||||
Reference in New Issue
Block a user