OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 | 8 |
9 #ifndef GrOvalRenderer_DEFINED | 9 #ifndef GrOvalRenderer_DEFINED |
10 #define GrOvalRenderer_DEFINED | 10 #define GrOvalRenderer_DEFINED |
11 | 11 |
12 #include "GrContext.h" | 12 #include "GrContext.h" |
13 #include "GrPaint.h" | 13 #include "GrPaint.h" |
14 #include "GrRefCnt.h" | 14 #include "GrRefCnt.h" |
15 #include "GrRect.h" | 15 #include "GrRect.h" |
16 | 16 |
17 class GrContext; | 17 class GrContext; |
18 class GrDrawTarget; | 18 class GrDrawTarget; |
19 class GrPaint; | 19 class GrPaint; |
20 class SkStrokeRec; | 20 class SkStrokeRec; |
21 | 21 |
22 /* | 22 /* |
23 * This class wraps helper functions that draw ovals (filled & stroked) | 23 * This class wraps helper functions that draw ovals and roundrects (filled & st
roked) |
24 */ | 24 */ |
25 class GrOvalRenderer : public GrRefCnt { | 25 class GrOvalRenderer : public GrRefCnt { |
26 public: | 26 public: |
27 SK_DECLARE_INST_COUNT(GrOvalRenderer) | 27 SK_DECLARE_INST_COUNT(GrOvalRenderer) |
28 | 28 |
29 GrOvalRenderer() {} | 29 GrOvalRenderer() : fRRectIndexBuffer(NULL) {} |
30 | |
31 ~GrOvalRenderer() {} | 30 ~GrOvalRenderer() {} |
32 | 31 |
33 bool drawOval(GrDrawTarget* target, const GrContext* context, const GrPaint&
paint, | 32 bool drawOval(GrDrawTarget* target, const GrContext* context, const GrPaint&
paint, |
34 const GrRect& oval, const SkStrokeRec& stroke); | 33 const GrRect& oval, const SkStrokeRec& stroke); |
| 34 bool drawSimpleRRect(GrDrawTarget* target, GrContext* context, const GrPaint
& paint, |
| 35 const SkRRect& rrect, const SkStrokeRec& stroke); |
| 36 |
35 private: | 37 private: |
36 bool drawEllipse(GrDrawTarget* target, const GrPaint& paint, | 38 bool drawEllipse(GrDrawTarget* target, const GrPaint& paint, |
37 const GrRect& ellipse, | 39 const GrRect& ellipse, |
38 const SkStrokeRec& stroke); | 40 const SkStrokeRec& stroke); |
39 void drawCircle(GrDrawTarget* target, const GrPaint& paint, | 41 void drawCircle(GrDrawTarget* target, const GrPaint& paint, |
40 const GrRect& circle, | 42 const GrRect& circle, |
41 const SkStrokeRec& stroke); | 43 const SkStrokeRec& stroke); |
42 | 44 |
| 45 GrIndexBuffer* rRectIndexBuffer(GrGpu* gpu); |
| 46 |
| 47 GrIndexBuffer* fRRectIndexBuffer; |
| 48 |
43 typedef GrRefCnt INHERITED; | 49 typedef GrRefCnt INHERITED; |
44 }; | 50 }; |
45 | 51 |
46 #endif // GrOvalRenderer_DEFINED | 52 #endif // GrOvalRenderer_DEFINED |
OLD | NEW |