Index: src/core/SkPicturePlayback.cpp |
diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp |
index 307e9468717352ca5e2c2bb6c107381805fd7f57..ba38bbd2ad8c0ab44b0b1368059dc07b1f1549bd 100644 |
--- a/src/core/SkPicturePlayback.cpp |
+++ b/src/core/SkPicturePlayback.cpp |
@@ -419,7 +419,11 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader, |
const SkPoint* pos = (const SkPoint*)reader->skip(points * sizeof(SkPoint)); |
const SkScalar top = reader->readScalar(); |
const SkScalar bottom = reader->readScalar(); |
- if (!canvas->quickRejectY(top, bottom) && paint) { |
+ SkRect src; |
+ canvas->getClipBounds(&src); |
+ src.fTop = top; |
+ src.fBottom = bottom; |
+ if (!canvas->quickReject(src) && paint) { |
reed1
2016/08/11 16:49:08
Lets write own own check here -- should be trivial
msarett
2016/08/11 16:56:49
Of course, thanks. Done.
|
canvas->drawPosText(text.text(), text.length(), pos, *paint); |
} |
} break; |
@@ -443,7 +447,11 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader, |
const SkScalar top = *xpos++; |
const SkScalar bottom = *xpos++; |
const SkScalar constY = *xpos++; |
- if (!canvas->quickRejectY(top, bottom) && paint) { |
+ SkRect src; |
+ canvas->getClipBounds(&src); |
+ src.fTop = top; |
+ src.fBottom = bottom; |
+ if (!canvas->quickReject(src) && paint) { |
canvas->drawPosTextH(text.text(), text.length(), xpos, constY, *paint); |
} |
} break; |
@@ -498,7 +506,11 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader, |
// ptr[1] == y |
// ptr[2] == top |
// ptr[3] == bottom |
- if (!canvas->quickRejectY(ptr[2], ptr[3]) && paint) { |
+ SkRect src; |
+ canvas->getClipBounds(&src); |
+ src.fTop = ptr[2]; |
+ src.fBottom = ptr[3]; |
+ if (!canvas->quickReject(src) && paint) { |
canvas->drawText(text.text(), text.length(), ptr[0], ptr[1], *paint); |
} |
} break; |