abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Keyboard2View.java
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/juloo.keyboard2/Keyboard2View.java')
-rw-r--r--srcs/juloo.keyboard2/Keyboard2View.java40
1 files changed, 21 insertions, 19 deletions
diff --git a/srcs/juloo.keyboard2/Keyboard2View.java b/srcs/juloo.keyboard2/Keyboard2View.java
index 3c642f0..0a75529 100644
--- a/srcs/juloo.keyboard2/Keyboard2View.java
+++ b/srcs/juloo.keyboard2/Keyboard2View.java
@@ -260,6 +260,19 @@ public class Keyboard2View extends View
}
}
+ /** Horizontal and vertical position of the 9 indexes. */
+ static final Paint.Align[] LABEL_POSITION_H = new Paint.Align[]{
+ Paint.Align.CENTER, Paint.Align.LEFT, Paint.Align.RIGHT, Paint.Align.LEFT,
+ Paint.Align.RIGHT, Paint.Align.LEFT, Paint.Align.RIGHT,
+ Paint.Align.CENTER, Paint.Align.CENTER
+ };
+
+ static final Vertical[] LABEL_POSITION_V = new Vertical[]{
+ Vertical.CENTER, Vertical.TOP, Vertical.TOP, Vertical.BOTTOM,
+ Vertical.BOTTOM, Vertical.CENTER, Vertical.CENTER, Vertical.TOP,
+ Vertical.BOTTOM
+ };
+
@Override
protected void onDraw(Canvas canvas)
{
@@ -282,20 +295,12 @@ public class Keyboard2View extends View
float keyW = _keyWidth * k.width - _config.keyHorizontalInterval;
boolean isKeyDown = _pointers.isKeyDown(k);
drawKeyFrame(canvas, x, y, keyW, keyH, isKeyDown);
- drawLabel(canvas, k.key0, keyW / 2f + x, y, keyH, isKeyDown);
- if (k.edgekeys)
- {
- drawSubLabel(canvas, k.key1, x, y, keyW, keyH, Paint.Align.CENTER, Vertical.TOP, isKeyDown);
- drawSubLabel(canvas, k.key3, x, y, keyW, keyH, Paint.Align.LEFT, Vertical.CENTER, isKeyDown);
- drawSubLabel(canvas, k.key2, x, y, keyW, keyH, Paint.Align.RIGHT, Vertical.CENTER, isKeyDown);
- drawSubLabel(canvas, k.key4, x, y, keyW, keyH, Paint.Align.CENTER, Vertical.BOTTOM, isKeyDown);
- }
- else
+ if (k.keys[0] != null)
+ drawLabel(canvas, k.keys[0], keyW / 2f + x, y, keyH, isKeyDown);
+ for (int i = 1; i < 9; i++)
{
- drawSubLabel(canvas, k.key1, x, y, keyW, keyH, Paint.Align.LEFT, Vertical.TOP, isKeyDown);
- drawSubLabel(canvas, k.key3, x, y, keyW, keyH, Paint.Align.LEFT, Vertical.BOTTOM, isKeyDown);
- drawSubLabel(canvas, k.key2, x, y, keyW, keyH, Paint.Align.RIGHT, Vertical.TOP, isKeyDown);
- drawSubLabel(canvas, k.key4, x, y, keyW, keyH, Paint.Align.RIGHT, Vertical.BOTTOM, isKeyDown);
+ if (k.keys[i] != null)
+ drawSubLabel(canvas, k.keys[i], x, y, keyW, keyH, i, isKeyDown);
}
if (k.indication != null)
{
@@ -367,8 +372,6 @@ public class Keyboard2View extends View
private void drawLabel(Canvas canvas, KeyboardData.Corner k, float x, float y, float keyH, boolean isKeyDown)
{
- if (k == null)
- return;
KeyValue kv = KeyModifier.modify(k.kv, _mods);
if (kv == null)
return;
@@ -381,11 +384,10 @@ public class Keyboard2View extends View
}
private void drawSubLabel(Canvas canvas, KeyboardData.Corner k, float x,
- float y, float keyW, float keyH, Paint.Align a, Vertical v,
- boolean isKeyDown)
+ float y, float keyW, float keyH, int sub_index, boolean isKeyDown)
{
- if (k == null)
- return;
+ Paint.Align a = LABEL_POSITION_H[sub_index];
+ Vertical v = LABEL_POSITION_V[sub_index];
KeyValue kv = KeyModifier.modify(k.kv, _mods);
if (kv == null)
return;