This commit is contained in:
Yorick
2015-03-17 13:39:16 +01:00
13 changed files with 231 additions and 164 deletions
+45 -22
View File
@@ -12,31 +12,35 @@ import Applicatie.Panel;
import Objects.Stage;
public class Mouse extends MouseAdapter {
public class Mouse extends MouseAdapter
{
private Panel panel;
private DrawObject selectedObject;
public Mouse(Panel panel) {
public Mouse(Panel panel)
{
this.panel = panel;
selectedObject = null;
}
public void mousePressed(MouseEvent e) {
public void mousePressed(MouseEvent e)
{
Point2D clickPoint = panel.getClickPoint(e.getPoint());
panel.setLastClickPosition(clickPoint);
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 last = 0;
for (BufferedImage image : panel.getPanelInfo()) {
if (e.getX() >= panel.getScrollfactor()
&& e.getX() < last + image.getWidth()
+ panel.getScrollfactor()) {
for (BufferedImage image : panel.getPanelInfo())
{
if (e.getX() >= panel.getScrollfactor() && e.getX() < last + image.getWidth() + panel.getScrollfactor())
{
DrawObject tempDrawObj = panel.createNewDrawObject(i);
tempDrawObj.setPosition(clickPoint);
panel.setDragObject(tempDrawObj);
@@ -46,29 +50,46 @@ public class Mouse extends MouseAdapter {
last += image.getWidth();
}
if (panel.getDragObject() != null) {
if (panel.getDragObject() != null)
{
panel.add(panel.getDragObject());
}
} else {
for (DrawObject o : panel.getObjects()) {
if (o.contains(clickPoint)) {
if (o == selectedObject) {
}
else
{
for (DrawObject o : panel.getObjects())
{
if (o.contains(clickPoint))
{
if (o == selectedObject)
{
boolean upperLeft = o.containsCorner(clickPoint, 0);
boolean upperRight = o.containsCorner(clickPoint, 1);
boolean bottomLeft = o.containsCorner(clickPoint, 2);
boolean bottomRight = o.containsCorner(clickPoint, 3);
boolean rotate = o.containsCorner(clickPoint, 4);
if (upperLeft) {
if (upperLeft)
{
panel.setClickedOption("upperLeft");
} else if (upperRight) {
}
else if (upperRight)
{
panel.setClickedOption("upperRight");
} else if (bottomLeft) {
}
else if (bottomLeft)
{
panel.setClickedOption("bottomLeft");
} else if (bottomRight) {
}
else if (bottomRight)
{
panel.setClickedOption("bottomRight");
} else if (rotate) {
}
else if (rotate)
{
panel.setClickedOption("rotate");
} else {
}
else
{
panel.setClickedOption("drag");
}
}
@@ -84,7 +105,8 @@ public class Mouse extends MouseAdapter {
}
}
}
if (panel.getDragObject() == null && selectedObject != null) {
if (panel.getDragObject() == null && selectedObject != null)
{
selectedObject.setSelected(false);
panel.getPP().clearSelected();
selectedObject = null;
@@ -92,9 +114,10 @@ public class Mouse extends MouseAdapter {
panel.repaint();
}
public void mouseReleased(MouseEvent e) {
public void mouseReleased(MouseEvent e)
{
panel.setDragObject(null);
panel.setClickedOption("drag");
panel.repaint();
}
}
}
+3 -1
View File
@@ -73,6 +73,7 @@ public class MouseMotion extends MouseMotionAdapter
{
panel.setCameraPoint(new Point2D.Double(panel.getCameraPoint().getX() + (panel.getLastMousePosition().getX() - e.getX()), panel.getCameraPoint().getY() + (panel.getLastMousePosition().getY() - e.getY())));
}
panel.repaint();
panel.setLastMousePosition(e.getPoint());
panel.setLastClickPosition(clickPoint);
@@ -82,7 +83,7 @@ public class MouseMotion extends MouseMotionAdapter
private void resizeBigger()
{
double scale = panel.getDragObject().getScale() + 0.05;
panel.getDragObject().setScale(scale);
panel.getDragObject().setPosition(new Point2D.Double(panel.getDragObject().getPosition().getX(), panel.getDragObject().getPosition().getY() - 5));
@@ -96,6 +97,7 @@ public class MouseMotion extends MouseMotionAdapter
double scale = panel.getDragObject().getScale() - 0.05;
panel.getDragObject().setScale(scale);
panel.getDragObject().setPosition(new Point2D.Double(panel.getDragObject().getPosition().getX() - clickPoint.getX(), panel.getDragObject().getPosition().getY() - clickPoint.getY()));
}
}
}
+22 -17
View File
@@ -7,41 +7,46 @@ import java.awt.geom.Point2D;
import Applicatie.DrawObject;
import Applicatie.Panel;
public class MouseWheel implements MouseWheelListener {
public class MouseWheel implements MouseWheelListener
{
private Panel panel;
private int scrollfactor;
public MouseWheel(Panel panel) {
public MouseWheel(Panel panel)
{
this.panel = panel;
scrollfactor = 20;
}
public void mouseWheelMoved(MouseWheelEvent e) {
if (e.getY() < 150) {
public void mouseWheelMoved(MouseWheelEvent e)
{
if (e.getY() < 150)
{
if (e.getPreciseWheelRotation() < 0) {
if (panel.getScrollfactor() + scrollfactor
+ panel.getPanelInfoLength() < panel.getWidth()) {
panel.setScrollfactor(panel.getScrollfactor()
+ scrollfactor);
if (e.getPreciseWheelRotation() < 0)
{
if (panel.getScrollfactor() + scrollfactor + panel.getPanelInfoLength() < panel.getWidth())
{
panel.setScrollfactor(panel.getScrollfactor() + scrollfactor);
}
} else {
if (panel.getScrollfactor() - scrollfactor >= 0) {
panel.setScrollfactor(panel.getScrollfactor()
- scrollfactor);
} else
{
if (panel.getScrollfactor() - scrollfactor >= 0)
{
panel.setScrollfactor(panel.getScrollfactor() - scrollfactor);
}
}
} else {
} else
{
// cameraPoint
double cameraScale = panel.getCameraScale() * 1
- (e.getPreciseWheelRotation() / 10);
double cameraScale = panel.getCameraScale() * 1 - (e.getPreciseWheelRotation() / 10);
panel.setCameraScale((float) cameraScale);
}
panel.repaint();
}
}
}