/* * Copyright (c) 2010-2016, Sikuli.org, sikulix.com * Released under the MIT License. * */ package org.sikuli.util; import org.sikuli.basics.Debug; import org.sikuli.script.*; import java.awt.*; /** * for testing non local IScreen implementations (e.g. VNCScreen) */ public class FakeRobot implements IRobot{ public static IRobot getDesktopRobot() { try { return new RobotDesktop(); } catch (AWTException e) { Debug.error("FakeRobot: getDesktopRobot: not possible: returning null"); return null; } } @Override public void keyDown(String keys) { } @Override public void keyUp(String keys) { } @Override public void keyDown(int code) { } @Override public void keyUp(int code) { } @Override public void keyUp() { } @Override public void pressModifiers(int modifiers) { } @Override public void releaseModifiers(int modifiers) { } @Override public void typeChar(char character, KeyMode mode) { } @Override public void typeKey(int key) { } @Override public void typeStarts() { } @Override public void typeEnds() { } @Override public void mouseMove(int x, int y) { Debug.error("FakeRobot: mouseMove: (%d, %d)", x, y); } @Override public void mouseDown(int buttons) { } @Override public int mouseUp(int buttons) { Debug.error("FakeRobot: mouseUp: most probably a click"); return 0; } @Override public void mouseReset() { } @Override public void clickStarts() { } @Override public void clickEnds() { } @Override public void smoothMove(Location dest) { Debug.error("FakeRobot: mouseMove: (%d, %d)", dest.x, dest.y); } @Override public void smoothMove(Location src, Location dest, long ms) { Debug.error("FakeRobot: mouseMove: (%d, %d)", dest.x, dest.y); } @Override public void mouseWheel(int wheelAmt) { } @Override public ScreenImage captureScreen(Rectangle screenRect) { Debug.log(3, "FakeRobot: captureScreen: should not be used: returning null"); return null; } @Override public void waitForIdle() { } @Override public void delay(int ms) { } @Override public void setAutoDelay(int ms) { } @Override public Color getColorAt(int x, int y) { return null; } @Override public void cleanup() { } @Override public boolean isRemote() { return true; } /** * Return the underlying device object (if any). */ @Override public IScreen getScreen() { return null; } }