diff -r 000000000000 -r 6474c204b198 gfx/skia/trunk/src/gpu/GrOvalRenderer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/skia/trunk/src/gpu/GrOvalRenderer.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,57 @@ +/* + * 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 GrOvalRenderer_DEFINED +#define GrOvalRenderer_DEFINED + +#include "GrContext.h" +#include "GrPaint.h" + +class GrContext; +class GrDrawTarget; +class GrPaint; +struct SkRect; +class SkStrokeRec; + +/* + * This class wraps helper functions that draw ovals and roundrects (filled & stroked) + */ +class GrOvalRenderer : public SkRefCnt { +public: + SK_DECLARE_INST_COUNT(GrOvalRenderer) + + GrOvalRenderer() : fRRectIndexBuffer(NULL) {} + ~GrOvalRenderer() { + this->reset(); + } + + void reset(); + + bool drawOval(GrDrawTarget* target, const GrContext* context, bool useAA, + const SkRect& oval, const SkStrokeRec& stroke); + bool drawSimpleRRect(GrDrawTarget* target, GrContext* context, bool useAA, + const SkRRect& rrect, const SkStrokeRec& stroke); + +private: + bool drawEllipse(GrDrawTarget* target, bool useCoverageAA, + const SkRect& ellipse, + const SkStrokeRec& stroke); + bool drawDIEllipse(GrDrawTarget* target, bool useCoverageAA, + const SkRect& ellipse, + const SkStrokeRec& stroke); + void drawCircle(GrDrawTarget* target, bool useCoverageAA, + const SkRect& circle, + const SkStrokeRec& stroke); + + GrIndexBuffer* rRectIndexBuffer(GrGpu* gpu); + + GrIndexBuffer* fRRectIndexBuffer; + + typedef SkRefCnt INHERITED; +}; + +#endif // GrOvalRenderer_DEFINED