In convert.c, corrected imagetobmp() conversion for grayscale. In tcd.c, corrected...
[openjpeg.git] / j2kviewer / src / MML.java
1 import java.awt.event.*;
2
3 class MML implements MouseMotionListener, MouseListener
4 {
5   public void mouseExited(MouseEvent e) {}
6   public void mouseEntered(MouseEvent e) {}
7   public void mouseClicked(MouseEvent e) {}
8   
9   private ImageViewer applet;
10   private int x1, y1, x2, y2, zf, btn;
11   private boolean zoomrq;
12   
13   public MML(ImageViewer iv)
14   {
15     x1 = y1 = -1;
16     applet = iv;
17     zoomrq = false;
18     zf = 0;
19   }
20   
21   private boolean isInside(int x, int y)
22   {
23     x -= applet.getX();
24     y -= applet.getY();
25     return (x >= 0) && (x < applet.getWidth())
26         && (y >= 0) && (y < applet.getHeight());
27   }
28
29   public void mousePressed(MouseEvent e)
30   {
31     btn = e.getButton();
32     if (applet.isInsideRect(e.getX(), e.getY())) {
33       applet.setSelected(2);
34       applet.repaint();
35       zoomrq = true;
36     } else {
37       applet.setRGeom(0, 0, 0, 0);
38       applet.setSelected(0);
39       applet.repaint();
40       x1 = y1 = -1;
41     }
42   }
43   
44   public void mouseReleased(MouseEvent e)
45   {
46     if (zoomrq && (e.getButton() == 1)) {
47       applet.zoomIn();
48       zoomrq = false;
49     } else if (e.getButton() == 3) {
50       applet.zoomOut();
51       zoomrq = false;
52     }
53   }
54
55   public void mouseMoved(MouseEvent e)
56   {
57     applet.setSelected(applet.isInsideRect(e.getX(), e.getY()) ? 1 : 0);
58   }
59   
60   public void mouseDragged(MouseEvent e)
61   {
62     String str;
63     
64     if (btn == 1) {
65       x2 = e.getX();
66       y2 = e.getY();
67
68       applet.setSelected(0);
69       zoomrq = false;
70
71       if (isInside(x2, y2)) {
72         str = "[IN ]";
73         if (x1 == -1) {
74           x1 = x2;
75           y1 = y2;
76         } else {
77           applet.setRGeom(x1, y1, x2, y2);
78           applet.repaint();
79         }
80       } else {
81         str = "[OUT]\a";
82       }
83     }    
84   }
85 }