| Index: src/gpu/GrTest.cpp
|
| diff --git a/src/gpu/GrTest.cpp b/src/gpu/GrTest.cpp
|
| index 4adc3f7b7b770585a34e92729b3efe509c4c60e9..7a44942a16216f253a65154e072c92b1dfbb1037 100644
|
| --- a/src/gpu/GrTest.cpp
|
| +++ b/src/gpu/GrTest.cpp
|
| @@ -11,10 +11,12 @@
|
| #include "GrBatchAtlas.h"
|
| #include "GrBatchFontCache.h"
|
| #include "GrContextOptions.h"
|
| +#include "GrDrawContext.h"
|
| #include "GrDrawingManager.h"
|
| #include "GrGpuResourceCacheAccess.h"
|
| #include "GrResourceCache.h"
|
| #include "GrTextBlobCache.h"
|
| +#include "SkGrPriv.h"
|
| #include "SkString.h"
|
|
|
| namespace GrTest {
|
| @@ -97,6 +99,35 @@ void GrContext::printGpuStats() const {
|
| SkDebugf("%s", out.c_str());
|
| }
|
|
|
| +void GrContext::drawFontCache(const SkRect& rect, GrMaskFormat format, const SkPaint& paint,
|
| + GrRenderTarget* target) {
|
| + GrBatchFontCache* cache = this->getBatchFontCache();
|
| +
|
| + GrTexture* atlas = cache->getTexture(format);
|
| +
|
| + SkAutoTUnref<GrDrawContext> drawContext(this->drawContext(target));
|
| + // TODO: add drawContext method to encapsulate this.
|
| +
|
| + GrPaint grPaint;
|
| + SkMatrix mat;
|
| + mat.reset();
|
| + if (!SkPaintToGrPaint(this, paint, mat, &grPaint)) {
|
| + return;
|
| + }
|
| + SkMatrix textureMat;
|
| + textureMat.reset();
|
| + // TODO: use setScaleTranslate()
|
| + textureMat[SkMatrix::kMScaleX] = 1.0f/rect.width();
|
| + textureMat[SkMatrix::kMScaleY] = 1.0f/rect.height();
|
| + textureMat[SkMatrix::kMTransX] = -rect.fLeft/rect.width();
|
| + textureMat[SkMatrix::kMTransY] = -rect.fTop/rect.height();
|
| +
|
| + grPaint.addColorTextureProcessor(atlas, textureMat);
|
| +
|
| + GrClip clip;
|
| + drawContext->drawRect(clip, grPaint, mat, rect);
|
| +}
|
| +
|
| #if GR_GPU_STATS
|
| void GrGpu::Stats::dump(SkString* out) {
|
| out->appendf("Render Target Binds: %d\n", fRenderTargetBinds);
|
|
|