diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/us/minak/IMEView.java | 22 | ||||
-rw-r--r-- | src/us/minak/MetaCircle.java | 12 | ||||
-rw-r--r-- | src/us/minak/MetaExpression.java | 2 |
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 } |