| Index: src/gpu/GrClipMaskManager.h
|
| diff --git a/src/gpu/GrClipMaskManager.h b/src/gpu/GrClipMaskManager.h
|
| index 2b70f02e38689504749ab7096169c146262035d6..ef5fbc14d0ecc5ad7558d336a1493b9011d6070c 100644
|
| --- a/src/gpu/GrClipMaskManager.h
|
| +++ b/src/gpu/GrClipMaskManager.h
|
| @@ -17,7 +17,8 @@
|
| #include "SkTLList.h"
|
| #include "SkTypes.h"
|
|
|
| -class GrClip;
|
| +class GrAppliedClip;
|
| +class GrClipStackClip;
|
| class GrDrawTarget;
|
| class GrPathRenderer;
|
| class GrPathRendererChain;
|
| @@ -26,28 +27,6 @@ class GrTexture;
|
| class SkPath;
|
|
|
| /**
|
| - * Produced by GrClipMaskManager. It provides a set of modifications to the drawing state that
|
| - * are used to create the final GrPipeline for a GrBatch. This is a work in progress. It will
|
| - * eventually encapsulate all mechanisms for modifying the scissor, shaders, and stencil state
|
| - * to implement clipping.
|
| - */
|
| -class GrAppliedClip : public SkNoncopyable {
|
| -public:
|
| - GrAppliedClip() : fHasStencilClip(false) {}
|
| - const GrFragmentProcessor* clipCoverageFragmentProcessor() const { return fClipCoverageFP; }
|
| - const GrScissorState& scissorState() const { return fScissorState; }
|
| - bool hasStencilClip() const { return fHasStencilClip; }
|
| -
|
| -private:
|
| - SkAutoTUnref<const GrFragmentProcessor> fClipCoverageFP;
|
| - GrScissorState fScissorState;
|
| - bool fHasStencilClip;
|
| - friend class GrClipMaskManager;
|
| -
|
| - typedef SkNoncopyable INHERITED;
|
| -};
|
| -
|
| -/**
|
| * The clip mask creator handles the generation of the clip mask. If anti
|
| * aliasing is requested it will (in the future) generate a single channel
|
| * (8bit) mask. If no anti aliasing is requested it will generate a 1-bit
|
| @@ -57,7 +36,7 @@ private:
|
| */
|
| class GrClipMaskManager : SkNoncopyable {
|
| public:
|
| - GrClipMaskManager(GrDrawTarget* owner);
|
| + GrClipMaskManager(GrDrawTarget* owner) : fDrawTarget(owner) {}
|
|
|
| /**
|
| * Creates a clip mask if necessary as a stencil buffer or alpha texture
|
| @@ -65,7 +44,7 @@ public:
|
| * then the draw can be skipped. devBounds is optional but can help optimize
|
| * clipping.
|
| */
|
| - bool setupClipping(const GrPipelineBuilder&, const GrClip&, const SkRect* devBounds,
|
| + bool setupClipping(const GrPipelineBuilder&, const GrClipStackClip&, const SkRect* devBounds,
|
| GrAppliedClip*);
|
|
|
| private:
|
| @@ -85,20 +64,6 @@ private:
|
| const SkMatrix& viewMatrix,
|
| const SkClipStack::Element* element);
|
|
|
| - /**
|
| - * Informs the helper function adjustStencilParams() about how the stencil
|
| - * buffer clip is being used.
|
| - */
|
| - enum StencilClipMode {
|
| - // Draw to the clip bit of the stencil buffer
|
| - kModifyClip_StencilClipMode,
|
| - // Clip against the existing representation of the clip in the high bit
|
| - // of the stencil buffer.
|
| - kRespectClip_StencilClipMode,
|
| - // Neither writing to nor clipping against the clip bit.
|
| - kIgnoreClip_StencilClipMode,
|
| - };
|
| -
|
| // Attempts to install a series of coverage effects to implement the clip. Return indicates
|
| // whether the element list was successfully converted to processors. *fp may be nullptr even
|
| // when the function succeeds because all the elements were ignored. TODO: Make clip reduction
|
| @@ -146,7 +111,6 @@ private:
|
| static const int kMaxAnalyticElements = 4;
|
|
|
| GrDrawTarget* fDrawTarget; // This is our owning draw target.
|
| - StencilClipMode fClipMode;
|
|
|
| typedef SkNoncopyable INHERITED;
|
| };
|
|
|