boolean repeat(double timeout) { findTimeout = timeout; int MaxTimePerScan = (int) (1000.0 / waitScanRate); int timeoutMilli = (int) (timeout * 1000); long begin_t = (new Date()).getTime(); do { long before_find = (new Date()).getTime(); run(); if (ifSuccessful()) { return true; } else if (timeoutMilli < MaxTimePerScan || Settings.UseImageFinder) { // instant return on first search failed if timeout very small or 0 // or when using new ImageFinder return false; } long after_find = (new Date()).getTime(); if (after_find - before_find < MaxTimePerScan) { getRobotForRegion().delay((int) (MaxTimePerScan - (after_find - before_find))); } else { getRobotForRegion().delay(10); } } while (begin_t + timeout * 1000 > (new Date()).getTime()); return false; } }
Mouse.use(this); r1.smoothMove(loc1); r1.delay((int) (Settings.DelayBeforeMouseDown * 1000)); r1.mouseDown(InputEvent.BUTTON1_MASK); double DelayBeforeDrag = Settings.DelayBeforeDrag; DelayBeforeDrag = Settings.DelayAfterDrag; r1.delay((int) (DelayBeforeDrag * 1000)); r2.smoothMove(loc2); r2.delay((int) (Settings.DelayBeforeDrop * 1000)); r2.mouseUp(InputEvent.BUTTON1_MASK); Mouse.let(this);
r.typeChar(text.charAt(i), IRobot.KeyMode.PRESS_RELEASE); r.releaseModifiers(modifiers); r.delay(pause);
protected static void wheel(int direction, int steps, Region region, int stepDelay) { if (get().device.isSuspended()) { return; } IRobot r = Screen.getRobot(region); get().device.use(region); Debug.log(3, "Region: wheel: %s steps: %d", (direction == WHEEL_UP ? "WHEEL_UP" : "WHEEL_DOWN"), steps); for (int i = 0; i < steps; i++) { r.mouseWheel(direction); r.delay(stepDelay); } get().device.let(region); } }
Mouse.use(this); r.smoothMove(loc); r.delay((int) (Settings.DelayBeforeDrop * 1000)); r.mouseUp(InputEvent.BUTTON1_MASK); r.waitForIdle();
getRobotForRegion().delay(500); ScreenImage simg = getScreen().userCapture( (recap ? "recapture " : "capture missing ") + img.getName());