Skip to content

Commit 5a829cb

Browse files
raphlinusAndroid (Google) Code Review
authored andcommitted
Merge "Fix for testPaintFlagsDrawFilter CTS test" into jb-mr1-dev
2 parents 8abd702 + e174ae2 commit 5a829cb

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

core/jni/android/graphics/Canvas.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
#include "SkCanvas.h"
2222
#include "SkDevice.h"
23+
#include "SkDrawFilter.h"
2324
#include "SkGraphics.h"
2425
#include "SkImageRef_GlobalPool.h"
2526
#include "SkPorterDuff.h"
@@ -784,7 +785,15 @@ class SkCanvasGlue {
784785
#define kStdUnderline_Thickness (1.0f / 18.0f)
785786

786787
static void doDrawTextDecorations(SkCanvas* canvas, jfloat x, jfloat y, jfloat length, SkPaint* paint) {
787-
uint32_t flags = paint->getFlags();
788+
uint32_t flags;
789+
SkDrawFilter* drawFilter = canvas->getDrawFilter();
790+
if (drawFilter) {
791+
SkPaint paintCopy(*paint);
792+
drawFilter->filter(&paintCopy, SkDrawFilter::kText_Type);
793+
flags = paintCopy.getFlags();
794+
} else {
795+
flags = paint->getFlags();
796+
}
788797
if (flags & (SkPaint::kUnderlineText_Flag | SkPaint::kStrikeThruText_Flag)) {
789798
SkScalar left = SkFloatToScalar(x);
790799
SkScalar right = SkFloatToScalar(x + length);

0 commit comments

Comments
 (0)