| Attached Files | mousewheelsupport.patch [^] (2,538 bytes) 2010-09-14 22:03 [Show Content] [Hide Content]diff --git a/Wrapping/Java/vtk/vtkCanvas.java b/Wrapping/Java/vtk/vtkCanvas.java
index 894a8aa..a44efba 100644
--- a/Wrapping/Java/vtk/vtkCanvas.java
+++ b/Wrapping/Java/vtk/vtkCanvas.java
@@ -4,7 +4,7 @@ import javax.swing.Timer;
import java.awt.*;
import java.awt.event.*;
-public class vtkCanvas extends vtkPanel implements MouseListener, MouseMotionListener, KeyListener
+public class vtkCanvas extends vtkPanel implements MouseListener, MouseMotionListener, KeyListener, MouseWheelListener
{
protected vtkGenericRenderWindowInteractor iren = new vtkGenericRenderWindowInteractor();
protected Timer timer = new Timer(10, new DelayAction());
@@ -262,6 +262,22 @@ public class vtkCanvas extends vtkPanel implements MouseListener, MouseMotionLis
public void keyReleased(KeyEvent e) {}
+ public void mouseWheelMoved(MouseWheelEvent e)
+ {
+ ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1:0;
+ shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1:0;
+
+ iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed,
+ shiftPressed, '0', 0, "0");
+
+ Lock();
+ if (e.getWheelRotation() > 0)
+ iren.MouseWheelBackwardEvent();
+ else
+ iren.MouseWheelForwardEvent();
+ UnLock();
+ }
+
private class DelayAction implements ActionListener {
public void actionPerformed(ActionEvent evt) {
Lock();
diff --git a/Wrapping/Java/vtk/vtkPanel.java b/Wrapping/Java/vtk/vtkPanel.java
index 6399aab..a69f33b 100644
--- a/Wrapping/Java/vtk/vtkPanel.java
+++ b/Wrapping/Java/vtk/vtkPanel.java
@@ -7,7 +7,8 @@ import javax.swing.SwingUtilities;
public class vtkPanel extends Canvas implements
MouseListener,
MouseMotionListener,
- KeyListener
+ KeyListener,
+ MouseWheelListener
{
protected vtkRenderWindow rw = new vtkRenderWindow();
protected vtkRenderer ren = new vtkRenderer();
@@ -68,6 +69,7 @@ public class vtkPanel extends Canvas implements
addMouseListener(this);
addMouseMotionListener(this);
addKeyListener(this);
+ addMouseWheelListener(this);
super.setSize(200,200);
rw.SetSize(200,200);
addWindowSetObserver(new WindowSetObserver());
@@ -458,6 +460,8 @@ public class vtkPanel extends Canvas implements
public void keyReleased(KeyEvent e) {}
+ public void mouseWheelMoved(MouseWheelEvent e) {}
+
private class WindowObservable extends Observable {
public void notifyObservers() {
|