< prev index next >
src/java.desktop/windows/classes/sun/awt/windows/WRobotPeer.java
Print this page
rev 60071 : 8211999: Window positioning bugs due to overlapping GraphicsDevice bounds (Windows/HiDPI)
Reviewed-by: XXX
*** 27,44 ****
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.peer.RobotPeer;
! import sun.java2d.SunGraphicsEnvironment;
final class WRobotPeer implements RobotPeer {
public native void mouseMoveImpl(int x, int y);
@Override
public void mouseMove(int x, int y) {
! Point point = SunGraphicsEnvironment.convertToDeviceSpace(x, y);
mouseMoveImpl(point.x, point.y);
}
@Override
public native void mousePress(int buttons);
@Override
--- 27,44 ----
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.peer.RobotPeer;
! import static sun.java2d.SunGraphicsEnvironment.toDeviceSpaceAbs;
final class WRobotPeer implements RobotPeer {
public native void mouseMoveImpl(int x, int y);
@Override
public void mouseMove(int x, int y) {
! Point point = toDeviceSpaceAbs(x, y);
mouseMoveImpl(point.x, point.y);
}
@Override
public native void mousePress(int buttons);
@Override
*** 62,68 ****
--- 62,73 ----
int[] pixelArray = new int[bounds.width*bounds.height];
getRGBPixels(bounds.x, bounds.y, bounds.width, bounds.height, pixelArray);
return pixelArray;
}
+ @Override
+ public boolean useAbsoluteCoordinates() {
+ return true;
+ }
+
private native void getRGBPixels(int x, int y, int width, int height, int[] pixelArray);
}
< prev index next >