comparison src/samer/units/MousePosition.java @ 0:bf79fb79ee13

Initial Mercurial check in.
author samer
date Tue, 17 Jan 2012 17:50:20 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:bf79fb79ee13
1 package samer.units;
2
3 import samer.core.*;
4 import samer.core.types.*;
5 import samer.maths.*;
6 import java.awt.*;
7 import java.awt.event.*;
8
9 public class MousePosition implements MouseListener, MouseMotionListener
10 {
11 private Node node;
12 private Component comp;
13 private VDouble x, y;
14 private VBoolean button;
15
16 public MousePosition( Component c)
17 {
18 node = new Node("mouse");
19
20 Shell.push(node);
21 x = new VDouble( "x");
22 y = new VDouble( "y");
23 button = new VBoolean("button",false);
24
25 comp=c;
26 comp.addMouseListener(this);
27 }
28
29 public void dispose() {
30 if (button.value) comp.removeMouseMotionListener(this);
31 comp.removeMouseListener(this);
32 x.dispose();
33 y.dispose();
34 }
35
36 // mouse event handlers
37 public void mouseClicked( MouseEvent e) {}
38 public void mouseEntered( MouseEvent e) {}
39 public void mouseExited( MouseEvent e) {}
40 public void mousePressed( MouseEvent e) {
41 button.value=true;
42 button.changed();
43 comp.addMouseMotionListener(this);
44 }
45
46 public void mouseReleased( MouseEvent e) {
47 button.value=false;
48 button.changed();
49 comp.removeMouseMotionListener(this);
50 }
51
52 // mouse motion handler
53 public void mouseDragged( MouseEvent e) {
54 x.set(e.getX()); y.set(e.getY());
55 }
56 public void mouseMoved( MouseEvent e) {
57 x.set(e.getX()); y.set(e.getY());
58 }
59 }
60