diff options
-rw-r--r-- | gpu/include/GrContext.h | 8 | ||||
-rw-r--r-- | gpu/src/GrContext.cpp | 13 | ||||
-rw-r--r-- | gpu/src/GrDrawTarget.h (renamed from gpu/include/GrDrawTarget.h) | 0 | ||||
-rw-r--r-- | gpu/src/GrGpu.cpp | 2 | ||||
-rw-r--r-- | gpu/src/GrPathRenderer.h (renamed from gpu/include/GrPathRenderer.h) | 0 | ||||
-rw-r--r-- | gyp/gpu.gyp | 4 | ||||
-rw-r--r-- | samplecode/SampleApp.cpp | 1 |
7 files changed, 18 insertions, 10 deletions
diff --git a/gpu/include/GrContext.h b/gpu/include/GrContext.h index 06717011ae..44e0c041cc 100644 --- a/gpu/include/GrContext.h +++ b/gpu/include/GrContext.h @@ -12,16 +12,20 @@ #include "GrClip.h" #include "GrPaint.h" -#include "GrPathRenderer.h" +class GrDefaultPathRenderer; +class GrDrawTarget; class GrFontCache; class GrGpu; struct GrGpuStats; +class GrIndexBuffer; class GrIndexBufferAllocPool; class GrInOrderDrawBuffer; +class GrPathRenderer; class GrResourceEntry; class GrResourceCache; class GrStencilBuffer; +class GrVertexBuffer; class GrVertexBufferAllocPool; @@ -551,7 +555,7 @@ private: GrFontCache* fFontCache; GrPathRenderer* fCustomPathRenderer; - GrDefaultPathRenderer fDefaultPathRenderer; + GrDefaultPathRenderer* fDefaultPathRenderer; GrVertexBufferAllocPool* fDrawBufferVBAllocPool; GrIndexBufferAllocPool* fDrawBufferIBAllocPool; diff --git a/gpu/src/GrContext.cpp b/gpu/src/GrContext.cpp index d1de73496f..b3e902d798 100644 --- a/gpu/src/GrContext.cpp +++ b/gpu/src/GrContext.cpp @@ -61,6 +61,7 @@ GrContext::~GrContext() { delete fDrawBuffer; delete fDrawBufferVBAllocPool; delete fDrawBufferIBAllocPool; + GrSafeUnref(fDefaultPathRenderer); GrSafeUnref(fCustomPathRenderer); GrSafeUnref(fAAFillRectIndexBuffer); GrSafeUnref(fAAStrokeRectIndexBuffer); @@ -1706,14 +1707,14 @@ void GrContext::printStats() const { fGpu->printStats(); } -GrContext::GrContext(GrGpu* gpu) : - fDefaultPathRenderer(gpu->supportsTwoSidedStencil(), - gpu->supportsStencilWrapOps()) { - +GrContext::GrContext(GrGpu* gpu) { fGpu = gpu; fGpu->ref(); fGpu->setContext(this); + fDefaultPathRenderer = + new GrDefaultPathRenderer(gpu->supportsTwoSidedStencil(), + gpu->supportsStencilWrapOps()); fCustomPathRenderer = GrPathRenderer::CreatePathRenderer(); fGpu->setClipPathRenderer(fCustomPathRenderer); @@ -1785,8 +1786,8 @@ GrPathRenderer* GrContext::getPathRenderer(const GrPath& path, fCustomPathRenderer->canDrawPath(path, fill)) { return fCustomPathRenderer; } else { - GrAssert(fDefaultPathRenderer.canDrawPath(path, fill)); - return &fDefaultPathRenderer; + GrAssert(fDefaultPathRenderer->canDrawPath(path, fill)); + return fDefaultPathRenderer; } } diff --git a/gpu/include/GrDrawTarget.h b/gpu/src/GrDrawTarget.h index 8196beb102..8196beb102 100644 --- a/gpu/include/GrDrawTarget.h +++ b/gpu/src/GrDrawTarget.h diff --git a/gpu/src/GrGpu.cpp b/gpu/src/GrGpu.cpp index 53b5c03c97..cde851d49f 100644 --- a/gpu/src/GrGpu.cpp +++ b/gpu/src/GrGpu.cpp @@ -62,6 +62,8 @@ GrGpu::GrGpu() GrGpu::~GrGpu() { this->releaseResources(); + GrSafeUnref(fDefaultPathRenderer); + GrSafeUnref(fClientPathRenderer); } void GrGpu::abandonResources() { diff --git a/gpu/include/GrPathRenderer.h b/gpu/src/GrPathRenderer.h index 67c3a93cb5..67c3a93cb5 100644 --- a/gpu/include/GrPathRenderer.h +++ b/gpu/src/GrPathRenderer.h diff --git a/gyp/gpu.gyp b/gyp/gpu.gyp index 5869dcaba1..158a532d47 100644 --- a/gyp/gpu.gyp +++ b/gyp/gpu.gyp @@ -87,7 +87,6 @@ '../gpu/include/GrColor.h', '../gpu/include/GrConfig.h', '../gpu/include/GrContext.h', - '../gpu/include/GrDrawTarget.h', '../gpu/include/GrFontScaler.h', '../gpu/include/GrGLConfig.h', '../gpu/include/GrGLConfig_chrome.h', @@ -102,7 +101,6 @@ '../gpu/include/GrNoncopyable.h', '../gpu/include/GrPaint.h', '../gpu/include/GrPath.h', - '../gpu/include/GrPathRenderer.h', '../gpu/include/GrPathSink.h', '../gpu/include/GrPlotMgr.h', '../gpu/include/GrPoint.h', @@ -138,6 +136,7 @@ '../gpu/src/GrContext.cpp', '../gpu/src/GrCreatePathRenderer_none.cpp', '../gpu/src/GrDrawTarget.cpp', + '../gpu/src/GrDrawTarget.h', '../gpu/src/GrGeometryBuffer.h', '../gpu/src/GrGLDefaultInterface_none.cpp', '../gpu/src/GrGLIndexBuffer.cpp', @@ -169,6 +168,7 @@ '../gpu/src/GrMatrix.cpp', '../gpu/src/GrMemory.cpp', '../gpu/src/GrPathRenderer.cpp', + '../gpu/src/GrPathRenderer.h', '../gpu/src/GrPathUtils.cpp', '../gpu/src/GrPathUtils.h', '../gpu/src/GrRectanizer.cpp', diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp index e450a95824..c523ad8f98 100644 --- a/samplecode/SampleApp.cpp +++ b/samplecode/SampleApp.cpp @@ -24,6 +24,7 @@ #include "SkTypeface.h" #include "GrGLInterface.h" +#include "GrRenderTarget.h" #include "SkPDFDevice.h" #include "SkPDFDocument.h" |