1 2/* 3 * Copyright 2012 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9#ifndef GrSoftwarePathRenderer_DEFINED 10#define GrSoftwarePathRenderer_DEFINED 11 12#include "GrPathRenderer.h" 13 14class GrContext; 15class GrAutoScratchTexture; 16 17/** 18 * This class uses the software side to render a path to an SkBitmap and 19 * then uploads the result to the gpu 20 */ 21class GrSoftwarePathRenderer : public GrPathRenderer { 22public: 23 GrSoftwarePathRenderer(GrContext* context) 24 : fContext(context) { 25 } 26 27 virtual bool canDrawPath(const SkPath&, 28 const SkStrokeRec&, 29 const GrDrawTarget*, 30 bool antiAlias) const SK_OVERRIDE; 31protected: 32 virtual StencilSupport onGetStencilSupport(const SkPath&, 33 const SkStrokeRec&, 34 const GrDrawTarget*) const SK_OVERRIDE; 35 36 virtual bool onDrawPath(const SkPath&, 37 const SkStrokeRec&, 38 GrDrawTarget*, 39 bool antiAlias) SK_OVERRIDE; 40 41private: 42 GrContext* fContext; 43 44 typedef GrPathRenderer INHERITED; 45}; 46 47#endif 48