I'd really like to land this before the branch so speedy reviews are appreciated.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/586d5d640b19860dfbbd903a5188da1bbbe87336
Review URL: https://codereview.chromium.org/936943002
diff --git a/src/gpu/GrTextContext.cpp b/src/gpu/GrTextContext.cpp
index 895e977..cef99c6 100644
--- a/src/gpu/GrTextContext.cpp
+++ b/src/gpu/GrTextContext.cpp
@@ -7,10 +7,11 @@
#include "GrTextContext.h"
#include "GrContext.h"
+#include "GrDrawTarget.h"
+#include "GrFontScaler.h"
#include "SkAutoKern.h"
#include "SkGlyphCache.h"
-#include "GrFontScaler.h"
GrTextContext::GrTextContext(GrContext* context, const SkDeviceProperties& properties) :
fFallbackTextContext(NULL),
@@ -21,12 +22,13 @@
SkDELETE(fFallbackTextContext);
}
-void GrTextContext::init(GrRenderTarget* rt, const GrPaint& grPaint, const SkPaint& skPaint) {
- fClip = fContext->getClip();
+void GrTextContext::init(GrRenderTarget* rt, const GrClip& clip, const GrPaint& grPaint,
+ const SkPaint& skPaint) {
+ fClip = clip;
fRenderTarget.reset(SkRef(rt));
- fClip->getConservativeBounds(fRenderTarget->width(), fRenderTarget->height(), &fClipRect);
+ fClip.getConservativeBounds(fRenderTarget->width(), fRenderTarget->height(), &fClipRect);
fDrawTarget = fContext->getTextTarget();
@@ -34,15 +36,15 @@
fSkPaint = skPaint;
}
-bool GrTextContext::drawText(GrRenderTarget* rt, const GrPaint& paint, const SkPaint& skPaint,
- const SkMatrix& viewMatrix,
+bool GrTextContext::drawText(GrRenderTarget* rt, const GrClip& clip, const GrPaint& paint,
+ const SkPaint& skPaint, const SkMatrix& viewMatrix,
const char text[], size_t byteLength,
SkScalar x, SkScalar y) {
GrTextContext* textContext = this;
do {
if (textContext->canDraw(skPaint, viewMatrix)) {
- textContext->onDrawText(rt, paint, skPaint, viewMatrix, text, byteLength, x, y);
+ textContext->onDrawText(rt, clip, paint, skPaint, viewMatrix, text, byteLength, x, y);
return true;
}
textContext = textContext->fFallbackTextContext;
@@ -51,8 +53,8 @@
return false;
}
-bool GrTextContext::drawPosText(GrRenderTarget* rt, const GrPaint& paint, const SkPaint& skPaint,
- const SkMatrix& viewMatrix,
+bool GrTextContext::drawPosText(GrRenderTarget* rt, const GrClip& clip, const GrPaint& paint,
+ const SkPaint& skPaint, const SkMatrix& viewMatrix,
const char text[], size_t byteLength,
const SkScalar pos[], int scalarsPerPosition,
const SkPoint& offset) {
@@ -60,7 +62,7 @@
GrTextContext* textContext = this;
do {
if (textContext->canDraw(skPaint, viewMatrix)) {
- textContext->onDrawPosText(rt, paint, skPaint, viewMatrix, text, byteLength, pos,
+ textContext->onDrawPosText(rt, clip, paint, skPaint, viewMatrix, text, byteLength, pos,
scalarsPerPosition, offset);
return true;
}