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 | |
| parent | This seems to work (diff) | |
Bugfix drawing zoom rectangle
| -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); | 
