< prev index next >
src/java.desktop/macosx/classes/sun/lwawt/macosx/CRobot.java
Print this page
*** 23,38 ****
* questions.
*/
package sun.lwawt.macosx;
! import java.awt.*;
! import java.awt.peer.*;
import sun.awt.CGraphicsDevice;
! class CRobot implements RobotPeer {
private static final int MOUSE_LOCATION_UNKNOWN = -1;
private final CGraphicsDevice fDevice;
private int mouseLastX = MOUSE_LOCATION_UNKNOWN;
private int mouseLastY = MOUSE_LOCATION_UNKNOWN;
--- 23,41 ----
* questions.
*/
package sun.lwawt.macosx;
! import java.awt.Point;
! import java.awt.Rectangle;
! import java.awt.Robot;
! import java.awt.peer.RobotPeer;
import sun.awt.CGraphicsDevice;
! final class CRobot implements RobotPeer {
!
private static final int MOUSE_LOCATION_UNKNOWN = -1;
private final CGraphicsDevice fDevice;
private int mouseLastX = MOUSE_LOCATION_UNKNOWN;
private int mouseLastY = MOUSE_LOCATION_UNKNOWN;
*** 63,74 ****
@Override
public void mouseMove(int x, int y) {
mouseLastX = x;
mouseLastY = y;
! mouseEvent(fDevice.getCGDisplayID(), mouseLastX, mouseLastY,
! mouseButtonsState, true, true);
}
/**
* Presses one or more mouse buttons.
*
--- 66,76 ----
@Override
public void mouseMove(int x, int y) {
mouseLastX = x;
mouseLastY = y;
! mouseEvent(mouseLastX, mouseLastY, mouseButtonsState, true, true);
}
/**
* Presses one or more mouse buttons.
*
*** 77,88 ****
*/
@Override
public void mousePress(int buttons) {
mouseButtonsState |= buttons;
checkMousePos();
! mouseEvent(fDevice.getCGDisplayID(), mouseLastX, mouseLastY,
! buttons, true, false);
}
/**
* Releases one or more mouse buttons.
*
--- 79,89 ----
*/
@Override
public void mousePress(int buttons) {
mouseButtonsState |= buttons;
checkMousePos();
! mouseEvent(mouseLastX, mouseLastY, buttons, true, false);
}
/**
* Releases one or more mouse buttons.
*
*** 91,102 ****
*/
@Override
public void mouseRelease(int buttons) {
mouseButtonsState &= ~buttons;
checkMousePos();
! mouseEvent(fDevice.getCGDisplayID(), mouseLastX, mouseLastY,
! buttons, false, false);
}
/**
* Set unknown mouse location, if needed.
*/
--- 92,102 ----
*/
@Override
public void mouseRelease(int buttons) {
mouseButtonsState &= ~buttons;
checkMousePos();
! mouseEvent(mouseLastX, mouseLastY, buttons, false, false);
}
/**
* Set unknown mouse location, if needed.
*/
*** 191,202 ****
return c;
}
private native void initRobot();
! private native void mouseEvent(int displayID, int lastX, int lastY,
! int buttonsState,
boolean isButtonsDownState,
boolean isMouseMove);
private native void keyEvent(int javaKeyCode, boolean keydown);
private void getScreenPixels(Rectangle r, int[] pixels){
double scale = fDevice.getScaleFactor();
--- 191,201 ----
return c;
}
private native void initRobot();
! private native void mouseEvent(int lastX, int lastY, int buttonsState,
boolean isButtonsDownState,
boolean isMouseMove);
private native void keyEvent(int javaKeyCode, boolean keydown);
private void getScreenPixels(Rectangle r, int[] pixels){
double scale = fDevice.getScaleFactor();
< prev index next >