Index: src/gpu/GrTextContext.cpp |
diff --git a/src/gpu/GrTextContext.cpp b/src/gpu/GrTextContext.cpp |
index 895e97752b81fc1e322fbba4349cbc15e6ad6149..cef99c6c45de33479ddccfec1f2e30ae7eb8a218 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 @@ GrTextContext::~GrTextContext() { |
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); |
jvanverth1
2015/02/24 21:52:08
Just wondering if we could remove fClipRect as a m
|
+ fClip.getConservativeBounds(fRenderTarget->width(), fRenderTarget->height(), &fClipRect); |
fDrawTarget = fContext->getTextTarget(); |
@@ -34,15 +36,15 @@ void GrTextContext::init(GrRenderTarget* rt, const GrPaint& grPaint, const SkPai |
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 @@ bool GrTextContext::drawText(GrRenderTarget* rt, const GrPaint& paint, const SkP |
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 @@ bool GrTextContext::drawPosText(GrRenderTarget* rt, const GrPaint& paint, const |
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; |
} |