aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/utils/CoordinateUtils.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2013-12-27 20:58:32 +0900
committerJean Chalard <jchalard@google.com>2014-01-23 15:32:59 +0900
commitd1f463eacfaac31a999f7eb1ecaa1668ed3038d4 (patch)
tree6486009c8fb4fdc316201713c3bf5a2f44f0d217 /java/src/com/android/inputmethod/latin/utils/CoordinateUtils.java
parent9da4b49ef626f04a58f79b0894712b6b8e658ae6 (diff)
downloadlatinime-d1f463eacfaac31a999f7eb1ecaa1668ed3038d4.tar.gz
latinime-d1f463eacfaac31a999f7eb1ecaa1668ed3038d4.tar.xz
latinime-d1f463eacfaac31a999f7eb1ecaa1668ed3038d4.zip
[IL69] Oust Keyboard from WordComposer#setComposingWord
Bug: 8636060 Change-Id: I624a45500603dfad355ee3b8b794b2d895219c0b
Diffstat (limited to 'java/src/com/android/inputmethod/latin/utils/CoordinateUtils.java')
-rw-r--r--java/src/com/android/inputmethod/latin/utils/CoordinateUtils.java41
1 files changed, 39 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/CoordinateUtils.java b/java/src/com/android/inputmethod/latin/utils/CoordinateUtils.java
index 72f2cd2d9..91a63501a 100644
--- a/java/src/com/android/inputmethod/latin/utils/CoordinateUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/CoordinateUtils.java
@@ -16,17 +16,19 @@
package com.android.inputmethod.latin.utils;
+import java.util.Arrays;
+
public final class CoordinateUtils {
private static final int INDEX_X = 0;
private static final int INDEX_Y = 1;
- private static final int ARRAY_SIZE = INDEX_Y + 1;
+ private static final int ELEMENT_SIZE = INDEX_Y + 1;
private CoordinateUtils() {
// This utility class is not publicly instantiable.
}
public static int[] newInstance() {
- return new int[ARRAY_SIZE];
+ return new int[ELEMENT_SIZE];
}
public static int x(final int[] coords) {
@@ -46,4 +48,39 @@ public final class CoordinateUtils {
destination[INDEX_X] = source[INDEX_X];
destination[INDEX_Y] = source[INDEX_Y];
}
+
+ public static int[] newCoordinateArray(final int arraySize) {
+ return new int[ELEMENT_SIZE * arraySize];
+ }
+
+ public static int xFromArray(final int[] coordsArray, final int index) {
+ return coordsArray[ELEMENT_SIZE * index + INDEX_X];
+ }
+
+ public static int yFromArray(final int[] coordsArray, final int index) {
+ return coordsArray[ELEMENT_SIZE * index + INDEX_Y];
+ }
+
+ public static int[] coordinateFromArray(final int[] coordsArray, final int index) {
+ final int baseIndex = ELEMENT_SIZE * index;
+ return Arrays.copyOfRange(coordsArray, baseIndex, baseIndex + ELEMENT_SIZE);
+ }
+
+ public static void setXYInArray(final int[] coordsArray, final int index,
+ final int x, final int y) {
+ final int baseIndex = ELEMENT_SIZE * index;
+ coordsArray[baseIndex + INDEX_X] = x;
+ coordsArray[baseIndex + INDEX_Y] = y;
+ }
+
+ public static void setCoordinateInArray(final int[] coordsArray, final int index,
+ final int[] coords) {
+ final int baseIndex = ELEMENT_SIZE * index;
+ coordsArray[baseIndex + INDEX_X] = coords[INDEX_X];
+ coordsArray[baseIndex + INDEX_Y] = coords[INDEX_Y];
+ }
+
+ public static void copyArray(final int[] destination, final int[] source) {
+ System.arraycopy(source, 0, destination, 0, source.length);
+ }
}