Move oval rendering code to GrOvalRenderer.

Author: jvanverth@google.com

Reviewed By: bsalomon@google.com,robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/12657003

git-svn-id: http://skia.googlecode.com/svn/trunk@8345 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/gpu/GrOvalRenderer.h b/include/gpu/GrOvalRenderer.h
new file mode 100644
index 0000000..bdc4861
--- /dev/null
+++ b/include/gpu/GrOvalRenderer.h
@@ -0,0 +1,46 @@
+/*
+ * 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"
+#include "GrRefCnt.h"
+#include "GrRect.h"
+
+class GrContext;
+class GrDrawTarget;
+class GrPaint;
+class SkStrokeRec;
+
+/*
+ * This class wraps helper functions that draw ovals (filled & stroked)
+ */
+class GrOvalRenderer : public GrRefCnt {
+public:
+    SK_DECLARE_INST_COUNT(GrOvalRenderer)
+
+    GrOvalRenderer() {}
+
+    ~GrOvalRenderer() {}
+
+    bool drawOval(GrDrawTarget* target, const GrContext* context, const GrPaint& paint, 
+                  const GrRect& oval, const SkStrokeRec& stroke);
+private:
+    void drawEllipse(GrDrawTarget* target, const GrPaint& paint,
+                     const GrRect& ellipse,
+                     const SkStrokeRec& stroke);
+    void drawCircle(GrDrawTarget* target, const GrPaint& paint,
+                    const GrRect& circle,
+                    const SkStrokeRec& stroke);
+
+    typedef GrRefCnt INHERITED;
+};
+
+#endif // GrOvalRenderer_DEFINED