Fixed r2125. Identical change but also moves GrTesselatedPathRenderer.h to src dir.
Verbal SGTM from Tom who reviewed the original version at: http://codereview.appspot.com/4894050/
git-svn-id: http://skia.googlecode.com/svn/trunk@2129 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/include/GrContext.h b/gpu/include/GrContext.h
index 0671701..44e0c04 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 @@
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 d1de734..b3e902d 100644
--- a/gpu/src/GrContext.cpp
+++ b/gpu/src/GrContext.cpp
@@ -61,6 +61,7 @@
delete fDrawBuffer;
delete fDrawBufferVBAllocPool;
delete fDrawBufferIBAllocPool;
+ GrSafeUnref(fDefaultPathRenderer);
GrSafeUnref(fCustomPathRenderer);
GrSafeUnref(fAAFillRectIndexBuffer);
GrSafeUnref(fAAStrokeRectIndexBuffer);
@@ -1706,14 +1707,14 @@
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 @@
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
similarity index 100%
rename from gpu/include/GrDrawTarget.h
rename to gpu/src/GrDrawTarget.h
diff --git a/gpu/src/GrGpu.cpp b/gpu/src/GrGpu.cpp
index 53b5c03..cde851d 100644
--- a/gpu/src/GrGpu.cpp
+++ b/gpu/src/GrGpu.cpp
@@ -62,6 +62,8 @@
GrGpu::~GrGpu() {
this->releaseResources();
+ GrSafeUnref(fDefaultPathRenderer);
+ GrSafeUnref(fClientPathRenderer);
}
void GrGpu::abandonResources() {
diff --git a/gpu/include/GrPathRenderer.h b/gpu/src/GrPathRenderer.h
similarity index 100%
rename from gpu/include/GrPathRenderer.h
rename to gpu/src/GrPathRenderer.h
diff --git a/gpu/include/GrTesselatedPathRenderer.h b/gpu/src/GrTesselatedPathRenderer.h
similarity index 100%
rename from gpu/include/GrTesselatedPathRenderer.h
rename to gpu/src/GrTesselatedPathRenderer.h
diff --git a/gyp/gpu.gyp b/gyp/gpu.gyp
index 5869dca..11e39a7 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',
@@ -120,7 +118,6 @@
'../gpu/include/GrTArray.h',
'../gpu/include/GrTBSearch.h',
'../gpu/include/GrTDArray.h',
- '../gpu/include/GrTesselatedPathRenderer.h',
'../gpu/include/GrTextContext.h',
'../gpu/include/GrTextStrike.h',
'../gpu/include/GrTexture.h',
@@ -138,6 +135,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 +167,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',
@@ -181,6 +180,7 @@
'../gpu/src/GrStencilBuffer.cpp',
'../gpu/src/GrStencilBuffer.h',
'../gpu/src/GrTesselatedPathRenderer.cpp',
+ '../gpu/src/GrTesselatedPathRenderer.h',
'../gpu/src/GrTextContext.cpp',
'../gpu/src/GrTextStrike.cpp',
'../gpu/src/GrTextStrike_impl.h',
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index e450a95..c523ad8 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"