From d9adfe6a223955bc69c8c7661ab8e0a078afbc32 Mon Sep 17 00:00:00 2001 From: reed Date: Sun, 1 Feb 2015 19:01:04 -0800 Subject: allow GMs to animate BUG=skia: Review URL: https://codereview.chromium.org/888283002 --- gm/addarc.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'gm/addarc.cpp') diff --git a/gm/addarc.cpp b/gm/addarc.cpp index 209fb59aef..1386cdd0e7 100644 --- a/gm/addarc.cpp +++ b/gm/addarc.cpp @@ -10,6 +10,9 @@ #include "SkRandom.h" class AddArcGM : public skiagm::GM { +public: + AddArcGM() : fRotate(0) {} + protected: SkString onShortName() SK_OVERRIDE { return SkString("addarc"); } @@ -29,20 +32,30 @@ protected: const SkScalar sweepAngle = 345; SkRandom rand; + SkScalar sign = 1; while (r.width() > paint.getStrokeWidth() * 3) { paint.setColor(rand.nextU() | (0xFF << 24)); SkScalar startAngle = rand.nextUScalar1() * 360; + SkScalar speed = SkScalarSqrt(16 / r.width()) * 0.5f; + startAngle += fRotate * 360 * speed * sign; + SkPath path; path.addArc(r, startAngle, sweepAngle); canvas->drawPath(path, paint); r.inset(inset, inset); - + sign = -sign; } } + bool onAnimatePulse(SkMSec curr, SkMSec prev) SK_OVERRIDE { + fRotate = SkDoubleToScalar(fmod(curr * 0.001, 360)); + return true; + } + private: + SkScalar fRotate; typedef skiagm::GM INHERITED; }; DEF_GM( return new AddArcGM; ) -- cgit v1.2.3