/* * Copyright 2012 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef GrSoftwarePathRenderer_DEFINED #define GrSoftwarePathRenderer_DEFINED #include "GrPathRenderer.h" class GrContext; /** * This class uses the software side to render a path to an SkBitmap and * then uploads the result to the gpu */ class GrSoftwarePathRenderer : public GrPathRenderer { public: GrSoftwarePathRenderer(GrContext* context) : fContext(context) { } virtual bool canDrawPath(const GrDrawTarget*, const GrDrawState*, const SkPath&, const SkStrokeRec&, bool antiAlias) const SK_OVERRIDE; protected: virtual StencilSupport onGetStencilSupport(const GrDrawTarget*, const GrDrawState*, const SkPath&, const SkStrokeRec&) const SK_OVERRIDE; virtual bool onDrawPath(GrDrawTarget*, GrDrawState*, const SkPath&, const SkStrokeRec&, bool antiAlias) SK_OVERRIDE; private: GrContext* fContext; typedef GrPathRenderer INHERITED; }; #endif