diff options
| author | Romain Guy <romainguy@google.com> | 2011-01-23 16:15:02 -0800 |
|---|---|---|
| committer | Romain Guy <romainguy@google.com> | 2011-01-23 16:15:02 -0800 |
| commit | 8b2f5267f16c295f12faab810527cd6311997e34 (patch) | |
| tree | 2f81ab177ebfadee474c44f3aa8e44cdc539665e /libs/hwui/DisplayListRenderer.cpp | |
| parent | c1cd9ba335b293f11e1082447ef08e474710a05f (diff) | |
| download | frameworks_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/DisplayListRenderer.cpp')
| -rw-r--r-- | libs/hwui/DisplayListRenderer.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/hwui/DisplayListRenderer.cpp b/libs/hwui/DisplayListRenderer.cpp index 8714997..200e248 100644 --- a/libs/hwui/DisplayListRenderer.cpp +++ b/libs/hwui/DisplayListRenderer.cpp @@ -108,6 +108,7 @@ const char* DisplayList::OP_NAMES[] = { "DrawRoundRect", "DrawCircle", "DrawOval", + "DrawArc", "DrawPath", "DrawLines", "DrawText", @@ -363,6 +364,11 @@ void DisplayList::replay(OpenGLRenderer& renderer, uint32_t level) { renderer.drawOval(getFloat(), getFloat(), getFloat(), getFloat(), getPaint()); } break; + case DrawArc: { + renderer.drawArc(getFloat(), getFloat(), getFloat(), getFloat(), + getFloat(), getFloat(), getInt() == 1, getPaint()); + } + break; case DrawPath: { renderer.drawPath(getPath(), getPaint()); } @@ -675,6 +681,15 @@ void DisplayListRenderer::drawOval(float left, float top, float right, float bot addPaint(paint); } +void DisplayListRenderer::drawArc(float left, float top, float right, float bottom, + float startAngle, float sweepAngle, bool useCenter, SkPaint* paint) { + addOp(DisplayList::DrawOval); + addBounds(left, top, right, bottom); + addPoint(startAngle, sweepAngle); + addInt(useCenter ? 1 : 0); + addPaint(paint); +} + void DisplayListRenderer::drawPath(SkPath* path, SkPaint* paint) { addOp(DisplayList::DrawPath); addPath(path); |
