diff options
Diffstat (limited to 'src/gpu/ops/GrDashOp.cpp')
-rw-r--r-- | src/gpu/ops/GrDashOp.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/gpu/ops/GrDashOp.cpp b/src/gpu/ops/GrDashOp.cpp index 1a8bfbade2..b784b0590e 100644 --- a/src/gpu/ops/GrDashOp.cpp +++ b/src/gpu/ops/GrDashOp.cpp @@ -9,10 +9,12 @@ #include "GrAppliedClip.h" #include "GrCaps.h" #include "GrContext.h" +#include "GrContextPriv.h" #include "GrCoordTransform.h" #include "GrDefaultGeoProcFactory.h" #include "GrDrawOpTest.h" #include "GrGeometryProcessor.h" +#include "GrMemoryPool.h" #include "GrOpFlushState.h" #include "GrProcessor.h" #include "GrStyle.h" @@ -263,8 +265,11 @@ public: SkScalar fPerpendicularScale; }; - static std::unique_ptr<GrDrawOp> Make(GrPaint&& paint, const LineData& geometry, - SkPaint::Cap cap, AAMode aaMode, bool fullDash, + static std::unique_ptr<GrDrawOp> Make(GrContext* context, + GrPaint&& paint, + const LineData& geometry, + SkPaint::Cap cap, + AAMode aaMode, bool fullDash, const GrUserStencilSettings* stencilSettings) { return std::unique_ptr<GrDrawOp>( new DashOp(std::move(paint), geometry, cap, aaMode, fullDash, stencilSettings)); @@ -322,6 +327,8 @@ public: } private: + friend class GrOpMemoryPool; // for ctor + DashOp(GrPaint&& paint, const LineData& geometry, SkPaint::Cap cap, AAMode aaMode, bool fullDash, const GrUserStencilSettings* stencilSettings) : INHERITED(ClassID()) @@ -751,7 +758,8 @@ private: typedef GrMeshDrawOp INHERITED; }; -std::unique_ptr<GrDrawOp> GrDashOp::MakeDashLineOp(GrPaint&& paint, +std::unique_ptr<GrDrawOp> GrDashOp::MakeDashLineOp(GrContext* context, + GrPaint&& paint, const SkMatrix& viewMatrix, const SkPoint pts[2], AAMode aaMode, @@ -802,7 +810,8 @@ std::unique_ptr<GrDrawOp> GrDashOp::MakeDashLineOp(GrPaint&& paint, lineData.fIntervals[0] = intervals[0]; lineData.fIntervals[1] = intervals[1]; - return DashOp::Make(std::move(paint), lineData, cap, aaMode, fullDash, stencilSettings); + return DashOp::Make(context, std::move(paint), lineData, cap, aaMode, fullDash, + stencilSettings); } ////////////////////////////////////////////////////////////////////////////// @@ -1331,7 +1340,7 @@ GR_DRAW_OP_TEST_DEFINE(DashOp) { GrStyle style(p); - return GrDashOp::MakeDashLineOp(std::move(paint), viewMatrix, pts, aaMode, style, + return GrDashOp::MakeDashLineOp(context, std::move(paint), viewMatrix, pts, aaMode, style, GrGetRandomStencil(random, context)); } |