aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkDevice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkDevice.cpp')
-rw-r--r--src/core/SkDevice.cpp12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/core/SkDevice.cpp b/src/core/SkDevice.cpp
index e309097acf..860e45b0ed 100644
--- a/src/core/SkDevice.cpp
+++ b/src/core/SkDevice.cpp
@@ -358,14 +358,6 @@ void SkDevice::drawDevice(const SkDraw& draw, SkDevice* device,
///////////////////////////////////////////////////////////////////////////////
-static bool isSrcOver(SkXfermode* xfer) {
- if (NULL == xfer) {
- return true;
- }
- SkXfermode::Mode mode;
- return xfer->asMode(&mode) && (SkXfermode::kSrcOver_Mode == mode);
-}
-
bool SkDevice::filterTextFlags(const SkPaint& paint, TextFlags* flags) {
if (!paint.isLCDRenderText() || !paint.isAntiAlias()) {
// we're cool with the paint as is
@@ -378,11 +370,11 @@ bool SkDevice::filterTextFlags(const SkPaint& paint, TextFlags* flags) {
paint.getMaskFilter() ||
paint.getColorFilter() ||
#endif
- !isSrcOver(paint.getXfermode()) ||
paint.getRasterizer() ||
paint.getPathEffect() ||
paint.isFakeBoldText() ||
- paint.getStyle() != SkPaint::kFill_Style) {
+ paint.getStyle() != SkPaint::kFill_Style ||
+ !SkXfermode::IsMode(paint.getXfermode(), SkXfermode::kSrcOver_Mode)) {
// turn off lcd
flags->fFlags = paint.getFlags() & ~SkPaint::kLCDRenderText_Flag;
flags->fHinting = paint.getHinting();