summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics/android/GraphicsContextAndroid.cpp
diff options
context:
space:
mode:
authorRussell Brenner <russellbrenner@google.com>2011-03-22 10:56:59 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-03-22 10:56:59 -0700
commit9ae96f817b1e51451a4e20bb1a1ceb225ba2d9e5 (patch)
tree579d74c0f3324032216301bb109635538f9f5900 /WebCore/platform/graphics/android/GraphicsContextAndroid.cpp
parentaf4dc085587645c91d0b74c17fdc159ed9ba1825 (diff)
parent54b4a84eb76b06b7a4ff51b331b8999751545aa7 (diff)
downloadexternal_webkit-9ae96f817b1e51451a4e20bb1a1ceb225ba2d9e5.zip
external_webkit-9ae96f817b1e51451a4e20bb1a1ceb225ba2d9e5.tar.gz
external_webkit-9ae96f817b1e51451a4e20bb1a1ceb225ba2d9e5.tar.bz2
Merge "Fix graphics shadow w/o blur"
Diffstat (limited to 'WebCore/platform/graphics/android/GraphicsContextAndroid.cpp')
-rw-r--r--WebCore/platform/graphics/android/GraphicsContextAndroid.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/WebCore/platform/graphics/android/GraphicsContextAndroid.cpp b/WebCore/platform/graphics/android/GraphicsContextAndroid.cpp
index 2f5a4b9..9d5e49c 100644
--- a/WebCore/platform/graphics/android/GraphicsContextAndroid.cpp
+++ b/WebCore/platform/graphics/android/GraphicsContextAndroid.cpp
@@ -70,10 +70,16 @@ template <typename T> T* deepCopyPtr(const T* src)
// Is Color premultiplied or not? If it is, then I can't blindly pass it to paint.setColor()
struct ShadowRec {
- SkScalar blur; // >0 means valid shadow
+ SkScalar blur;
SkScalar dx;
SkScalar dy;
- SkColor color;
+ SkColor color; // alpha>0 means valid shadow
+ ShadowRec(SkScalar b = 0,
+ SkScalar x = 0,
+ SkScalar y = 0,
+ SkColor c = 0) // by default, alpha=0, so no shadow
+ : blur(b), dx(x), dy(y), color(c)
+ {};
};
class GraphicsContextPlatformPrivate {
@@ -110,7 +116,6 @@ public:
, strokeColor(SK_ColorBLACK)
, useAA(true)
{
- shadow.blur = 0;
}
State(const State& other)
@@ -252,7 +257,7 @@ public:
paint->setAntiAlias(m_state->useAA);
paint->setDither(true);
paint->setXfermodeMode(m_state->mode);
- if (m_state->shadow.blur > 0) {
+ if (SkColorGetA(m_state->shadow.color) > 0) {
SkDrawLooper* looper = new SkBlurDrawLooper(m_state->shadow.blur,
m_state->shadow.dx,
m_state->shadow.dy,