aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--gpu/include/GrContext.h8
-rw-r--r--gpu/src/GrContext.cpp13
-rw-r--r--gpu/src/GrDrawTarget.h (renamed from gpu/include/GrDrawTarget.h)0
-rw-r--r--gpu/src/GrGpu.cpp2
-rw-r--r--gpu/src/GrPathRenderer.h (renamed from gpu/include/GrPathRenderer.h)0
-rw-r--r--gyp/gpu.gyp4
-rw-r--r--samplecode/SampleApp.cpp1
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"