aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/addarc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gm/addarc.cpp')
-rw-r--r--gm/addarc.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/gm/addarc.cpp b/gm/addarc.cpp
new file mode 100644
index 0000000000..209fb59aef
--- /dev/null
+++ b/gm/addarc.cpp
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2015 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "gm.h"
+#include "SkCanvas.h"
+#include "SkRandom.h"
+
+class AddArcGM : public skiagm::GM {
+protected:
+ SkString onShortName() SK_OVERRIDE { return SkString("addarc"); }
+
+ SkISize onISize() SK_OVERRIDE { return SkISize::Make(1040, 1040); }
+
+ void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+ canvas->translate(20, 20);
+
+ SkRect r = SkRect::MakeWH(1000, 1000);
+
+ SkPaint paint;
+ paint.setAntiAlias(true);
+ paint.setStyle(SkPaint::kStroke_Style);
+ paint.setStrokeWidth(15);
+
+ const SkScalar inset = paint.getStrokeWidth() + 4;
+ const SkScalar sweepAngle = 345;
+ SkRandom rand;
+
+ while (r.width() > paint.getStrokeWidth() * 3) {
+ paint.setColor(rand.nextU() | (0xFF << 24));
+ SkScalar startAngle = rand.nextUScalar1() * 360;
+
+ SkPath path;
+ path.addArc(r, startAngle, sweepAngle);
+ canvas->drawPath(path, paint);
+
+ r.inset(inset, inset);
+
+ }
+ }
+
+private:
+ typedef skiagm::GM INHERITED;
+};
+DEF_GM( return new AddArcGM; )