summaryrefslogtreecommitdiffstats
path: root/libs/hwui/OpenGLRenderer.cpp
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2011-01-23 16:15:02 -0800
committerRomain Guy <romainguy@google.com>2011-01-23 16:15:02 -0800
commit8b2f5267f16c295f12faab810527cd6311997e34 (patch)
tree2f81ab177ebfadee474c44f3aa8e44cdc539665e /libs/hwui/OpenGLRenderer.cpp
parentc1cd9ba335b293f11e1082447ef08e474710a05f (diff)
downloadframeworks_base-8b2f5267f16c295f12faab810527cd6311997e34.zip
frameworks_base-8b2f5267f16c295f12faab810527cd6311997e34.tar.gz
frameworks_base-8b2f5267f16c295f12faab810527cd6311997e34.tar.bz2
Add support for arcs.
Change-Id: I96c057ff4eb1b464b03f132da0b85333777bee4f
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r--libs/hwui/OpenGLRenderer.cpp15
1 files changed, 15 insertions, 0 deletions
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 @@ void OpenGLRenderer::drawOval(float left, float top, float right, float bottom,
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;