aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/core/SkDevice.h3
-rw-r--r--src/core/SkBitmapDevice.cpp4
-rw-r--r--src/core/SkCanvas.cpp1
-rw-r--r--src/gpu/SkGpuDevice.cpp4
4 files changed, 5 insertions, 7 deletions
diff --git a/include/core/SkDevice.h b/include/core/SkDevice.h
index 618431a2de..f55354bf0d 100644
--- a/include/core/SkDevice.h
+++ b/include/core/SkDevice.h
@@ -138,8 +138,7 @@ protected:
};
struct TextFlags {
- uint32_t fFlags; // SkPaint::getFlags()
- SkPaint::Hinting fHinting;
+ uint32_t fFlags; // SkPaint::getFlags()
};
/**
diff --git a/src/core/SkBitmapDevice.cpp b/src/core/SkBitmapDevice.cpp
index 2711004aef..3af47f6e96 100644
--- a/src/core/SkBitmapDevice.cpp
+++ b/src/core/SkBitmapDevice.cpp
@@ -386,9 +386,9 @@ bool SkBitmapDevice::filterTextFlags(const SkPaint& paint, TextFlags* flags) {
paint.isFakeBoldText() ||
paint.getStyle() != SkPaint::kFill_Style ||
!SkXfermode::IsMode(paint.getXfermode(), SkXfermode::kSrcOver_Mode)) {
- // turn off lcd
+ // turn off lcd, but turn on kGenA8
flags->fFlags = paint.getFlags() & ~SkPaint::kLCDRenderText_Flag;
- flags->fHinting = paint.getHinting();
+ flags->fFlags |= SkPaint::kGenA8FromLCD_Flag;
return true;
}
// we're cool with the paint as is
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 62d60da178..6beb26e4ca 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -1993,7 +1993,6 @@ public:
if (device->filterTextFlags(paint, &flags)) {
SkPaint* newPaint = fLazy.set(paint);
newPaint->setFlags(flags.fFlags);
- newPaint->setHinting(flags.fHinting);
fPaint = newPaint;
} else {
fPaint = &paint;
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index b719f84278..0ec2b858c4 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -1765,9 +1765,9 @@ bool SkGpuDevice::filterTextFlags(const SkPaint& paint, TextFlags* flags) {
paint.getPathEffect() ||
paint.isFakeBoldText() ||
paint.getStyle() != SkPaint::kFill_Style) {
- // turn off lcd
+ // turn off lcd, but turn on kGenA8
flags->fFlags = paint.getFlags() & ~SkPaint::kLCDRenderText_Flag;
- flags->fHinting = paint.getHinting();
+ flags->fFlags |= SkPaint::kGenA8FromLCD_Flag;
return true;
}
// we're cool with the paint as is