Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(259)

Unified Diff: src/gpu/GrGpu.h

Issue 1157683006: Refactor GrGpu path rendering functions to GrPathRendering (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase, remove include ordering Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/gpu/GrBatchTarget.h ('k') | src/gpu/GrGpu.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/GrGpu.h
diff --git a/src/gpu/GrGpu.h b/src/gpu/GrGpu.h
index 539a6a7a60daceb25102b7dd08d366bb66bf4e8e..c5cec154eb8053961d3b4cb03778bf33c672ec37 100644
--- a/src/gpu/GrGpu.h
+++ b/src/gpu/GrGpu.h
@@ -8,21 +8,30 @@
#ifndef GrGpu_DEFINED
#define GrGpu_DEFINED
-#include "GrDrawTarget.h"
-#include "GrPathRendering.h"
+#include "GrPipelineBuilder.h"
#include "GrProgramDesc.h"
+#include "GrStencil.h"
+#include "GrTraceMarker.h"
+#include "GrXferProcessor.h"
#include "SkPath.h"
+class GrBatchTracker;
class GrContext;
struct GrGLInterface;
+class GrIndexBuffer;
class GrNonInstancedVertices;
class GrPath;
class GrPathRange;
class GrPathRenderer;
class GrPathRendererChain;
+class GrPathRendering;
class GrPipeline;
class GrPrimitiveProcessor;
+class GrRenderTarget;
class GrStencilAttachment;
+class GrSurface;
+class GrTexture;
+class GrVertexBuffer;
class GrVertices;
class GrGpu : public SkRefCnt {
@@ -47,7 +56,7 @@ public:
*/
const GrCaps* caps() const { return fCaps.get(); }
- GrPathRendering* pathRendering() { return fPathRendering.get(); }
+ GrPathRendering* pathRendering() { return fPathRendering.get(); }
// Called by GrContext when the underlying backend context has been destroyed.
// GrGpu should use this to ensure that no backend API calls will be made from
@@ -299,27 +308,6 @@ public:
void draw(const DrawArgs&, const GrVertices&);
- /** None of these params are optional, pointers used just to avoid making copies. */
- struct StencilPathState {
- bool fUseHWAA;
- GrRenderTarget* fRenderTarget;
- const SkMatrix* fViewMatrix;
- const GrStencilSettings* fStencil;
- const GrScissorState* fScissor;
- };
-
- void stencilPath(const GrPath*, const StencilPathState&);
-
- void drawPath(const DrawArgs&, const GrPath*, const GrStencilSettings&);
- void drawPaths(const DrawArgs&,
- const GrPathRange*,
- const void* indices,
- GrDrawTarget::PathIndexType,
- const float transformValues[],
- GrDrawTarget::PathTransformType,
- int count,
- const GrStencilSettings&);
-
///////////////////////////////////////////////////////////////////////////
// Debugging and Stats
@@ -439,19 +427,7 @@ private:
// overridden by backend-specific derived class to perform the draw call.
virtual void onDraw(const DrawArgs&, const GrNonInstancedVertices&) = 0;
- virtual void onStencilPath(const GrPath*, const StencilPathState&) = 0;
-
- virtual void onDrawPath(const DrawArgs&, const GrPath*, const GrStencilSettings&) = 0;
- virtual void onDrawPaths(const DrawArgs&,
- const GrPathRange*,
- const void* indices,
- GrDrawTarget::PathIndexType,
- const float transformValues[],
- GrDrawTarget::PathTransformType,
- int count,
- const GrStencilSettings&) = 0;
-
- // overridden by backend-specific derived class to perform the read pixels.
+
virtual bool onReadPixels(GrRenderTarget* target,
int left, int top, int width, int height,
GrPixelConfig,
@@ -502,6 +478,7 @@ private:
// The context owns us, not vice-versa, so this ptr is not ref'ed by Gpu.
GrContext* fContext;
+ friend class GrPathRendering;
typedef SkRefCnt INHERITED;
};
« no previous file with comments | « src/gpu/GrBatchTarget.h ('k') | src/gpu/GrGpu.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698