annotate src/samer/units/MousePosition.java @ 8:5e3cbbf173aa tip

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