| 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;
|
| }
|
|
|