abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Keyboard2View.java
diff options
context:
space:
mode:
authorJules Aguillon2021-04-17 23:56:51 +0200
committerJules Aguillon2021-04-17 23:56:51 +0200
commit1421bccc7b6588484fcf02517d35c98bbd05f6c4 (patch)
tree1e5cfa16905344388142c9787e71051025076148 /srcs/juloo.keyboard2/Keyboard2View.java
parentca07bff1330024bd78e28d1bc83940daab678fbb (diff)
downloadunexpected-keyboard-1421bccc7b6588484fcf02517d35c98bbd05f6c4.tar.gz
unexpected-keyboard-1421bccc7b6588484fcf02517d35c98bbd05f6c4.zip
Remove fixed keyboard width
Remove the constant of keys per rows. Add the 'shift' attribute to declare eventual alignment/blanks in layouts.
Diffstat (limited to 'srcs/juloo.keyboard2/Keyboard2View.java')
-rw-r--r--srcs/juloo.keyboard2/Keyboard2View.java23
1 files changed, 8 insertions, 15 deletions
diff --git a/srcs/juloo.keyboard2/Keyboard2View.java b/srcs/juloo.keyboard2/Keyboard2View.java
index 84159b2..ccbbb7e 100644
--- a/srcs/juloo.keyboard2/Keyboard2View.java
+++ b/srcs/juloo.keyboard2/Keyboard2View.java
@@ -18,8 +18,6 @@ import java.util.ArrayList;
public class Keyboard2View extends View
implements View.OnTouchListener, Handler.Callback
{
- private static final float KEY_PER_ROW = 10;
-
private static final long VIBRATE_MIN_INTERVAL = 100;
private KeyboardData _keyboard;
@@ -187,20 +185,17 @@ public class Keyboard2View extends View
private void onTouchDown(float touchX, float touchY, int pointerId)
{
- float x;
- float y;
- float keyW;
-
- y = _config.marginTop - _config.keyHeight;
+ float y = _config.marginTop - _config.keyHeight;
for (KeyboardData.Row row : _keyboard.getRows())
{
y += _config.keyHeight;
if (touchY < y || touchY >= (y + _config.keyHeight))
continue ;
- x = (KEY_PER_ROW * _keyWidth - row.getWidth(_keyWidth)) / 2 + _config.horizontalMargin;
+ float x = _config.horizontalMargin;
for (KeyboardData.Key key : row.getKeys())
{
- keyW = _keyWidth * key.width;
+ x += key.shift * _keyWidth;
+ float keyW = _keyWidth * key.width;
if (touchX >= x && touchX < (x + keyW))
{
KeyDown down = getKeyDown(key);
@@ -333,21 +328,19 @@ public class Keyboard2View extends View
height = (int)(_config.keyHeight * ((float)_keyboard.getRows().size())
+ _config.marginTop + _config.marginBottom);
setMeasuredDimension(dm.widthPixels, height);
- _keyWidth = (getWidth() - (_config.horizontalMargin * 2)) / KEY_PER_ROW;
+ _keyWidth = (getWidth() - (_config.horizontalMargin * 2)) / _keyboard.getKeysWidth();
}
@Override
protected void onDraw(Canvas canvas)
{
- float x;
- float y;
-
- y = _config.marginTop;
+ float y = _config.marginTop;
for (KeyboardData.Row row : _keyboard.getRows())
{
- x = (KEY_PER_ROW * _keyWidth - row.getWidth(_keyWidth)) / 2f + _config.horizontalMargin;
+ float x = _config.horizontalMargin;
for (KeyboardData.Key k : row.getKeys())
{
+ x += k.shift * _keyWidth;
float keyW = _keyWidth * k.width;
KeyDown keyDown = getKeyDown(k);
_tmpRect.set(x + _config.keyBgPadding, y + _config.keyBgPadding,