Home | History | Annotate | Download | only in gpu
      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:
     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