From e5be1d7a397db08a4dd75c66bdbbc6e2b61baaa8 Mon Sep 17 00:00:00 2001 From: Diego Perez Date: Tue, 2 Jun 2015 11:14:53 +0100 Subject: Fix for shadows on theme editor If the preferred ColorModel doesn't support alpha, the shadows are incorrectly rendered. In the theme editor on Linux, the graphics device object doesn't support alpha so we need to use a different color model. We default to ARGB which works fine. Change-Id: I3e71e3d086fa4975a9149d36792e574813f37dfd --- .../bridge/src/android/graphics/LinearGradient_Delegate.java | 4 +++- .../bridge/src/android/graphics/RadialGradient_Delegate.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'tools/layoutlib') diff --git a/tools/layoutlib/bridge/src/android/graphics/LinearGradient_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/LinearGradient_Delegate.java index 703719c..cbc30c3 100644 --- a/tools/layoutlib/bridge/src/android/graphics/LinearGradient_Delegate.java +++ b/tools/layoutlib/bridge/src/android/graphics/LinearGradient_Delegate.java @@ -23,6 +23,8 @@ import com.android.tools.layoutlib.annotations.LayoutlibDelegate; import android.graphics.Shader.TileMode; +import java.awt.image.ColorModel; + /** * Delegate implementing the native methods of android.graphics.LinearGradient * @@ -158,7 +160,7 @@ public final class LinearGradient_Delegate extends Gradient_Delegate { java.awt.image.ColorModel colorModel) { mCanvasMatrix = canvasMatrix; mLocalMatrix = localMatrix; - mColorModel = colorModel; + mColorModel = colorModel.hasAlpha() ? colorModel : ColorModel.getRGBdefault(); } @Override diff --git a/tools/layoutlib/bridge/src/android/graphics/RadialGradient_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/RadialGradient_Delegate.java index 6edb140..750580b 100644 --- a/tools/layoutlib/bridge/src/android/graphics/RadialGradient_Delegate.java +++ b/tools/layoutlib/bridge/src/android/graphics/RadialGradient_Delegate.java @@ -23,6 +23,8 @@ import com.android.tools.layoutlib.annotations.LayoutlibDelegate; import android.graphics.Shader.TileMode; +import java.awt.image.ColorModel; + /** * Delegate implementing the native methods of android.graphics.RadialGradient * @@ -146,7 +148,7 @@ public class RadialGradient_Delegate extends Gradient_Delegate { java.awt.image.ColorModel colorModel) { mCanvasMatrix = canvasMatrix; mLocalMatrix = localMatrix; - mColorModel = colorModel; + mColorModel = colorModel.hasAlpha() ? colorModel : ColorModel.getRGBdefault(); } @Override -- cgit v1.1