From 9969111d9c8017cdd439edbb2c54ef9678b24a59 Mon Sep 17 00:00:00 2001 From: Yuqian Li Date: Fri, 3 Feb 2017 15:01:41 -0500 Subject: [PATCH] Implement SkiaCanvasProxy::onDrawArc Test: UiRendering CTS SweepTests with picture mode turned on and drawBitmapMesh turned off (it's not implemented yet). This should fix BUG:34306056, and part of BUG:34871089 (the drawArc part of SweepTests in picture mode). BUG:34306056 BUG:34871089 Change-Id: I8fdcf72ddb4a0bfccedfd7e4e374a1ec5df17d75 (cherry picked from commit 538b6359cf81b14322141089161f20291295d6d3) --- libs/hwui/SkiaCanvasProxy.cpp | 6 ++++++ libs/hwui/SkiaCanvasProxy.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/libs/hwui/SkiaCanvasProxy.cpp b/libs/hwui/SkiaCanvasProxy.cpp index f32612d21319f..20ca80b954651 100644 --- a/libs/hwui/SkiaCanvasProxy.cpp +++ b/libs/hwui/SkiaCanvasProxy.cpp @@ -103,6 +103,12 @@ void SkiaCanvasProxy::onDrawRRect(const SkRRect& roundRect, const SkPaint& paint } } +void SkiaCanvasProxy::onDrawArc(const SkRect& rect, SkScalar startAngle, SkScalar sweepAngle, + bool useCenter, const SkPaint& paint) { + mCanvas->drawArc(rect.fLeft, rect.fTop, rect.fRight, rect.fBottom, + startAngle, sweepAngle, useCenter, paint); +} + void SkiaCanvasProxy::onDrawPath(const SkPath& path, const SkPaint& paint) { mCanvas->drawPath(path, paint); } diff --git a/libs/hwui/SkiaCanvasProxy.h b/libs/hwui/SkiaCanvasProxy.h index b3f6c07dfe645..3b1dd7383f36c 100644 --- a/libs/hwui/SkiaCanvasProxy.h +++ b/libs/hwui/SkiaCanvasProxy.h @@ -60,6 +60,8 @@ protected: virtual void onDrawRect(const SkRect&, const SkPaint&) override; virtual void onDrawRRect(const SkRRect&, const SkPaint&) override; virtual void onDrawPath(const SkPath& path, const SkPaint&) override; + virtual void onDrawArc(const SkRect&, SkScalar startAngle, SkScalar sweepAngle, bool useCenter, + const SkPaint&) override; virtual void onDrawBitmap(const SkBitmap&, SkScalar left, SkScalar top, const SkPaint*) override; virtual void onDrawBitmapRect(const SkBitmap&, const SkRect* src, const SkRect& dst,