12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.awt.windows;
27
28 import java.awt.Point;
29 import java.awt.Rectangle;
30 import java.awt.peer.RobotPeer;
31
32 import sun.java2d.SunGraphicsEnvironment;
33
34 final class WRobotPeer implements RobotPeer {
35
36 public native void mouseMoveImpl(int x, int y);
37 @Override
38 public void mouseMove(int x, int y) {
39 Point point = SunGraphicsEnvironment.convertToDeviceSpace(x, y);
40 mouseMoveImpl(point.x, point.y);
41 }
42 @Override
43 public native void mousePress(int buttons);
44 @Override
45 public native void mouseRelease(int buttons);
46 @Override
47 public native void mouseWheel(int wheelAmt);
48
49 @Override
50 public native void keyPress( int keycode );
51 @Override
52 public native void keyRelease( int keycode );
53
54 @Override
55 public int getRGBPixel(int x, int y) {
56 // See 7002846: that's ineffective, but works correctly with non-opaque windows
57 return getRGBPixels(new Rectangle(x, y, 1, 1))[0];
58 }
59
60 @Override
61 public int [] getRGBPixels(Rectangle bounds) {
62 int[] pixelArray = new int[bounds.width*bounds.height];
63 getRGBPixels(bounds.x, bounds.y, bounds.width, bounds.height, pixelArray);
64 return pixelArray;
65 }
66
67 private native void getRGBPixels(int x, int y, int width, int height, int[] pixelArray);
68 }
|
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.awt.windows;
27
28 import java.awt.Point;
29 import java.awt.Rectangle;
30 import java.awt.peer.RobotPeer;
31
32 import static sun.java2d.SunGraphicsEnvironment.toDeviceSpaceAbs;
33
34 final class WRobotPeer implements RobotPeer {
35
36 public native void mouseMoveImpl(int x, int y);
37 @Override
38 public void mouseMove(int x, int y) {
39 Point point = toDeviceSpaceAbs(x, y);
40 mouseMoveImpl(point.x, point.y);
41 }
42 @Override
43 public native void mousePress(int buttons);
44 @Override
45 public native void mouseRelease(int buttons);
46 @Override
47 public native void mouseWheel(int wheelAmt);
48
49 @Override
50 public native void keyPress( int keycode );
51 @Override
52 public native void keyRelease( int keycode );
53
54 @Override
55 public int getRGBPixel(int x, int y) {
56 // See 7002846: that's ineffective, but works correctly with non-opaque windows
57 return getRGBPixels(new Rectangle(x, y, 1, 1))[0];
58 }
59
60 @Override
61 public int [] getRGBPixels(Rectangle bounds) {
62 int[] pixelArray = new int[bounds.width*bounds.height];
63 getRGBPixels(bounds.x, bounds.y, bounds.width, bounds.height, pixelArray);
64 return pixelArray;
65 }
66
67 @Override
68 public boolean useAbsoluteCoordinates() {
69 return true;
70 }
71
72 private native void getRGBPixels(int x, int y, int width, int height, int[] pixelArray);
73 }
|