summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/BubbleTextView.java
diff options
context:
space:
mode:
authorMichael Jurka <mikejurka@google.com>2011-01-05 20:57:04 -0800
committerMichael Jurka <mikejurka@google.com>2011-01-06 12:36:53 -0800
commit137142e39bd65429b0ad3e502aa9851ba81ca6ff (patch)
tree907553f29793fdf660d9917d65b942e2fad096d3 /src/com/android/launcher2/BubbleTextView.java
parent4b1c0ba3ac4a76d3ba04035e2785ced5a1faf826 (diff)
downloadandroid_packages_apps_Trebuchet-137142e39bd65429b0ad3e502aa9851ba81ca6ff.tar.gz
android_packages_apps_Trebuchet-137142e39bd65429b0ad3e502aa9851ba81ca6ff.tar.bz2
android_packages_apps_Trebuchet-137142e39bd65429b0ad3e502aa9851ba81ca6ff.zip
Fix clipping of blue glow around icons when they're clicked
Diffstat (limited to 'src/com/android/launcher2/BubbleTextView.java')
-rw-r--r--src/com/android/launcher2/BubbleTextView.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java
index 2d0492443..348fe34b9 100644
--- a/src/com/android/launcher2/BubbleTextView.java
+++ b/src/com/android/launcher2/BubbleTextView.java
@@ -25,6 +25,7 @@ import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
+import android.graphics.Region;
import android.graphics.Region.Op;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
@@ -242,10 +243,17 @@ public class BubbleTextView extends CacheableTextView {
@Override
public void draw(Canvas canvas) {
if (mPressedOrFocusedBackground != null && (isPressed() || isFocused())) {
+ // The blue glow can extend outside of our clip region, so we first temporarily expand
+ // the canvas's clip region
+ canvas.save(Canvas.CLIP_SAVE_FLAG);
+ int padding = HolographicOutlineHelper.MAX_OUTER_BLUR_RADIUS / 2;
+ canvas.clipRect(-padding + mScrollX, -padding + mScrollY,
+ getWidth() + padding + mScrollX, getHeight() + padding + mScrollY,
+ Region.Op.REPLACE);
+ // draw blue glow
canvas.drawBitmap(mPressedOrFocusedBackground,
- mScrollX - HolographicOutlineHelper.MAX_OUTER_BLUR_RADIUS / 2,
- mScrollY - HolographicOutlineHelper.MAX_OUTER_BLUR_RADIUS / 2,
- mTempPaint);
+ mScrollX - padding, mScrollY - padding, mTempPaint);
+ canvas.restore();
}
if (isBuildingCache()) {
// We enhance the shadow by drawing the shadow twice