/* * Copyright 2011 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef GrDefaultPathRenderer_DEFINED #define GrDefaultPathRenderer_DEFINED #include "GrPathRenderer.h" #include "GrPathStencilSettings.h" #include "SkTypes.h" /** * Subclass that renders the path using the stencil buffer to resolve fill rules * (e.g. winding, even-odd) */ class SK_API GrDefaultPathRenderer : public GrPathRenderer { public: GrDefaultPathRenderer(); private: StencilSupport onGetStencilSupport(const GrShape&) const override; CanDrawPath onCanDrawPath(const CanDrawPathArgs&) const override; bool onDrawPath(const DrawPathArgs&) override; void onStencilPath(const StencilPathArgs&) override; bool internalDrawPath(GrRenderTargetContext*, GrPaint&&, GrAAType, const GrUserStencilSettings&, const GrClip&, const SkMatrix& viewMatrix, const GrShape&, bool stencilOnly); typedef GrPathRenderer INHERITED; }; #endif