summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/us/minak/IMEView.java22
-rw-r--r--src/us/minak/MetaCircle.java12
-rw-r--r--src/us/minak/MetaExpression.java2
3 files changed, 17 insertions, 19 deletions
diff --git a/src/us/minak/IMEView.java b/src/us/minak/IMEView.java
index 7cdf4fd..0f40325 100644
--- a/src/us/minak/IMEView.java
+++ b/src/us/minak/IMEView.java
@@ -13,8 +13,6 @@
package us.minak;
import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
import java.util.Queue;
import android.content.Context;
@@ -184,20 +182,12 @@ public class IMEView extends RelativeLayout {
* The character to enter
*/
private void enterCharacter(String character) {
- //for each circle in circles check to see if the touch was in the circle and apply the meta-key
- switch (mShiftState) {
- case OFF:
- mOnCharacterEnteredListener.putString(character);
- break;
- case ON:
- mOnCharacterEnteredListener.putString(character.toUpperCase(Locale.ENGLISH));
- shift();
- break;
- case CAPS_LOCK:
- mOnCharacterEnteredListener.putString(character.toUpperCase(Locale.ENGLISH));
- break;
- default:
- throw new IllegalArgumentException();
+ for (MetaCircle circle : ((IMEGestureOverlayView) findViewById(R.id.drawing_space)).circles) {
+ //go through circles and check if they are applicable
+ if (circle.containsPoint(this.x, this.y) && circle.getMetaExpression().state != MetaExpression.State.ON) {
+ //TODO: apply the Meta-key here
+ ;
+ }
}
}
}
diff --git a/src/us/minak/MetaCircle.java b/src/us/minak/MetaCircle.java
index 908842a..9139dc9 100644
--- a/src/us/minak/MetaCircle.java
+++ b/src/us/minak/MetaCircle.java
@@ -5,7 +5,7 @@ package us.minak;
*
*/
public class MetaCircle {
- public MetaExpression metaExpr;
+ private MetaExpression metaExpression;
public float x;
public float y;
public float radius;
@@ -14,7 +14,7 @@ public class MetaCircle {
public int expansion; //the level of expansion (if multiple circles are expanded, this decides precidence)
MetaCircle(float x, float y, float radius, int color, MetaExpression metaExpr) {
- this.metaExpr = metaExpr;
+ this.setMetaExpression(metaExpr);
this.x = x;
this.y = y;
this.radius = radius;
@@ -26,4 +26,12 @@ public class MetaCircle {
public boolean containsPoint(float x, float y) {
return Math.pow(x - this.x, 2) + Math.pow(y - this.y, 2) < Math.pow(this.radius, 2) ? true : false;
}
+
+ public MetaExpression getMetaExpression() {
+ return metaExpression;
+ }
+
+ public void setMetaExpression(MetaExpression metaExpr) {
+ this.metaExpression = metaExpr;
+ }
}
diff --git a/src/us/minak/MetaExpression.java b/src/us/minak/MetaExpression.java
index 4398c42..f9c6cbe 100644
--- a/src/us/minak/MetaExpression.java
+++ b/src/us/minak/MetaExpression.java
@@ -1,7 +1,7 @@
package us.minak;
public class MetaExpression {
- public enum State {
+ public static enum State {
ON, OFF, LOCK
}