| Clazz.declarePackage ("J.thread"); | |
| Clazz.load (["J.thread.JmolThread"], "J.thread.HoverWatcherThread", ["java.lang.Thread"], function () { | |
| c$ = Clazz.decorateAsClass (function () { | |
| this.actionManager = null; | |
| this.current = null; | |
| this.moved = null; | |
| this.hoverDelay = 0; | |
| Clazz.instantialize (this, arguments); | |
| }, J.thread, "HoverWatcherThread", J.thread.JmolThread); | |
| Clazz.makeConstructor (c$, | |
| function (actionManager, current, moved, vwr) { | |
| this.setViewer (vwr, "HoverWatcher"); | |
| this.actionManager = actionManager; | |
| this.current = current; | |
| this.moved = moved; | |
| this.start (); | |
| }, "JV.ActionManager,JV.MouseState,JV.MouseState,JV.Viewer"); | |
| Clazz.overrideMethod (c$, "run1", | |
| function (mode) { | |
| while (true) switch (mode) { | |
| case -1: | |
| if (!this.isJS) Thread.currentThread ().setPriority (1); | |
| mode = 0; | |
| break; | |
| case 0: | |
| this.hoverDelay = this.vwr.getHoverDelay (); | |
| if (this.stopped || this.hoverDelay <= 0 || !this.runSleep (this.hoverDelay, 1)) return; | |
| mode = 1; | |
| break; | |
| case 1: | |
| if (this.moved.is (this.current)) { | |
| this.currentTime = System.currentTimeMillis (); | |
| var howLong = (this.currentTime - this.moved.time); | |
| if (howLong > (this.vwr.acm.zoomTrigger ? 100 : this.hoverDelay) && !this.stopped) { | |
| this.actionManager.checkHover (); | |
| }}mode = 0; | |
| break; | |
| } | |
| }, "~N"); | |
| }); | |