| /* | 
 |  * Copyright 2013 Google Inc. | 
 |  * | 
 |  * Use of this source code is governed by a BSD-style license that can be | 
 |  * found in the LICENSE file. | 
 |  */ | 
 |  | 
 | #ifndef GrOvalOpFactory_DEFINED | 
 | #define GrOvalOpFactory_DEFINED | 
 |  | 
 | #include "include/core/SkRefCnt.h" | 
 | #include "src/gpu/GrColor.h" | 
 |  | 
 | class GrDrawOp; | 
 | class GrPaint; | 
 | class GrRecordingContext; | 
 | class GrShaderCaps; | 
 | class GrStyle; | 
 | class SkMatrix; | 
 | struct SkRect; | 
 | class SkRRect; | 
 | class SkStrokeRec; | 
 |  | 
 | /* | 
 |  * This namespace wraps helper functions that draw ovals, rrects, and arcs (filled & stroked) | 
 |  */ | 
 | class GrOvalOpFactory { | 
 | public: | 
 |     static std::unique_ptr<GrDrawOp> MakeCircleOp(GrRecordingContext*, | 
 |                                                   GrPaint&&, | 
 |                                                   const SkMatrix&, | 
 |                                                   const SkRect& oval, | 
 |                                                   const GrStyle& style, | 
 |                                                   const GrShaderCaps*); | 
 |  | 
 |     static std::unique_ptr<GrDrawOp> MakeOvalOp(GrRecordingContext*, | 
 |                                                 GrPaint&&, | 
 |                                                 const SkMatrix&, | 
 |                                                 const SkRect& oval, | 
 |                                                 const GrStyle& style, | 
 |                                                 const GrShaderCaps*); | 
 |  | 
 |     static std::unique_ptr<GrDrawOp> MakeCircularRRectOp(GrRecordingContext*, | 
 |                                                          GrPaint&&, | 
 |                                                          const SkMatrix&, | 
 |                                                          const SkRRect&, | 
 |                                                          const SkStrokeRec&, | 
 |                                                          const GrShaderCaps*); | 
 |  | 
 |     static std::unique_ptr<GrDrawOp> MakeRRectOp(GrRecordingContext*, | 
 |                                                  GrPaint&&, | 
 |                                                  const SkMatrix&, | 
 |                                                  const SkRRect&, | 
 |                                                  const SkStrokeRec&, | 
 |                                                  const GrShaderCaps*); | 
 |  | 
 |     static std::unique_ptr<GrDrawOp> MakeArcOp(GrRecordingContext*, | 
 |                                                GrPaint&&, | 
 |                                                const SkMatrix&, | 
 |                                                const SkRect& oval, | 
 |                                                SkScalar startAngle, | 
 |                                                SkScalar sweepAngle, | 
 |                                                bool useCenter, | 
 |                                                const GrStyle&, | 
 |                                                const GrShaderCaps*); | 
 | }; | 
 |  | 
 | #endif  // GrOvalOpFactory_DEFINED |