Mercurial > hg > jslab
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 |