use pathbuilder

Change-Id: I996e4ad9a603db42d9ae750488db44ee3e84d742
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/312637
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
diff --git a/gm/blurcircles2.cpp b/gm/blurcircles2.cpp
index 82cadf1..c30d363 100644
--- a/gm/blurcircles2.cpp
+++ b/gm/blurcircles2.cpp
@@ -11,7 +11,7 @@
 #include "include/core/SkColor.h"
 #include "include/core/SkMaskFilter.h"
 #include "include/core/SkPaint.h"
-#include "include/core/SkPath.h"
+#include "include/core/SkPathBuilder.h"
 #include "include/core/SkRect.h"
 #include "include/core/SkRefCnt.h"
 #include "include/core/SkScalar.h"
@@ -55,11 +55,11 @@
     void onDraw(SkCanvas* canvas) override {
         constexpr SkScalar kMaxR = kMaxRadius + kMaxBlurRadius;
 
-        auto almostCircleMaker = [] (SkScalar radius, SkPath* dst) {
-            dst->reset();
-            dst->addArc(SkRect::MakeXYWH(-radius, -radius, 2 * radius, 2 * radius), 0, 355);
-            dst->setIsVolatile(true);
-            dst->close();
+        auto almostCircleMaker = [] (SkScalar radius) {
+            return SkPathBuilder().addArc(SkRect::MakeXYWH(-radius, -radius, 2 * radius, 2 * radius), 0, 355)
+                                  .setIsVolatile(true)
+                                  .close()
+                                  .detach();
         };
 
         auto blurMaker = [] (SkScalar radius) ->sk_sp<SkMaskFilter> {
@@ -73,8 +73,7 @@
         if (this->getMode() == kSample_Mode) {
             paint.setMaskFilter(blurMaker(fAnimBlurRadius));
             SkISize size = canvas->getBaseLayerSize();
-            SkPath almostCircle;
-            almostCircleMaker(fAnimRadius, &almostCircle);
+            SkPath almostCircle = almostCircleMaker(fAnimRadius);
             canvas->save();
                 canvas->translate(size.fWidth / 2.f, size.fHeight / 4.f);
                 canvas->drawCircle(0, 0, fAnimRadius, paint);
@@ -114,7 +113,7 @@
                     }
                     SkPath almostCircle;
                     if (!benchMode) {
-                        almostCircleMaker(radius, &almostCircle);
+                        almostCircle = almostCircleMaker(radius);
                     }
                     canvas->save();
                         canvas->drawCircle(0, 0, radius, paint);