aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/GrContext.cpp')
-rwxr-xr-xsrc/gpu/GrContext.cpp14
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
}
////////////////////////////////////////////////////////////////////////////////