Home | History | Annotate | Download | only in gpu
      1 
      2 /*
      3  * Copyright 2011 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 GrAAHairLinePathRenderer_DEFINED
     10 #define GrAAHairLinePathRenderer_DEFINED
     11 
     12 #include "GrPathRenderer.h"
     13 
     14 class GrAAHairLinePathRenderer : public GrPathRenderer {
     15 public:
     16     virtual ~GrAAHairLinePathRenderer();
     17 
     18     static GrPathRenderer* Create(GrContext* context);
     19 
     20     virtual bool canDrawPath(const SkPath& path,
     21                             GrPathFill fill,
     22                             const GrDrawTarget* target,
     23                             bool antiAlias) const SK_OVERRIDE;
     24 protected:
     25     virtual bool onDrawPath(const SkPath& path,
     26                             GrPathFill fill,
     27                             const GrVec* translate,
     28                             GrDrawTarget* target,
     29                             GrDrawState::StageMask stageMask,
     30                             bool antiAlias) SK_OVERRIDE;
     31 
     32 private:
     33 
     34     GrAAHairLinePathRenderer(const GrContext* context,
     35                              const GrIndexBuffer* fLinesIndexBuffer,
     36                              const GrIndexBuffer* fQuadsIndexBuffer);
     37 
     38     bool createGeom(const SkPath& path,
     39                     const GrVec* translate,
     40                     GrDrawTarget* target,
     41                     GrDrawState::StageMask stageMask,
     42                     int* lineCnt,
     43                     int* quadCnt);
     44 
     45     const GrIndexBuffer*        fLinesIndexBuffer;
     46     const GrIndexBuffer*        fQuadsIndexBuffer;
     47 
     48     typedef GrPathRenderer INHERITED;
     49 };
     50 
     51 
     52 #endif
     53 
     54