From: <ha...@us...> - 2009-11-18 18:42:37
|
Revision: 11753 http://jmol.svn.sourceforge.net/jmol/?rev=11753&view=rev Author: hansonr Date: 2009-11-18 18:42:30 +0000 (Wed, 18 Nov 2009) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-11-18 18:31:20 UTC (rev 11752) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-11-18 18:42:30 UTC (rev 11753) @@ -394,7 +394,7 @@ else if (isZoomArea(x)) checkMotionRotateZoom(Binding.getMouseAction(1, Binding.LEFT), 0, 0, 0); else - checkMotion(Viewer.CURSOR_DEFAULT); + viewer.setCursor(Viewer.CURSOR_DEFAULT); } void mouseWheel(long time, int rotation, int mods) { @@ -469,7 +469,8 @@ viewer.script("select selected or " + s); else if (isBound(action, ACTION_selectAndNot)) viewer.script("select selected and not " + s); - else // ACTION_selectToggle + else + // ACTION_selectToggle viewer.script("select selected tog " + s); } viewer.refresh(3, "mouseReleased"); @@ -478,23 +479,26 @@ rectRubber.x = Integer.MAX_VALUE; if (previousPressedX != x || previousPressedY != y) viewer.notifyMouseClicked(x, y, Binding.getMouseAction(pressedCount, 0)); - if (drawMode && ( - isBound(action, ACTION_dragDrawObject) - || isBound(action, ACTION_dragDrawPoint)) - || labelMode && isBound(action, ACTION_dragLabel)) { + if (drawMode + && (isBound(action, ACTION_dragDrawObject) || isBound(action, + ACTION_dragDrawPoint)) || labelMode + && isBound(action, ACTION_dragLabel)) { viewer.checkObjectDragged(Integer.MAX_VALUE, 0, x, y, action); return; } if (dragSelectedMode) viewer.moveSelected(Integer.MAX_VALUE, 0, 0, 0, false); - if (viewer.getBooleanProperty("allowGestures")) - if (dragGesture.getTimeDifference(2) <= MININUM_GESTURE_DELAY_MILLISECONDS - && dragGesture.getPointCount(10, 5) == 10 - && isBound(action, ACTION_dragSpin)) { - float speed = dragGesture.getSpeedPixelsPerMillisecond(10, 5); - viewer.spinXYBy(dragGesture.getDX(10, 5), dragGesture.getDY(10,5), speed * 30); - return; + if (viewer.getBooleanProperty("allowGestures")) { + if (isBound(action, ACTION_dragSpin)) { + if (dragGesture.getTimeDifference(2) <= MININUM_GESTURE_DELAY_MILLISECONDS + && dragGesture.getPointCount(10, 5) == 10) { + float speed = dragGesture.getSpeedPixelsPerMillisecond(10, 5); + viewer.spinXYBy(dragGesture.getDX(10, 5), dragGesture.getDY(10, 5), + speed * 30); + return; + } } + } } private boolean isRubberBandSelect(int action) { @@ -514,13 +518,13 @@ xCurrent = previousDragX = x; yCurrent = previousDragY = y; int action = Binding.getMouseAction(pressedCount, mods); + dragGesture.add(action, x, y, time); checkAction(action, x, y, deltaX, deltaY, time); } private void checkAction(int action, int x, int y, int deltaX, int deltaY, long time) { int mods = Binding.getModifiers(action); - dragGesture.add(action, x, y, time); if (Binding.getModifiers(action) != 0) { int newAction = viewer.notifyMouseClicked(x, y, Binding.getMouseAction(-pressedCount, mods)); if (newAction == 0) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-11-20 13:52:10
|
Revision: 11767 http://jmol.svn.sourceforge.net/jmol/?rev=11767&view=rev Author: hansonr Date: 2009-11-20 13:52:03 +0000 (Fri, 20 Nov 2009) Log Message: ----------- version=11.9.9_dev # new feature: preliminary customizable mouse bindings: # # bind "MOUSE-ACTION" actionName|"...some script..." # unbind ["MOUSE-ACTION"|all] [actionName|all|"...some script..."] # # mouse actions include: # # CTRL ALT SHIFT LEFT RIGHT MIDDLE WHEEL DOUBLE SINGLE # # action names include: # # _rotate _wheelZoom _rotateZ _rotateZorZoom _translate _slideZoom # _dragSelected _rotateSelected _dragLabel _dragDrawPoint _dragDrawObject # _swipe _spinDrawObjectCW _spinDrawObjectCCW _slab _depth _slabAndDepth # _popupMenu _clickFrank _navTranslate _pickAtom _pickPoint _pickLabel # _pickMeasure _setMeasure _pickIsosurface _pickNavigate _select # _selectNone _selectToggle _selectAndNot _selectOr _selectToggleOr # _reset # # for example: # # bind "CTRL-ALT-LEFT" _popupMenu # unbind "CTRL-ALT-LEFT" _popupMenu # unbind _clickFrank # unbind "CTRL-ALT-LEFT" # # Note that by binding a script to the mouse action, you can divert # Jmol's action to be your own. The script can contain variables # _X, _Y, _DELTAX, _DELTAY, _TIME, and _MODE # which will be filled with data. _MODE values include: # 0 (mouse pressed) # 1 (mouse dragged) # 2 (mouse released) # 3 (mouse wheeled) # Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-11-20 13:48:02 UTC (rev 11766) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-11-20 13:52:03 UTC (rev 11767) @@ -213,8 +213,15 @@ public static final int ACTION_selectAndNot = 30; public static final int ACTION_selectOr = 31; public static final int ACTION_selectToggleExtended = 32; - public final static int ACTION_reset = 33; + public final static int ACTION_count = 34; + + static { + if (actionNames.length != ACTION_count) + System.out.println("ERROR IN ActionManager: actionNames length?"); + if (actionInfo.length != ACTION_count) + System.out.println("ERROR IN ActionManager: actionInfo length?"); + } final static float ZOOM_FACTOR = 1.02f; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-11-26 17:01:54
|
Revision: 11802 http://jmol.svn.sourceforge.net/jmol/?rev=11802&view=rev Author: hansonr Date: 2009-11-26 17:01:46 +0000 (Thu, 26 Nov 2009) Log Message: ----------- version=11.9.10_dev # new feature: set timeout "name" mSecDelay "script" # if mSecDelay > 0, then the script runs once # if mSecDelay < 0, then the script runs every -mSecDelay milliseconds # if mSecDelay = 0 or script is "", cancels the named timeout # new feature: set timeout "name" OFF # cancels the named timeout # new feature: set timeout OFF # cancels all current timeouts # new feature: show timeouts displays currently set timeout information Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-11-26 16:28:23 UTC (rev 11801) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-11-26 17:01:46 UTC (rev 11802) @@ -1010,9 +1010,11 @@ continue; status++; targetTime += Math.abs(ms); + if (ms > 0) + timeouts.remove(name); if (Logger.debugging) viewer.script(script); - else + else viewer.evalStringQuiet(script); if (ms > 0) break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ahe...@us...> - 2009-12-01 21:00:59
|
Revision: 11828 http://jmol.svn.sourceforge.net/jmol/?rev=11828&view=rev Author: aherraez Date: 2009-12-01 21:00:50 +0000 (Tue, 01 Dec 2009) Log Message: ----------- typo Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-01 18:51:32 UTC (rev 11827) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-01 21:00:50 UTC (rev 11828) @@ -52,7 +52,7 @@ GT._("rotate"), GT._("zoom"), GT._("rotate Z"), - GT._("rotate Z (horizontal motion of mouse) or zoom (vertical motion of moouse)"), + GT._("rotate Z (horizontal motion of mouse) or zoom (vertical motion of mouse)"), GT._("translate"), //5 GT._("zoom (along right edge of window)"), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-12-02 00:18:54
|
Revision: 11831 http://jmol.svn.sourceforge.net/jmol/?rev=11831&view=rev Author: hansonr Date: 2009-12-02 00:16:52 +0000 (Wed, 02 Dec 2009) Log Message: ----------- better wording. Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-02 00:14:36 UTC (rev 11830) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-02 00:16:52 UTC (rev 11831) @@ -87,8 +87,8 @@ "SET PICKINGSTYLE DRAG/EXTENDEDSELECT/RASMOL"}), //30 GT._("click and drag to unselect this group of atoms (requires {0})", "DRAG/EXTENDEDSELECT"), - GT._("click and drag to select selected OR this group of atoms (requires {0})", "SET PICKINGSTYLE DRAG/EXTENDEDSELECT"), - GT._("if all are selected, unselect all, otherwise select if not selected (requires {0})", "SET PICKINGSTYLE DRAG"), + GT._("click and drag to add this group of atoms to the set of selected atoms (requires {0})", "SET PICKINGSTYLE DRAG/EXTENDEDSELECT"), + GT._("if all are selected, unselect all, otherwise add this group of atoms to the set of selected atoms (requires {0})", "SET PICKINGSTYLE DRAG"), GT._("reset (when clicked off the model)"), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-12-02 15:32:12
|
Revision: 11834 http://jmol.svn.sourceforge.net/jmol/?rev=11834&view=rev Author: hansonr Date: 2009-12-02 15:32:05 +0000 (Wed, 02 Dec 2009) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-02 13:40:07 UTC (rev 11833) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-02 15:32:05 UTC (rev 11834) @@ -287,17 +287,52 @@ protected Thread hoverWatcherThread; - protected int previousDragX, previousDragY; - protected int xCurrent = -1000; - protected int yCurrent = -1000; + protected class Mouse { + protected int x = -1000; + protected int y = -1000; + protected int modifiers = 0; + protected long time = -1; + + protected void set(long time, int x, int y, int modifiers) { + this.time = time; + this.x = x; + this.y = y; + this.modifiers = modifiers; + } + + protected void setCurrent() { + time = current.time; + x = current.x; + y = current.y; + modifiers = current.modifiers; + } + + public boolean check(int x, int y, int modifiers, long time, long delayMax) { + return (this.x == x && this.y == y && this.modifiers == modifiers + && (time - this.time) < delayMax); + } + } + + protected final Mouse current = new Mouse(); + protected final Mouse moved = new Mouse(); + private final Mouse clicked = new Mouse(); + private final Mouse pressed = new Mouse(); + private final Mouse dragged = new Mouse(); + + protected void setCurrent(long time, int x, int y, int mods) { + hoverOff(); + current.set(time, x, y, mods); + } + int getCurrentX() { - return xCurrent; + return current.x; } int getCurrentY() { - return yCurrent; + return current.y; } - protected long timeCurrent = -1; + protected int pressedCount; + private int clickedCount; private boolean drawMode = false; private boolean labelMode = false; @@ -310,18 +345,6 @@ private boolean rubberbandSelectionMode = false; private final Rectangle rectRubber = new Rectangle(); - private int previousClickX, previousClickY; - private int previousClickModifiers, previousClickCount; - private long previousClickTime; - - private int previousPressedX, previousPressedY; - private int previousPressedModifiers; - private long previousPressedTime; - protected int pressedCount; - - protected int mouseMovedX, mouseMovedY; - protected long mouseMovedTime; - boolean isAltKeyReleased = true; private boolean keyProcessing; @@ -343,14 +366,14 @@ if (isStart) { if (hoverWatcherThread != null) return; - timeCurrent = -1; + current.time = -1; hoverWatcherThread = new Thread(new HoverWatcher()); hoverWatcherThread.setName("HoverWatcher"); hoverWatcherThread.start(); } else { if (hoverWatcherThread == null) return; - timeCurrent = -1; + current.time = -1; hoverWatcherThread.interrupt(); hoverWatcherThread = null; } @@ -365,8 +388,6 @@ } } - private int mouseMovedModifiers = 0; - /** * called by MouseManager.keyPressed * @param ke @@ -381,17 +402,17 @@ if (dragSelectedMode && isAltKeyReleased) viewer.moveSelected(Integer.MIN_VALUE, 0, 0, 0, false); isAltKeyReleased = false; - mouseMovedModifiers |= Binding.ALT; + moved.modifiers |= Binding.ALT; break; case KeyEvent.VK_SHIFT: - mouseMovedModifiers |= Binding.SHIFT; + moved.modifiers |= Binding.SHIFT; break; case KeyEvent.VK_CONTROL: - mouseMovedModifiers |= Binding.CTRL; + moved.modifiers |= Binding.CTRL; } - int action = Binding.LEFT+Binding.SINGLE_CLICK+mouseMovedModifiers; + int action = Binding.LEFT+Binding.SINGLE_CLICK+moved.modifiers; if(!binding.isUserAction(action)) - checkMotionRotateZoom(action, xCurrent, 0, 0, false); + checkMotionRotateZoom(action, current.x, 0, 0, false); if (viewer.getNavigationMode()) { int m = ke.getModifiers(); // if (viewer.getBooleanProperty("showKeyStrokes", false)) @@ -418,15 +439,15 @@ if (dragSelectedMode) viewer.moveSelected(Integer.MAX_VALUE, 0, 0, 0, false); isAltKeyReleased = true; - mouseMovedModifiers &= ~Binding.ALT; + moved.modifiers &= ~Binding.ALT; break; case KeyEvent.VK_SHIFT: - mouseMovedModifiers &= ~Binding.SHIFT; + moved.modifiers &= ~Binding.SHIFT; break; case KeyEvent.VK_CONTROL: - mouseMovedModifiers &= ~Binding.CTRL; + moved.modifiers &= ~Binding.CTRL; } - if (mouseMovedModifiers == 0) + if (moved.modifiers == 0) viewer.setCursor(Viewer.CURSOR_DEFAULT); if (!viewer.getNavigationMode()) return; @@ -443,11 +464,11 @@ } void mouseEntered(long time, int x, int y) { - setCurrent(time, x, y, false); + setCurrent(time, x, y, 0); } void mouseExited(long time, int x, int y) { - setCurrent(time, x, y, false); + setCurrent(time, x, y, 0); exitMeasurementMode(); } @@ -479,32 +500,19 @@ exitMeasurementMode(); } - void mouseClicked(long time, int x, int y, int modifiers, int clickCount) { - // clickCount is not reliable on some platforms - // so we will just deal with it ourselves - //viewer.setStatusUserAction("mouseClicked: " + modifiers); + void mouseClicked(long time, int x, int y, int modifiers) { setMouseMode(); - setCurrent(time, x, y, false); - clickCount = 1; - if (previousClickX == x && previousClickY == y - && previousClickModifiers == modifiers - && (time - previousClickTime) < MAX_DOUBLE_CLICK_MILLIS) { - clickCount = previousClickCount + 1; - } - previousClickX = x; - previousClickY = y; - previousClickModifiers = modifiers; - previousClickCount = clickCount; - previousClickTime = time; + setCurrent(time, x, y, modifiers); + clickedCount = (clicked.check(x, y, modifiers, time, MAX_DOUBLE_CLICK_MILLIS) + ? clickedCount + 1 : 1); + clicked.setCurrent(); setFocus(); - checkPointOrAtomClicked(x, y, modifiers, clickCount); + checkPointOrAtomClicked(x, y, modifiers, clickedCount); } void mouseMoved(long time, int x, int y, int modifiers) { - hoverOff(); - timeCurrent = mouseMovedTime = time; - mouseMovedX = xCurrent = x; - mouseMovedY = yCurrent = y; + setCurrent(time, x, y, modifiers); + moved.setCurrent(); if (measurementPending != null || hoverActive) checkPointOrAtomClicked(x, y, 0, 0); else if (isZoomArea(x)) @@ -518,28 +526,16 @@ return; // sun bug? noted by Charles Xie that wheeling on a Java page // effected inappropriate wheeling on this Java component - hoverOff(); - timeCurrent = time; - int deltaX = 0; - int deltaY = rotation; - int x = previousDragX; - int y = previousDragY; - checkAction(Binding.getMouseAction(0, mods), x, y, deltaX, deltaY, time, 3); + setCurrent(time, current.x, current.y, mods); + checkAction(Binding.getMouseAction(0, mods), current.x, current.y, 0, rotation, time, 3); } void mousePressed(long time, int x, int y, int mods) { - setCurrent(time, x, y, false); - if (previousPressedX == x && previousPressedY == y - && previousPressedModifiers == mods - && (time - previousPressedTime) < MAX_DOUBLE_CLICK_MILLIS) { - ++pressedCount; - } else { - pressedCount = 1; - } - previousPressedX = previousDragX = x; - previousPressedY = previousDragY = y; - previousPressedModifiers = mods; - previousPressedTime = time; + setCurrent(time, x, y, mods); + pressedCount = (pressed.check(x, y, mods, time, MAX_DOUBLE_CLICK_MILLIS) + ? pressedCount + 1 : 1); + pressed.setCurrent(); + dragged.setCurrent(); setFocus(); int action = Binding.getMouseAction(pressedCount, mods); dragGesture.setAction(action, time); @@ -576,20 +572,19 @@ void mouseDragged(long time, int x, int y, int mods) { setMouseMode(); - int deltaX = x - previousDragX; - int deltaY = y - previousDragY; - previousDragX = x; - previousDragY = y; - setCurrent(time, x, y, false); + int deltaX = x - dragged.x; + int deltaY = y - dragged.y; + setCurrent(time, x, y, mods); + dragged.setCurrent(); int action = Binding.getMouseAction(pressedCount, mods); dragGesture.add(action, x, y, time); checkAction(action, x, y, deltaX, deltaY, time, 1); } void mouseReleased(long time, int x, int y, int mods) { - setCurrent(time, x, y, true); - boolean dragRelease = (pressedCount == 1 && - (previousPressedX != x || previousPressedY != y)); + setCurrent(time, x, y, mods); + viewer.spinXYBy(0, 0, 0); + boolean dragRelease = !pressed.check(x, y, mods, time, Long.MAX_VALUE); viewer.setInMotion(false); viewer.setCursor(Viewer.CURSOR_DEFAULT); int action = Binding.getMouseAction(pressedCount, mods); @@ -640,15 +635,6 @@ } } - protected void setCurrent(long time, int x, int y, boolean resetSpin) { - hoverOff(); - timeCurrent = time; - xCurrent = x; - yCurrent = y; - if (resetSpin) - viewer.spinXYBy(0, 0, 0); - } - private boolean isRubberBandSelect(int action) { return rubberbandSelectionMode && ( isBound(action, ACTION_selectToggle) @@ -664,19 +650,19 @@ } private void calcRectRubberBand() { - if (xCurrent < previousPressedX) { - rectRubber.x = xCurrent; - rectRubber.width = previousPressedX - xCurrent; + if (current.x < pressed.x) { + rectRubber.x = current.x; + rectRubber.width = pressed.x - current.x; } else { - rectRubber.x = previousPressedX; - rectRubber.width = xCurrent - previousPressedX; + rectRubber.x = pressed.x; + rectRubber.width = current.x - pressed.x; } - if (yCurrent < previousPressedY) { - rectRubber.y = yCurrent; - rectRubber.height = previousPressedY - yCurrent; + if (current.y < pressed.y) { + rectRubber.y = current.y; + rectRubber.height = pressed.y - current.y; } else { - rectRubber.y = previousPressedY; - rectRubber.height = yCurrent - previousPressedY; + rectRubber.y = pressed.y; + rectRubber.height = current.y - pressed.y; } } @@ -731,7 +717,7 @@ || isBound(action, ACTION_dragDrawPoint)) || labelMode && isBound(action, ACTION_dragLabel)) { checkMotion(Viewer.CURSOR_MOVE); - viewer.checkObjectDragged(previousDragX, previousDragY, x, y, + viewer.checkObjectDragged(dragged.x, dragged.y, x, y, action); return; } @@ -821,7 +807,7 @@ if (isRotateZorZoom) isZoom = (deltaX == 0 || Math.abs(deltaY) > 5 * Math.abs(deltaX)); if (isSlideZoom) - isZoom = isZoomArea(mouseMovedX); + isZoom = isZoomArea(moved.x); int cursor = (isZoom || isBound(action, ACTION_wheelZoom) ? Viewer.CURSOR_ZOOM : isRotateXY || isRotateZorZoom ? Viewer.CURSOR_MOVE : Viewer.CURSOR_DEFAULT); viewer.setCursor(cursor); @@ -835,12 +821,12 @@ } private void checkPointOrAtomClicked(int x, int y, int mods, - int clickCount) { + int clickedCount) { if (!viewer.haveModelSet()) return; // points are always picked up first, then atoms // so that atom picking can be superceded by draw picking - int action = Binding.getMouseAction(clickCount, mods); + int action = Binding.getMouseAction(clickedCount, mods); if (action != 0) { action = viewer.notifyMouseClicked(x, y, action); if (action == 0) @@ -852,11 +838,11 @@ return; int nearestAtomIndex = (drawMode || nearestPoint != null ? -1 : viewer .findNearestAtomIndex(x, y)); - if (nearestAtomIndex >= 0 && (clickCount > 0 || measurementPending == null) + if (nearestAtomIndex >= 0 && (clickedCount > 0 || measurementPending == null) && !viewer.isInSelectionSubset(nearestAtomIndex)) nearestAtomIndex = -1; - if (clickCount == 0) { + if (clickedCount == 0) { // mouse move if (measurementPending == null) return; @@ -884,7 +870,7 @@ if (measurementPending != null && isBound(action, ACTION_pickMeasure)) { atomPicked(nearestAtomIndex, nearestPoint, action); if (addToMeasurement(nearestAtomIndex, nearestPoint, false) == 4) { - previousClickCount = 0; + clickedCount = 0; toggleMeasurement(); } return; @@ -1058,7 +1044,7 @@ } void hoverOn(int atomIndex) { - viewer.hoverOn(atomIndex, Binding.getMouseAction(previousClickCount, mouseMovedModifiers)); + viewer.hoverOn(atomIndex, Binding.getMouseAction(clickedCount, moved.modifiers)); } void hoverOff() { @@ -1076,16 +1062,16 @@ try { while (Thread.currentThread().equals(hoverWatcherThread) && (hoverDelay = viewer.getHoverDelay()) > 0) { Thread.sleep(hoverDelay); - if (xCurrent == mouseMovedX && yCurrent == mouseMovedY - && timeCurrent == mouseMovedTime) { // the last event was mouse + if (current.x == moved.x && current.y == moved.y + && current.time == moved.time) { // the last event was mouse // move long currentTime = System.currentTimeMillis(); - int howLong = (int) (currentTime - mouseMovedTime); + int howLong = (int) (currentTime - moved.time); if (howLong > hoverDelay) { if (Thread.currentThread().equals(hoverWatcherThread) && !viewer.getInMotion() && !viewer.getSpinOn() && !viewer.getNavOn() - && !viewer.checkObjectHovered(xCurrent, yCurrent)) { - int atomIndex = viewer.findNearestAtomIndex(xCurrent, yCurrent); + && !viewer.checkObjectHovered(current.x, current.y)) { + int atomIndex = viewer.findNearestAtomIndex(current.x, current.y); if (atomIndex >= 0) { hoverOn(atomIndex); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-12-02 19:55:39
|
Revision: 11843 http://jmol.svn.sourceforge.net/jmol/?rev=11843&view=rev Author: hansonr Date: 2009-12-02 19:55:31 +0000 (Wed, 02 Dec 2009) Log Message: ----------- version=11.9.10_dev # new feature: double-click-drag translates model # new feature: multitouch gesture antiparallel strokes: rotate at point # new feature: multitouch gesture spread/pinch: zoom in/out at point # new feature: app command parameter [-M or --multitouch] "sparshui" or "sparshui-simulated" # applet jmolSetCallback("multiTouchSparshUI", "true") # applet jmolSetCallback("multiTouchSparshUI-simulated", "true") # with those variables set, Jmol will load the multitouch package and start # an integrated SparshUI server (if none is already started). In addition, # with the -simulated flag, Jmol simulates multitouch using CTRL-LEFT drag (twice) # This incorporation of SparshUI also demonstrates the on-the-fly loading # of a client gesture into the SparshUI system using an extension of the # SparshUI protocol that allows delivery of a class name rather than a SparshUI # gesture ordinal. # # code: ActionManagerMT - for multitouch # code: preliminary org.jmol.multitouch package # code: preliminary com.sparshui package (I've been assured this is LGPL # despite the GPL license in the direcory) # Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-02 19:47:56 UTC (rev 11842) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-02 19:55:31 UTC (rev 11843) @@ -583,6 +583,7 @@ int deltaY = y - dragged.y; setCurrent(time, x, y, mods); dragged.setCurrent(); + exitMeasurementMode(); int action = Binding.getMouseAction(pressedCount, mods); dragGesture.add(action, x, y, time); checkAction(action, x, y, deltaX, deltaY, time, 1); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-12-03 19:53:10
|
Revision: 11851 http://jmol.svn.sourceforge.net/jmol/?rev=11851&view=rev Author: hansonr Date: 2009-12-03 19:52:15 +0000 (Thu, 03 Dec 2009) Log Message: ----------- better wording -- dissociates text from default action Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-03 19:47:21 UTC (rev 11850) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-03 19:52:15 UTC (rev 11851) @@ -87,8 +87,8 @@ //30 GT._("toggle selection (requires {0} or {1})", new String[] { "SET PICKINGSTYLE DRAG/EXTENDEDSELECT/RASMOL"}), - GT._("click and drag to unselect this group of atoms (requires {0})", "DRAG/EXTENDEDSELECT"), - GT._("click and drag to add this group of atoms to the set of selected atoms (requires {0})", "SET PICKINGSTYLE DRAG/EXTENDEDSELECT"), + GT._("unselect this group of atoms (requires {0})", "SET PICKINGSTYLE DRAG/EXTENDEDSELECT"), + GT._("add this group of atoms to the set of selected atoms (requires {0})", "SET PICKINGSTYLE DRAG/EXTENDEDSELECT"), GT._("if all are selected, unselect all, otherwise add this group of atoms to the set of selected atoms (requires {0})", "SET PICKINGSTYLE DRAG"), GT._("reset (when clicked off the model)"), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-12-11 03:01:19
|
Revision: 11892 http://jmol.svn.sourceforge.net/jmol/?rev=11892&view=rev Author: hansonr Date: 2009-12-11 03:01:05 +0000 (Fri, 11 Dec 2009) Log Message: ----------- somewhat more dramatic spinning flick Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-11 02:45:20 UTC (rev 11891) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2009-12-11 03:01:05 UTC (rev 11892) @@ -632,7 +632,6 @@ if (viewer.getBooleanProperty("allowGestures")) { if (isBound(action, ACTION_swipe)) { - System.out.println("ActionManager allowGestures=true and swipe"); if (dragGesture.getTimeDifference(2) <= MININUM_GESTURE_DELAY_MILLISECONDS && dragGesture.getPointCount(10, 5) == 10) { float speed = dragGesture.getSpeedPixelsPerMillisecond(10, 5); @@ -1392,8 +1391,8 @@ return 0; MotionPoint mp1 = getNode(ptNext - 1 - nPointsPrevious); MotionPoint mp0 = getNode(ptNext - nPoints - nPointsPrevious); - float dx = ((float) (mp1.x - mp0.x)) / viewer.getScreenWidth() * 180; - float dy = ((float) (mp1.y - mp0.y)) / viewer.getScreenHeight() * 180; + float dx = ((float) (mp1.x - mp0.x)) / viewer.getScreenWidth() * 360; + float dy = ((float) (mp1.y - mp0.y)) / viewer.getScreenHeight() * 360; float speed = (float) Math.sqrt(dx * dx + dy * dy) / (mp1.time - mp0.time); return speed; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2010-02-02 04:13:45
|
Revision: 12295 http://jmol.svn.sourceforge.net/jmol/?rev=12295&view=rev Author: hansonr Date: 2010-02-02 04:13:39 +0000 (Tue, 02 Feb 2010) Log Message: ----------- version=11.9.24_dev # new feature: set allowMultiTouch [default TRUE] can be used to disallow multi-touch gestures Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2010-02-02 04:12:05 UTC (rev 12294) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2010-02-02 04:13:39 UTC (rev 12295) @@ -1252,7 +1252,6 @@ return; } int n = 2; - System.out.println("ActionManager atomPicked mode=" + pickingMode); switch (pickingMode) { case JmolConstants.PICKING_OFF: return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2010-08-04 19:02:43
|
Revision: 13826 http://jmol.svn.sourceforge.net/jmol/?rev=13826&view=rev Author: nicove Date: 2010-08-04 19:02:36 +0000 (Wed, 04 Aug 2010) Log Message: ----------- Java 1.5 : Generics Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2010-08-04 18:56:26 UTC (rev 13825) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2010-08-04 19:02:36 UTC (rev 13826) @@ -1395,14 +1395,14 @@ exitMeasurementMode(); } - Hashtable timeouts; + Hashtable<String, TimeoutThread> timeouts; public String showTimeout(String name) { StringBuffer sb = new StringBuffer(); if (timeouts != null) { - Enumeration e = timeouts.elements(); + Enumeration<TimeoutThread> e = timeouts.elements(); while (e.hasMoreElements()) { - TimeoutThread t = (TimeoutThread) e.nextElement(); + TimeoutThread t = e.nextElement(); if (name == null || t.name.equalsIgnoreCase(name)) sb.append(t.toString()).append("\n"); } @@ -1413,9 +1413,10 @@ public void clearTimeouts() { if (timeouts == null) return; - Enumeration e = timeouts.elements(); - while (e.hasMoreElements()) - ((Thread) e.nextElement()).interrupt(); + Enumeration<TimeoutThread> e = timeouts.elements(); + while (e.hasMoreElements()) { + e.nextElement().interrupt(); + } timeouts.clear(); } @@ -1424,17 +1425,18 @@ clearTimeouts(); return; } - if (timeouts == null) - timeouts = new Hashtable(); + if (timeouts == null) { + timeouts = new Hashtable<String, TimeoutThread>(); + } if (mSec == 0) { - Thread t = (Thread) timeouts.get(name); + Thread t = timeouts.get(name); if (t != null) { t.interrupt(); timeouts.remove(name); } return; } - TimeoutThread t = (TimeoutThread) timeouts.get(name); + TimeoutThread t = timeouts.get(name); if (t != null) { t.set(mSec, script); return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2010-10-31 09:39:17
|
Revision: 14554 http://jmol.svn.sourceforge.net/jmol/?rev=14554&view=rev Author: hansonr Date: 2010-10-31 09:39:10 +0000 (Sun, 31 Oct 2010) Log Message: ----------- version=12.1.17_dev # bug fix: set picking measure SEQUENCE not reporting to application console # bug fix: (application only) distance picking not being reported in console # bug fix: set picking chain, then mouse click does not report number of atoms selected Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2010-10-31 09:38:48 UTC (rev 14553) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2010-10-31 09:39:10 UTC (rev 14554) @@ -1769,11 +1769,12 @@ resetMeasurement(); if (queueAtom(atomIndex, ptClicked) < n) return; - if (atomPickingMode == PICKING_MEASURE_SEQUENCE) + if (atomPickingMode == PICKING_MEASURE_SEQUENCE) { getSequence(); - else - viewer.setStatusMeasuring("measurePicked", n, measurementQueued - .getStringDetail(), measurementQueued.getValue()); + return; + } + viewer.setStatusMeasuring("measurePicked", n, measurementQueued + .getStringDetail(), measurementQueued.getValue()); if (atomPickingMode == PICKING_MEASURE || pickingStyleMeasure == PICKINGSTYLE_MEASURE_ON) { viewer.script("measure " @@ -1781,7 +1782,9 @@ } return; } - int mode = (measurementPending != null && atomPickingMode != PICKING_IDENTIFY ? PICKING_IDENTIFY : atomPickingMode); + int mode = (measurementPending != null + && atomPickingMode != PICKING_IDENTIFY ? PICKING_IDENTIFY + : atomPickingMode); switch (mode) { case PICKING_CENTER: if (!isBound(action, ACTION_pickAtom)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2011-06-29 14:43:38
|
Revision: 15667 http://jmol.svn.sourceforge.net/jmol/?rev=15667&view=rev Author: hansonr Date: 2011-06-29 14:43:32 +0000 (Wed, 29 Jun 2011) Log Message: ----------- check mouse click on franks before other checks Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2011-06-29 14:15:27 UTC (rev 15666) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2011-06-29 14:43:32 UTC (rev 15667) @@ -1228,6 +1228,14 @@ if (action == Binding.MOVED) return false; } + if (isBound(action, ACTION_clickFrank) && viewer.frankClicked(x, y)) { + viewer.popupMenu(-x, y, 'j'); + return false; + } + if (isBound(action, ACTION_clickFrank) && viewer.frankClickedModelKit(x, y)) { + viewer.popupMenu(0, 0, 'm'); + return false; + } Point3fi nearestPoint = null; int tokType = 0; // t.tok will let us know if this is an atom or a bond that was clicked @@ -1269,14 +1277,6 @@ // continue checking --- no need to exit here } - if (isBound(action, ACTION_clickFrank) && viewer.frankClicked(x, y)) { - viewer.popupMenu(-x, y, 'j'); - return false; - } - if (isBound(action, ACTION_clickFrank) && viewer.frankClickedModelKit(x, y)) { - viewer.popupMenu(0, 0, 'm'); - return false; - } if (viewer.getNavigationMode() && atomPickingMode == PICKING_NAVIGATE && isBound(action, ACTION_pickNavigate)) { viewer.navTranslatePercent(0f, x * 100f / viewer.getScreenWidth() - 50f, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2011-10-28 14:33:11
|
Revision: 16416 http://jmol.svn.sourceforge.net/jmol/?rev=16416&view=rev Author: hansonr Date: 2011-10-28 14:33:02 +0000 (Fri, 28 Oct 2011) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2011-10-28 14:31:17 UTC (rev 16415) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2011-10-28 14:33:02 UTC (rev 16416) @@ -2058,7 +2058,7 @@ } int add(int action, int x, int y, long time) { - System.out.println("ActionMan gesture add " + action + " " + x + " " + y + " " + time); + //System.out.println("ActionMan gesture add " + action + " " + x + " " + y + " " + time); this.action = action; getNode(ptNext).set(ptNext, x, y, time - time0); ptNext++; @@ -2076,7 +2076,7 @@ public float getSpeedPixelsPerMillisecond(int nPoints, int nPointsPrevious) { nPoints = getPointCount(nPoints, nPointsPrevious); - System.out.println("ActionMan getSpeed " + nPoints + " " + nPointsPrevious); + //System.out.println("ActionMan getSpeed " + nPoints + " " + nPointsPrevious); if (nPoints < 2) return 0; MotionPoint mp1 = getNode(ptNext - 1 - nPointsPrevious); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2012-01-22 05:54:40
|
Revision: 16678 http://jmol.svn.sourceforge.net/jmol/?rev=16678&view=rev Author: hansonr Date: 2012-01-22 05:54:34 +0000 (Sun, 22 Jan 2012) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2012-01-22 05:54:16 UTC (rev 16677) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2012-01-22 05:54:34 UTC (rev 16678) @@ -603,7 +603,7 @@ moved.modifiers |= Binding.CTRL; } int action = Binding.LEFT+Binding.SINGLE_CLICK+moved.modifiers; - if(!labelMode && !binding.isUserAction(action) && !isSelectAction(action)) + if(!labelMode && !binding.isUserAction(action) && !isSelectAction(action, true)) checkMotionRotateZoom(action, current.x, 0, 0, false); if (viewer.getNavigationMode()) { // if (viewer.getBooleanProperty("showKeyStrokes", false)) @@ -1366,7 +1366,7 @@ boolean isDragSelected = (dragSelectedMode && (isBound(action, ACTION_rotateSelected) || isBound(action, ACTION_dragSelected))); - if (isDragSelected || isSelectAction(action)) { + if (isDragSelected || isSelectAction(action, true)) { // TODO: in drawMode the binding changes if (tokType != Token.isosurface) atomOrPointPicked(nearestAtomIndex, nearestPoint, isDragSelected ? 0 : action); @@ -1380,14 +1380,15 @@ return (nearestAtomIndex >= 0); } - private boolean isSelectAction(int action) { - return (isBound(action, ACTION_pickAtom) - || isBound(action, ACTION_pickPoint) + private boolean isSelectAction(int action, boolean allowPick) { + return (allowPick && (isBound(action, ACTION_pickAtom) || isBound(action, ACTION_pickPoint)) + || isBound(action, ACTION_select) + || isBound(action, ACTION_selectToggleExtended) || isBound(action, ACTION_selectToggle) || isBound(action, ACTION_selectAndNot) || isBound(action, ACTION_selectOr) - || isBound(action, ACTION_selectToggleExtended) - || isBound(action, ACTION_select)); + + ); } protected void checkMotion(int cursor) { @@ -1743,6 +1744,7 @@ return; } int n = 2; + boolean processed = false; switch (atomPickingMode) { case PICKING_DRAG_ATOM: // this is done in mouse drag, not mouse release @@ -1827,13 +1829,15 @@ case PICKING_IDENTIFY: if (isBound(action, ACTION_pickAtom)) viewer.setStatusAtomPicked(atomIndex, null); - return; + processed = true; + break; case PICKING_LABEL: if (isBound(action, ACTION_pickLabel)) { viewer.script("set labeltoggle {atomindex=" + atomIndex + "}"); viewer.setStatusAtomPicked(atomIndex, null); } - return; + processed = true; + break; case PICKING_INVERT_STEREO: if (isBound(action, ACTION_assignNew)) { bs = viewer.getAtomBitSet("connected(atomIndex=" + atomIndex @@ -1872,7 +1876,8 @@ viewer.invertSelected(null, null, atomIndex, bs); viewer.setStatusAtomPicked(atomIndex, "inverted: " + Escape.escape(bs)); } - return; + processed = true; + break; case PICKING_DELETE_ATOM: if (isBound(action, ACTION_deleteAtom)) { bs = getSelectionSet("(" + spec + ")"); @@ -1881,10 +1886,14 @@ } return; } + if (processed && !isBound(action, ACTION_select)) + return; + // set picking select options: switch (atomPickingMode) { default: return; + case PICKING_IDENTIFY: case PICKING_SELECT_ATOM: applySelectStyle(spec, action); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2013-01-26 21:36:55
|
Revision: 17884 http://jmol.svn.sourceforge.net/jmol/?rev=17884&view=rev Author: hansonr Date: 2013-01-26 21:36:42 +0000 (Sat, 26 Jan 2013) Log Message: ----------- Drag Binding not working. Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2013-01-26 07:48:16 UTC (rev 17883) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2013-01-26 21:36:42 UTC (rev 17884) @@ -1556,7 +1556,7 @@ break; case PICKINGSTYLE_SELECT_DRAG: if (binding.getName() != "drag") - setBinding(dragBinding = (dragBinding == null ? Binding.newBinding("drag") : dragBinding)); + setBinding(dragBinding = (dragBinding == null ? Binding.newBinding("Drag") : dragBinding)); rubberbandSelectionMode = true; break; case PICKINGSTYLE_SELECT_RASMOL: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2013-07-02 14:24:24
|
Revision: 18407 http://sourceforge.net/p/jmol/code/18407 Author: hansonr Date: 2013-07-02 14:24:19 +0000 (Tue, 02 Jul 2013) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2013-07-02 14:23:50 UTC (rev 18406) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2013-07-02 14:24:19 UTC (rev 18407) @@ -676,7 +676,6 @@ private void checkAction(int action, int x, int y, int deltaX, int deltaY, long time, int mode) { int mods = Binding.getModifiers(action); - //System.out.println("checkAction " + x + " " + y + " mode " + mode + " action " + action + " mods " + mods); if (mods != 0) { int newAction = viewer.notifyMouseClicked(x, y, Binding.getMouseAction( -pressedCount, mods), mode); @@ -692,7 +691,6 @@ return; } - System.out.println("chackAction..."); if (checkUserAction(action, x, y, deltaX, deltaY, time, mode)) return; @@ -903,7 +901,6 @@ Object obj; while (e.hasNext()) { String key = e.next(); - System.out.println(action + " action " + mode + " key=" + key); if (key.indexOf(action + "\t") != 0 || !Escape.isAS(obj = ht.get(key))) continue; @@ -1325,7 +1322,6 @@ int modifiers) { if (!viewer.getMouseEnabled()) return; - //System.out.println("ActionManager mouseAction action=" + action + " x y = " + x + " " + y + " count = " + count + " mods = " + modifiers); switch (action) { case Binding.MOVED: setCurrent(time, x, y, modifiers); @@ -1404,7 +1400,6 @@ viewer.checkObjectDragged(Integer.MIN_VALUE, 0, x, y, action); return; } - System.out.println("mouseAction..."); checkUserAction(action, x, y, 0, 0, time, Binding.PRESSED); boolean isBound = false; switch (atomPickingMode) { @@ -1612,7 +1607,6 @@ // so that atom picking can be superceded by draw picking int action = Binding.getMouseAction(clickedCount, mods); if (action != Binding.MOVED) { - System.out.println("chackPoint..."); checkUserAction(action, x, y, 0, 0, time, mode); action = viewer.notifyMouseClicked(x, y, action, mode); if (action == Binding.MOVED) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2014-05-27 22:23:41
|
Revision: 19752 http://sourceforge.net/p/jmol/code/19752 Author: hansonr Date: 2014-05-27 22:23:38 +0000 (Tue, 27 May 2014) Log Message: ----------- ___JmolVersion="14.1.16_2014.05.27d" FEATURE CHANGE: set useArcBall removed -- no longer necessary -- arcBall is always used anyway bug fix: Chrome errant zero mouse move causes collapse of rotation matrix due to coding error in arcball routine Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/ActionManager.java Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2014-05-27 22:18:11 UTC (rev 19751) +++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java 2014-05-27 22:23:38 UTC (rev 19752) @@ -1288,12 +1288,10 @@ return; } if (bnd(dragWheelAction, ACTION_rotate)) { - float degX = getDegrees(deltaX, true); - float degY = getDegrees(deltaY, false); // if (vwr.g.useArcBall) // vwr.rotateArcBall(x, y, mouseDragFactor); // else - vwr.rotateXYBy(degX, degY); + vwr.rotateXYBy(getDegrees(deltaX, true), getDegrees(deltaY, false)); return; } if (bnd(dragWheelAction, ACTION_rotateZorZoom)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |