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