diff options
author | Camil Staps | 2015-04-29 20:12:53 +0200 |
---|---|---|
committer | Camil Staps | 2015-04-29 20:12:53 +0200 |
commit | bf1e79687a6de82177f5216ffd0bd923c74d14c9 (patch) | |
tree | b25aefc6b0f2f7582edef60db50cbda973ccf334 /Week11 Mandelbrot | |
parent | This seems to work (diff) |
Bugfix drawing zoom rectangle
Diffstat (limited to 'Week11 Mandelbrot')
-rw-r--r-- | Week11 Mandelbrot/src/com/camilstaps/mandelbrot/ZoomFrame.java | 10 |
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); |