Add support for arcs.

Change-Id: I96c057ff4eb1b464b03f132da0b85333777bee4f
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 99c0600..2467d8e 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -1396,6 +1396,21 @@
     drawShape(left, top, texture, paint);
 }
 
+void OpenGLRenderer::drawArc(float left, float top, float right, float bottom,
+        float startAngle, float sweepAngle, bool useCenter, SkPaint* paint) {
+    if (mSnapshot->isIgnored()) return;
+
+    if (fabs(sweepAngle) >= 360.0f) {
+        drawOval(left, top, right, bottom, paint);
+        return;
+    }
+
+    glActiveTexture(gTextureUnits[0]);
+    const PathTexture* texture = mCaches.arcShapeCache.getArc(right - left, bottom - top,
+            startAngle, sweepAngle, useCenter, paint);
+    drawShape(left, top, texture, paint);
+}
+
 void OpenGLRenderer::drawRectAsShape(float left, float top, float right, float bottom,
         SkPaint* paint) {
     if (mSnapshot->isIgnored()) return;