Mercurial > hg > jslab
view 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 |
line wrap: on
line source
package samer.units; import samer.core.*; import samer.core.types.*; import samer.maths.*; import java.awt.*; import java.awt.event.*; public class MousePosition implements MouseListener, MouseMotionListener { private Node node; private Component comp; private VDouble x, y; private VBoolean button; public MousePosition( Component c) { node = new Node("mouse"); Shell.push(node); x = new VDouble( "x"); y = new VDouble( "y"); button = new VBoolean("button",false); comp=c; comp.addMouseListener(this); } public void dispose() { if (button.value) comp.removeMouseMotionListener(this); comp.removeMouseListener(this); x.dispose(); y.dispose(); } // mouse event handlers public void mouseClicked( MouseEvent e) {} public void mouseEntered( MouseEvent e) {} public void mouseExited( MouseEvent e) {} public void mousePressed( MouseEvent e) { button.value=true; button.changed(); comp.addMouseMotionListener(this); } public void mouseReleased( MouseEvent e) { button.value=false; button.changed(); comp.removeMouseMotionListener(this); } // mouse motion handler public void mouseDragged( MouseEvent e) { x.set(e.getX()); y.set(e.getY()); } public void mouseMoved( MouseEvent e) { x.set(e.getX()); y.set(e.getY()); } }