summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDiego Perez <diegoperez@google.com>2015-06-02 11:14:53 +0100
committerDiego Perez <diegoperez@google.com>2015-06-02 11:14:53 +0100
commite5be1d7a397db08a4dd75c66bdbbc6e2b61baaa8 (patch)
tree89362c89c41828a31c8f885f8f0c145ebcd1c7a3 /tools
parent958a7c1cd816986ac58073ae415b0825c0a11b7b (diff)
downloadframeworks_base-e5be1d7a397db08a4dd75c66bdbbc6e2b61baaa8.zip
frameworks_base-e5be1d7a397db08a4dd75c66bdbbc6e2b61baaa8.tar.gz
frameworks_base-e5be1d7a397db08a4dd75c66bdbbc6e2b61baaa8.tar.bz2
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
Diffstat (limited to 'tools')
-rw-r--r--tools/layoutlib/bridge/src/android/graphics/LinearGradient_Delegate.java4
-rw-r--r--tools/layoutlib/bridge/src/android/graphics/RadialGradient_Delegate.java4
2 files changed, 6 insertions, 2 deletions
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