aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-04-17 23:30:25 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-04-17 23:30:25 -0700
commit26d97b089d0a4af751407775ac1a3f2ee82c16dd (patch)
tree736e7e91244632d5659bf39a118d19cdce9f6a01 /java/src
parentd442984e96cc6299c905141e3e32e0a4f55394c8 (diff)
parentb3f0912fd1598a96fe4a55c9641df846e6832eed (diff)
downloadlatinime-26d97b089d0a4af751407775ac1a3f2ee82c16dd.tar.gz
latinime-26d97b089d0a4af751407775ac1a3f2ee82c16dd.tar.xz
latinime-26d97b089d0a4af751407775ac1a3f2ee82c16dd.zip
Merge "Fix dimming keyboard"
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardView.java28
1 files changed, 17 insertions, 11 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 2d587ada1..38e6d5a1d 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -109,7 +109,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
// Drawing
/** True if the entire keyboard needs to be dimmed. */
- private boolean mNeedsToDimBackground;
+ private boolean mNeedsToDimEntireKeyboard;
/** Whether the keyboard bitmap buffer needs to be redrawn before it's blitted. **/
private boolean mBufferNeedsUpdate;
/** True if all keys should be drawn */
@@ -455,13 +455,16 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
final KeyDrawParams params = mKeyDrawParams;
if (mInvalidateAllKeys || mInvalidatedKeys.isEmpty()) {
- mInvalidatedKeysRect.set(0, 0, getWidth(), getHeight());
+ mInvalidatedKeysRect.set(0, 0, width, height);
canvas.clipRect(mInvalidatedKeysRect, Op.REPLACE);
canvas.drawColor(Color.BLACK, PorterDuff.Mode.CLEAR);
// Draw all keys.
for (final Key key : mKeyboard.mKeys) {
onDrawKey(key, canvas, paint, params);
}
+ if (mNeedsToDimEntireKeyboard) {
+ drawDimRectangle(canvas, mInvalidatedKeysRect, mBackgroundDimAlpha, paint);
+ }
} else {
// Draw invalidated keys.
for (final Key key : mInvalidatedKeys) {
@@ -471,24 +474,20 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
canvas.clipRect(mInvalidatedKeysRect, Op.REPLACE);
canvas.drawColor(Color.BLACK, PorterDuff.Mode.CLEAR);
onDrawKey(key, canvas, paint, params);
+ if (mNeedsToDimEntireKeyboard) {
+ drawDimRectangle(canvas, mInvalidatedKeysRect, mBackgroundDimAlpha, paint);
+ }
}
}
- // Overlay a dark rectangle to dim the entire keyboard
- if (mNeedsToDimBackground) {
- paint.setColor(Color.BLACK);
- paint.setAlpha(mBackgroundDimAlpha);
- canvas.drawRect(0, 0, width, height, paint);
- }
-
mInvalidatedKeys.clear();
mInvalidatedKeysRect.setEmpty();
mInvalidateAllKeys = false;
}
public void dimEntireKeyboard(boolean dimmed) {
- final boolean needsRedrawing = mNeedsToDimBackground != dimmed;
- mNeedsToDimBackground = dimmed;
+ final boolean needsRedrawing = mNeedsToDimEntireKeyboard != dimmed;
+ mNeedsToDimEntireKeyboard = dimmed;
if (needsRedrawing) {
invalidateAllKeys();
}
@@ -809,6 +808,13 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
canvas.translate(-x, -y);
}
+ // Overlay a dark rectangle to dim.
+ private static void drawDimRectangle(Canvas canvas, Rect rect, int alpha, Paint paint) {
+ paint.setColor(Color.BLACK);
+ paint.setAlpha(alpha);
+ canvas.drawRect(rect, paint);
+ }
+
public Paint newDefaultLabelPaint() {
final Paint paint = new Paint();
paint.setAntiAlias(true);