/* * 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 "GrColor.h" class GrDrawBatch; class GrShaderCaps; class SkMatrix; struct SkRect; class SkRRect; class SkStrokeRec; /* * This class wraps helper functions that draw ovals and roundrects (filled & stroked) */ class GrOvalRenderer { public: static GrDrawBatch* CreateOvalBatch(GrColor, const SkMatrix& viewMatrix, const SkRect& oval, const SkStrokeRec& stroke, GrShaderCaps* shaderCaps); static GrDrawBatch* CreateRRectBatch(GrColor, const SkMatrix& viewMatrix, const SkRRect& rrect, const SkStrokeRec& stroke, GrShaderCaps* shaderCaps); private: GrOvalRenderer(); static GrDrawBatch* CreateEllipseBatch(GrColor, const SkMatrix& viewMatrix, const SkRect& ellipse, const SkStrokeRec& stroke); static GrDrawBatch* CreateDIEllipseBatch(GrColor, const SkMatrix& viewMatrix, const SkRect& ellipse, const SkStrokeRec& stroke); static GrDrawBatch* CreateCircleBatch(GrColor, const SkMatrix& viewMatrix, const SkRect& circle, const SkStrokeRec& stroke); }; #endif // GrOvalRenderer_DEFINED