--- old/core/JemmyAWTInput/src/org/jemmy/image/RoughImageFinder.java 2019-03-06 17:23:16.000000000 -0800
+++ /dev/null 2019-03-06 17:23:16.000000000 -0800
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package org.jemmy.image;
-
-import org.jemmy.Point;
-import java.awt.image.BufferedImage;
-
-/**
- * Performs "rough" image search.
- *
- * @author shura
- */
-public class RoughImageFinder implements ImageFinder {
- double roughness = .0;
- int bigWidth, bigHeight;
- int[][] bigPixels;
-
- /**
- * Creates an instance allowing to find an image inside the one
- * passed as parameter with some "roughness".
- * @param area - Image to search in.
- * @param roughness - Allowed
- */
- public RoughImageFinder(BufferedImage area, double roughness) {
- this.roughness = roughness;
- bigWidth = area.getWidth();
- bigHeight = area.getHeight();
- bigPixels = new int[bigWidth][bigHeight];
- for(int x = 0; x < bigWidth; x++) {
- for(int y = 0; y < bigHeight; y++) {
- bigPixels[x][y] = area.getRGB(x, y);
- }
- }
- }
-
- /**
- * Performs "rough" search.
- * @param image an image to search.
- * @param index an ordinal image location index.
- * @return Point where number of unmatching pixels less or equal to
- * image1.getWidth() * image1.getHeight() * roughness
- */
- public Point findImage(BufferedImage image, int index) {
- int smallWidth = image.getWidth();
- int smallHeight = image.getHeight();
- int[][] smallPixels = new int[smallWidth][smallHeight];
- for(int x = 0; x < smallWidth; x++) {
- for(int y = 0; y < smallHeight; y++) {
- smallPixels[x][y] = image.getRGB(x, y);
- }
- }
- double maxRoughPixels = (double)(smallWidth * smallHeight) * roughness;
- int count = 0;
- for(int X = 0; X <= bigWidth - smallWidth; X++) {
- for(int Y = 0; Y <= bigHeight - smallHeight; Y++) {
- int roughPixels = 0;
- for(int x = 0; x < smallWidth; x++) {
- for(int y = 0; y < smallHeight; y++) {
- if(smallPixels[x][y] != bigPixels[X + x][Y + y]) {
- roughPixels++;
- if(roughPixels > maxRoughPixels) {
- break;
- }
- }
- }
- if(roughPixels > maxRoughPixels) {
- break;
- }
- }
- if(roughPixels <= maxRoughPixels) {
- if(count == index) {
- return(new Point(X, Y));
- }
- count++;
- }
- }
- }
- return(null);
- }
-}
--- /dev/null 2019-03-06 17:23:16.000000000 -0800
+++ new/core/JemmyAWTInput/src/org/jemmy/image/awt/RoughImageFinder.java 2019-03-06 17:23:16.000000000 -0800
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.jemmy.image.awt;
+
+import org.jemmy.Point;
+import java.awt.image.BufferedImage;
+
+/**
+ * Performs "rough" image search.
+ *
+ * @author shura
+ */
+public class RoughImageFinder implements ImageFinder {
+ double roughness = .0;
+ int bigWidth, bigHeight;
+ int[][] bigPixels;
+
+ /**
+ * Creates an instance allowing to find an image inside the one
+ * passed as parameter with some "roughness".
+ * @param area - Image to search in.
+ * @param roughness - Allowed
+ */
+ public RoughImageFinder(BufferedImage area, double roughness) {
+ this.roughness = roughness;
+ bigWidth = area.getWidth();
+ bigHeight = area.getHeight();
+ bigPixels = new int[bigWidth][bigHeight];
+ for(int x = 0; x < bigWidth; x++) {
+ for(int y = 0; y < bigHeight; y++) {
+ bigPixels[x][y] = area.getRGB(x, y);
+ }
+ }
+ }
+
+ /**
+ * Performs "rough" search.
+ * @param image an image to search.
+ * @param index an ordinal image location index.
+ * @return Point where number of unmatching pixels less or equal to
+ * image1.getWidth() * image1.getHeight() * roughness
+ */
+ public Point findImage(BufferedImage image, int index) {
+ int smallWidth = image.getWidth();
+ int smallHeight = image.getHeight();
+ int[][] smallPixels = new int[smallWidth][smallHeight];
+ for(int x = 0; x < smallWidth; x++) {
+ for(int y = 0; y < smallHeight; y++) {
+ smallPixels[x][y] = image.getRGB(x, y);
+ }
+ }
+ double maxRoughPixels = (double)(smallWidth * smallHeight) * roughness;
+ int count = 0;
+ for(int X = 0; X <= bigWidth - smallWidth; X++) {
+ for(int Y = 0; Y <= bigHeight - smallHeight; Y++) {
+ int roughPixels = 0;
+ for(int x = 0; x < smallWidth; x++) {
+ for(int y = 0; y < smallHeight; y++) {
+ if(smallPixels[x][y] != bigPixels[X + x][Y + y]) {
+ roughPixels++;
+ if(roughPixels > maxRoughPixels) {
+ break;
+ }
+ }
+ }
+ if(roughPixels > maxRoughPixels) {
+ break;
+ }
+ }
+ if(roughPixels <= maxRoughPixels) {
+ if(count == index) {
+ return(new Point(X, Y));
+ }
+ count++;
+ }
+ }
+ }
+ return(null);
+ }
+}