diff options
author | Michael Jurka <mikejurka@google.com> | 2011-01-05 20:57:04 -0800 |
---|---|---|
committer | Michael Jurka <mikejurka@google.com> | 2011-01-06 12:36:53 -0800 |
commit | 137142e39bd65429b0ad3e502aa9851ba81ca6ff (patch) | |
tree | 907553f29793fdf660d9917d65b942e2fad096d3 /src/com/android/launcher2/BubbleTextView.java | |
parent | 4b1c0ba3ac4a76d3ba04035e2785ced5a1faf826 (diff) | |
download | android_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.java | 14 |
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 |