diff options
Diffstat (limited to 'src/gpu/GrContext.cpp')
-rwxr-xr-x | src/gpu/GrContext.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp index 4c7f3eabe0..a1f1c253a7 100755 --- a/src/gpu/GrContext.cpp +++ b/src/gpu/GrContext.cpp @@ -10,7 +10,9 @@ #include "GrAARectRenderer.h" #include "GrBatch.h" +#include "GrBatchFontCache.h" #include "GrBatchTarget.h" +#include "GrBitmapTextContext.h" #include "GrBufferAllocPool.h" #include "GrDefaultGeoProcFactory.h" #include "GrFontCache.h" @@ -94,6 +96,7 @@ GrContext::GrContext(const Options& opts) : fOptions(opts) { fPathRendererChain = NULL; fSoftwarePathRenderer = NULL; fResourceCache = NULL; + fBatchFontCache = NULL; fFontCache = NULL; fDrawBuffer = NULL; fDrawBufferVBAllocPool = NULL; @@ -129,6 +132,10 @@ void GrContext::initCommon() { fDidTestPMConversions = false; this->setupDrawBuffer(); + + // GrBatchFontCache will eventually replace GrFontCache + fBatchFontCache = SkNEW(GrBatchFontCache); + fBatchFontCache->init(this); } GrContext::~GrContext() { @@ -143,6 +150,7 @@ GrContext::~GrContext() { } SkDELETE(fResourceCache); + SkDELETE(fBatchFontCache); SkDELETE(fFontCache); SkDELETE(fDrawBuffer); SkDELETE(fDrawBufferVBAllocPool); @@ -180,6 +188,7 @@ void GrContext::abandonContext() { fAARectRenderer->reset(); fOvalRenderer->reset(); + fBatchFontCache->freeAll(); fFontCache->freeAll(); fLayerCache->freeAll(); } @@ -198,6 +207,7 @@ void GrContext::freeGpuResources() { fAARectRenderer->reset(); fOvalRenderer->reset(); + fBatchFontCache->freeAll(); fFontCache->freeAll(); fLayerCache->freeAll(); // a path renderer may be holding onto resources @@ -226,8 +236,12 @@ GrTextContext* GrContext::createTextContext(GrRenderTarget* renderTarget, } } +#ifdef USE_BITMAP_TEXTBLOBS + return GrBitmapTextContextB::Create(this, gpuDevice, leakyProperties); +#else return GrDistanceFieldTextContext::Create(this, gpuDevice, leakyProperties, enableDistanceFieldFonts); +#endif } //////////////////////////////////////////////////////////////////////////////// |