Index: src/gpu/GrTextContext.cpp |
diff --git a/src/gpu/GrTextContext.cpp b/src/gpu/GrTextContext.cpp |
index 895e97752b81fc1e322fbba4349cbc15e6ad6149..e83dd82544eb0a29f99a0b999b963b8820080662 100644 |
--- a/src/gpu/GrTextContext.cpp |
+++ b/src/gpu/GrTextContext.cpp |
@@ -7,26 +7,29 @@ |
#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), |
- fContext(context), fDeviceProperties(properties), fDrawTarget(NULL) { |
+ fContext(context), fDeviceProperties(properties), |
+ fDrawTarget(NULL) { |
} |
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); |
+ fClip.getConservativeBounds(fRenderTarget->width(), fRenderTarget->height(), &fClipRect); |
fDrawTarget = fContext->getTextTarget(); |
@@ -34,15 +37,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 +54,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 +63,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; |
} |