| /* | |
| * 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 |