summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/graphics/ShadowGenerator.java
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2017-02-27 13:30:20 -0800
committerTony <twickham@google.com>2017-03-01 16:36:04 -0800
commit6c82867a7ea3a95a19d6cec7d1fe164d234d2cb6 (patch)
treea57698edcf4ac0da9541e6e657c1c7ac9e2ff0d1 /src/com/android/launcher3/graphics/ShadowGenerator.java
parentcf18c3c2d14b54896e51fec829ae2d89642a59eb (diff)
downloadandroid_packages_apps_Trebuchet-6c82867a7ea3a95a19d6cec7d1fe164d234d2cb6.tar.gz
android_packages_apps_Trebuchet-6c82867a7ea3a95a19d6cec7d1fe164d234d2cb6.tar.bz2
android_packages_apps_Trebuchet-6c82867a7ea3a95a19d6cec7d1fe164d234d2cb6.zip
Add shadow to badges
- Add static method to ShadowGenerator to generate a circle Bitmap with a shadow. - Move setColorScale() from DragView to Themes, and use it to apply color to the shadowed Bitmap. Bug: 35744066 Change-Id: I8d1da528bbf94dc83851f0b4016361ed9f8d5349
Diffstat (limited to 'src/com/android/launcher3/graphics/ShadowGenerator.java')
-rw-r--r--src/com/android/launcher3/graphics/ShadowGenerator.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/com/android/launcher3/graphics/ShadowGenerator.java b/src/com/android/launcher3/graphics/ShadowGenerator.java
index 31276ecc0..6c603c971 100644
--- a/src/com/android/launcher3/graphics/ShadowGenerator.java
+++ b/src/com/android/launcher3/graphics/ShadowGenerator.java
@@ -83,6 +83,38 @@ public class ShadowGenerator {
return result;
}
+ public static Bitmap createCircleWithShadow(int circleColor, int diameter) {
+
+ float shadowRadius = diameter * 1f / 32;
+ float shadowYOffset = diameter * 1f / 16;
+
+ int radius = diameter / 2;
+
+ Canvas canvas = new Canvas();
+ Paint blurPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
+ blurPaint.setMaskFilter(new BlurMaskFilter(shadowRadius, Blur.NORMAL));
+
+ int center = Math.round(radius + shadowRadius + shadowYOffset);
+ int size = center * 2;
+ Bitmap result = Bitmap.createBitmap(size, size, Config.ARGB_8888);
+ canvas.setBitmap(result);
+
+ // Draw ambient shadow, center aligned within size
+ blurPaint.setAlpha(AMBIENT_SHADOW_ALPHA);
+ canvas.drawCircle(center, center, radius, blurPaint);
+
+ // Draw key shadow, bottom aligned within size
+ blurPaint.setAlpha(KEY_SHADOW_ALPHA);
+ canvas.drawCircle(center, center + shadowYOffset, radius, blurPaint);
+
+ // Draw the circle
+ Paint drawPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
+ drawPaint.setColor(circleColor);
+ canvas.drawCircle(center, center, radius, drawPaint);
+
+ return result;
+ }
+
public static ShadowGenerator getInstance(Context context) {
Preconditions.assertNonUiThread();
synchronized (LOCK) {