From a0ac4d4cf9e31bbe019d29ddb6f514a9e3edcc73 Mon Sep 17 00:00:00 2001 From: AndrewMurrell Date: Tue, 6 May 2014 22:26:11 -0400 Subject: Added MetaCircle handling for key modification, but this needs to be fixed. BREAKS THINGS. --- res/values/strings.xml | 2 +- src/us/minak/IMEView.java | 22 ++++++---------------- src/us/minak/MetaCircle.java | 12 ++++++++++-- src/us/minak/MetaExpression.java | 2 +- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index a446fb0..d3352bc 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -38,7 +38,7 @@ Shift - &x2190; + Space 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 } -- cgit v1.2.3-54-g00ecf