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 const SkStrokeRec& stroke, 22 const GrDrawTarget* target, 23 bool antiAlias) const SK_OVERRIDE; 24 25 protected: 26 virtual bool onDrawPath(const SkPath& path, 27 const SkStrokeRec& stroke, 28 GrDrawTarget* target, 29 bool antiAlias) SK_OVERRIDE; 30 31 private: 32 33 GrAAHairLinePathRenderer(const GrContext* context, 34 const GrIndexBuffer* fLinesIndexBuffer, 35 const GrIndexBuffer* fQuadsIndexBuffer); 36 37 bool createGeom(const SkPath& path, 38 GrDrawTarget* target, 39 int* lineCnt, 40 int* quadCnt, 41 GrDrawTarget::AutoReleaseGeometry* arg); 42 43 const GrIndexBuffer* fLinesIndexBuffer; 44 const GrIndexBuffer* fQuadsIndexBuffer; 45 46 typedef GrPathRenderer INHERITED; 47 }; 48 49 50 #endif 51