summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiego Perez <diegoperez@google.com>2015-06-12 14:45:21 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-06-12 14:45:21 +0000
commit68155986508ef8b497228f8e60346d317e87991d (patch)
tree6953334d14c7569ed31d6c4f92d545e9eb7b7790
parent7ffde4a6304dc4ad7de3154c12ce8bb0a8001a07 (diff)
parentf5a99437bf203eca49e8ab8f74f2c206c551289b (diff)
downloadframeworks_base-68155986508ef8b497228f8e60346d317e87991d.zip
frameworks_base-68155986508ef8b497228f8e60346d317e87991d.tar.gz
frameworks_base-68155986508ef8b497228f8e60346d317e87991d.tar.bz2
am f5a99437: Merge "Fix crash when shadowSize is 0" into lmp-mr1-dev
* commit 'f5a99437bf203eca49e8ab8f74f2c206c551289b': Fix crash when shadowSize is 0
-rw-r--r--tools/layoutlib/bridge/src/android/view/ShadowPainter.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/layoutlib/bridge/src/android/view/ShadowPainter.java b/tools/layoutlib/bridge/src/android/view/ShadowPainter.java
index 38846bd..2f93bc8 100644
--- a/tools/layoutlib/bridge/src/android/view/ShadowPainter.java
+++ b/tools/layoutlib/bridge/src/android/view/ShadowPainter.java
@@ -34,12 +34,15 @@ public class ShadowPainter {
* new image. This method attempts to mimic the same visual characteristics as the rectangular
* shadow painting methods in this class, {@link #createRectangularDropShadow(java.awt.image.BufferedImage)}
* and {@link #createSmallRectangularDropShadow(java.awt.image.BufferedImage)}.
+ * <p/>
+ * If shadowSize is less or equals to 1, no shadow will be painted and the source image will be
+ * returned instead.
*
* @param source the source image
* @param shadowSize the size of the shadow, normally {@link #SHADOW_SIZE or {@link
* #SMALL_SHADOW_SIZE}}
*
- * @return a new image with the shadow painted in
+ * @return an image with the shadow painted in or the source image if shadowSize <= 1
*/
@NonNull
public static BufferedImage createDropShadow(BufferedImage source, int shadowSize) {
@@ -60,11 +63,15 @@ public class ShadowPainter {
* @param shadowOpacity the opacity of the shadow, with 0=transparent and 1=opaque
* @param shadowRgb the RGB int to use for the shadow color
*
- * @return a new image with the source image on top of its shadow
+ * @return a new image with the source image on top of its shadow when shadowSize > 0 or the
+ * source image otherwise
*/
@SuppressWarnings({"SuspiciousNameCombination", "UnnecessaryLocalVariable"}) // Imported code
public static BufferedImage createDropShadow(BufferedImage source, int shadowSize,
float shadowOpacity, int shadowRgb) {
+ if (shadowSize <= 0) {
+ return source;
+ }
// This code is based on
// http://www.jroller.com/gfx/entry/non_rectangular_shadow