aboutsummaryrefslogtreecommitdiff
path: root/Week11 Mandelbrot
diff options
context:
space:
mode:
authorCamil Staps2015-04-29 20:12:53 +0200
committerCamil Staps2015-04-29 20:12:53 +0200
commitbf1e79687a6de82177f5216ffd0bd923c74d14c9 (patch)
treeb25aefc6b0f2f7582edef60db50cbda973ccf334 /Week11 Mandelbrot
parentThis seems to work (diff)
Bugfix drawing zoom rectangle
Diffstat (limited to 'Week11 Mandelbrot')
-rw-r--r--Week11 Mandelbrot/src/com/camilstaps/mandelbrot/ZoomFrame.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/Week11 Mandelbrot/src/com/camilstaps/mandelbrot/ZoomFrame.java b/Week11 Mandelbrot/src/com/camilstaps/mandelbrot/ZoomFrame.java
index 1a48926..b7b5a68 100644
--- a/Week11 Mandelbrot/src/com/camilstaps/mandelbrot/ZoomFrame.java
+++ b/Week11 Mandelbrot/src/com/camilstaps/mandelbrot/ZoomFrame.java
@@ -23,6 +23,7 @@ public class ZoomFrame extends JFrame implements MouseListener, MouseMotionListe
private Graphics graphics;
private int start_x, start_y, old_x, old_y;
+ private boolean dragging = false;
public ZoomFrame(String s) {
super(s);
@@ -85,6 +86,8 @@ public class ZoomFrame extends JFrame implements MouseListener, MouseMotionListe
}
mandelbrotController.redraw();
+
+ dragging = false;
}
@Override
@@ -99,9 +102,12 @@ public class ZoomFrame extends JFrame implements MouseListener, MouseMotionListe
public void mouseDragged(MouseEvent me) {
Graphics g = getSafeGraphics();
if (g != null) {
- eraseZoombox();
+ if (dragging) {
+ eraseZoombox();
+ }
g.drawRect(start_x, start_y, me.getX() - start_x, me.getX() - start_x);
old_y = old_x = me.getX();
+ dragging = true;
}
}
@@ -114,6 +120,8 @@ public class ZoomFrame extends JFrame implements MouseListener, MouseMotionListe
}
private void eraseZoombox() {
+ if (start_x < 0 || start_y < 0 || old_x < 0 || old_y < 0)
+ return;
Graphics g = getSafeGraphics();
if (g != null)
g.drawRect(start_x, start_y, old_x - start_x, old_y - start_x);