diff options
author | Derek Sollenberger <djsollen@google.com> | 2011-06-23 15:33:53 -0400 |
---|---|---|
committer | Derek Sollenberger <derek@android.com> | 2011-06-24 14:29:16 -0400 |
commit | 09a404afe313667b9b937ae730f353f44b9cf285 (patch) | |
tree | d7ca74c41d5024d5ba0d288630f228776a1dfa35 | |
parent | 169f8bc5df73bcd9cd286f188d1c741ce5035c37 (diff) | |
download | external_webkit-09a404afe313667b9b937ae730f353f44b9cf285.zip external_webkit-09a404afe313667b9b937ae730f353f44b9cf285.tar.gz external_webkit-09a404afe313667b9b937ae730f353f44b9cf285.tar.bz2 |
Update WebKit to work with the latest Skia (r1562).
Change-Id: Iefa4e71603cfdfd8ecaff61994c007853cab2970
-rw-r--r-- | WebCore/platform/graphics/android/FontAndroid.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/WebCore/platform/graphics/android/FontAndroid.cpp b/WebCore/platform/graphics/android/FontAndroid.cpp index c783a0b..cd08480 100644 --- a/WebCore/platform/graphics/android/FontAndroid.cpp +++ b/WebCore/platform/graphics/android/FontAndroid.cpp @@ -71,24 +71,30 @@ static bool setupForText(SkPaint* paint, GraphicsContext* gc, if ((mode & (cTextFill | cTextStroke)) == (cTextFill | cTextStroke)) { SkLayerDrawLooper* looper = new SkLayerDrawLooper; paint->setLooper(looper)->unref(); - + + // Specify the behavior of the looper + SkLayerDrawLooper::LayerInfo info; + info.fPaintBits = SkLayerDrawLooper::kEntirePaint_Bits; + info.fColorMode = SkXfermode::kSrc_Mode; + // we clear the looper, in case we have a shadow SkPaint* fillP = NULL; SkPaint* strokeP = NULL; if (gc->willStroke()) { - strokeP = setupStroke(looper->addLayer(), gc, font); - strokeP->setLooper(NULL); + strokeP = setupStroke(looper->addLayer(info), gc, font); } if (gc->willFill()) { - fillP = setupFill(looper->addLayer(), gc, font); - fillP->setLooper(NULL); + fillP = setupFill(looper->addLayer(info), gc, font); } SkPaint shadowPaint; SkPoint offset; if (gc->setupShadowPaint(&shadowPaint, &offset)) { - SkPaint* p = looper->addLayer(offset.fX, offset.fY); + // add an offset to the looper when creating a shadow layer + info.fOffset.set(offset.fX, offset.fY); + + SkPaint* p = looper->addLayer(info); *p = shadowPaint; if (strokeP && !fillP) { // stroke the shadow if we have stroke but no fill |