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 14 class GrContext; 15 class 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 */ 21 class GrSoftwarePathRenderer : public GrPathRenderer { 22 public: GrSoftwarePathRenderer(GrContext * context)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; 31 protected: 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 41 private: 42 GrContext* fContext; 43 44 typedef GrPathRenderer INHERITED; 45 }; 46 47 #endif 48