sk_tool_utils -> ToolUtils, and git clang-format

sk_tool_utils doesn't really fit the naming convention
the rest of code under tools/ tends to use.

Change-Id: I45326a174101c6eb4b6149e9c742f658f2fd23b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202313
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/gm/aaclip.cpp b/gm/aaclip.cpp
index e475c74..0260f27 100644
--- a/gm/aaclip.cpp
+++ b/gm/aaclip.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvasPriv.h"
-#include "SkPath.h"
 #include "SkMakeUnique.h"
+#include "SkPath.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static void do_draw(SkCanvas* canvas, const SkRect& r) {
     SkPaint paint;
@@ -257,7 +257,7 @@
 
         SkRect r = SkRect::MakeXYWH(0, H/4, W, H/2);
         SkPaint paint;
-        paint.setColor(sk_tool_utils::color_to_565(0xFF8888FF));
+        paint.setColor(ToolUtils::color_to_565(0xFF8888FF));
 
         canvas->drawRect(r, paint);
         this->doDraw(canvas, path);
diff --git a/gm/aaxfermodes.cpp b/gm/aaxfermodes.cpp
index cbf8db4..58b4c44 100644
--- a/gm/aaxfermodes.cpp
+++ b/gm/aaxfermodes.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkColorPriv.h"
 #include "SkPath.h"
 #include "SkShader.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 enum {
     kXfermodeCount = (int)SkBlendMode::kLastMode + 1 + 1,   // extra for arith
@@ -68,7 +68,7 @@
     }
 
     void onOnceBeforeDraw() override {
-        fLabelFont.setTypeface(sk_tool_utils::create_portable_typeface());
+        fLabelFont.setTypeface(ToolUtils::create_portable_typeface());
         fLabelFont.setSize(5 * kShapeSize/8);
         fLabelFont.setSubpixel(true);
 
@@ -141,8 +141,7 @@
                             canvas->save();
                             canvas->clipRect(clipRect);
                             if (kCheckerboard_Pass == drawingPass) {
-                                sk_tool_utils::draw_checkerboard(canvas, 0xffffffff, 0xffc6c3c6,
-                                        10);
+                                ToolUtils::draw_checkerboard(canvas, 0xffffffff, 0xffc6c3c6, 10);
                             } else {
                                 SkASSERT(kBackground_Pass == drawingPass);
                                 canvas->drawColor(kBGColor, SkBlendMode::kSrc);
diff --git a/gm/addarc.cpp b/gm/addarc.cpp
index cfb8fed..8a6dd73 100644
--- a/gm/addarc.cpp
+++ b/gm/addarc.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkAnimTimer.h"
 #include "SkCanvas.h"
 #include "SkPathMeasure.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 class AddArcGM : public skiagm::GM {
 public:
@@ -37,7 +37,7 @@
 
         SkScalar sign = 1;
         while (r.width() > paint.getStrokeWidth() * 3) {
-            paint.setColor(sk_tool_utils::color_to_565(rand.nextU() | (0xFF << 24)));
+            paint.setColor(ToolUtils::color_to_565(rand.nextU() | (0xFF << 24)));
             SkScalar startAngle = rand.nextUScalar1() * 360;
 
             SkScalar speed = SkScalarSqrt(16 / r.width()) * 0.5f;
@@ -131,7 +131,7 @@
             SkAutoCanvasRestore acr(canvas, true);
             canvas->rotate(fRotate * sign);
 
-            paint.setColor(sk_tool_utils::color_to_565(rand.nextU() | (0xFF << 24)));
+            paint.setColor(ToolUtils::color_to_565(rand.nextU() | (0xFF << 24)));
             canvas->drawOval(r, paint);
             r.inset(delta, delta);
             sign = -sign;
@@ -184,7 +184,7 @@
         while (r.width() > strokeWidth * 2) {
             SkAutoCanvasRestore acr(canvas, true);
             canvas->rotate(fRotate * sign);
-            paint.setColor(sk_tool_utils::color_to_565(rand.nextU() | (0xFF << 24)));
+            paint.setColor(ToolUtils::color_to_565(rand.nextU() | (0xFF << 24)));
             canvas->drawOval(r, paint);
             r.inset(delta, delta);
             sign = -sign;
diff --git a/gm/all_bitmap_configs.cpp b/gm/all_bitmap_configs.cpp
index 6bdef12..4435942 100644
--- a/gm/all_bitmap_configs.cpp
+++ b/gm/all_bitmap_configs.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "SkSurface.h"
 #include "Resources.h"
+#include "SkSurface.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkColorPriv.h"
 #include "SkFont.h"
@@ -23,7 +23,7 @@
     }
 
     SkBitmap copy;
-    sk_tool_utils::copy_to(&copy, colorType, *srcPtr);
+    ToolUtils::copy_to(&copy, colorType, *srcPtr);
     copy.setImmutable();
     return copy;
 }
@@ -83,7 +83,7 @@
 
     SkFont font;
     font.setEdging(SkFont::Edging::kAlias);
-    font.setTypeface(sk_tool_utils::create_portable_typeface(nullptr, SkFontStyle::Bold()));
+    font.setTypeface(ToolUtils::create_portable_typeface(nullptr, SkFontStyle::Bold()));
     font.setSize(0.28125f * SCALE);
     draw_center_letter('K', font, SK_ColorBLACK, Z, Z, canvas);
     draw_center_letter('R', font, SK_ColorRED, Z, D, canvas);
@@ -121,9 +121,9 @@
     p.setColor(SK_ColorBLACK);
     p.setAntiAlias(true);
 
-    SkFont font(sk_tool_utils::create_portable_typeface());
+    SkFont font(ToolUtils::create_portable_typeface());
 
-    sk_tool_utils::draw_checkerboard(canvas, SK_ColorLTGRAY, SK_ColorWHITE, 8);
+    ToolUtils::draw_checkerboard(canvas, SK_ColorLTGRAY, SK_ColorWHITE, 8);
 
     SkBitmap bitmap;
     if (GetResourceAsBitmap("images/color_wheel.png", &bitmap)) {
@@ -170,7 +170,7 @@
         const SkColorType ct = kBGRA_8888_SkColorType;
     #endif
     static_assert(ct != kN32_SkColorType, "BRGA!=RGBA");
-    SkAssertResult(sk_tool_utils::copy_to(&notN32bitmap, ct, n32bitmap));
+    SkAssertResult(ToolUtils::copy_to(&notN32bitmap, ct, n32bitmap));
     SkASSERT(notN32bitmap.colorType() == ct);
     return SkImage::MakeFromBitmap(notN32bitmap);
 }
@@ -178,7 +178,7 @@
 DEF_SIMPLE_GM(not_native32_bitmap_config, canvas, SCALE, SCALE) {
     sk_sp<SkImage> notN32image(make_not_native32_color_wheel());
     SkASSERT(notN32image);
-    sk_tool_utils::draw_checkerboard(canvas, SK_ColorLTGRAY, SK_ColorWHITE, 8);
+    ToolUtils::draw_checkerboard(canvas, SK_ColorLTGRAY, SK_ColorWHITE, 8);
     canvas->drawImage(notN32image.get(), 0.0f, 0.0f);
 }
 
@@ -228,7 +228,7 @@
 }
 
 DEF_SIMPLE_GM(all_variants_8888, canvas, 4 * SCALE + 30, 2 * SCALE + 10) {
-    sk_tool_utils::draw_checkerboard(canvas, SK_ColorLTGRAY, SK_ColorWHITE, 8);
+    ToolUtils::draw_checkerboard(canvas, SK_ColorLTGRAY, SK_ColorWHITE, 8);
 
     sk_sp<SkColorSpace> colorSpaces[] {
         SkColorSpace::MakeSRGB(),
diff --git a/gm/androidblendmodes.cpp b/gm/androidblendmodes.cpp
index 1f1500f..0665ddf 100644
--- a/gm/androidblendmodes.cpp
+++ b/gm/androidblendmodes.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBitmap.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -36,7 +36,7 @@
             tmp.clear(SK_ColorTRANSPARENT);
             SkPaint p;
             p.setAntiAlias(true);
-            p.setColor(sk_tool_utils::color_to_565(kBlue));
+            p.setColor(ToolUtils::color_to_565(kBlue));
             tmp.drawRect(SkRect::MakeLTRB(16, 96, 160, 240), p);
         }
 
@@ -46,7 +46,7 @@
             tmp.clear(SK_ColorTRANSPARENT);
             SkPaint p;
             p.setAntiAlias(true);
-            p.setColor(sk_tool_utils::color_to_565(kRed));
+            p.setColor(ToolUtils::color_to_565(kRed));
             tmp.drawCircle(160, 95, 80, p);
         }
     }
@@ -65,12 +65,9 @@
     }
 
     void onDraw(SkCanvas* canvas) override {
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont font(ToolUtils::create_portable_typeface());
 
-        sk_tool_utils::draw_checkerboard(canvas,
-                                         kWhite,
-                                         kGrey,
-                                         32);
+        ToolUtils::draw_checkerboard(canvas, kWhite, kGrey, 32);
 
         int xOffset = 0, yOffset = 0;
 
diff --git a/gm/animatedGif.cpp b/gm/animatedGif.cpp
index bc12dc8..2d941fa 100644
--- a/gm/animatedGif.cpp
+++ b/gm/animatedGif.cpp
@@ -14,8 +14,8 @@
 #include "SkFont.h"
 #include "SkPaint.h"
 #include "SkString.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include <vector>
 
@@ -49,7 +49,7 @@
                 SkBitmap& requiredBitmap = fFrames[requiredFrame];
                 // For simplicity, do not try to cache old frames
                 if (requiredBitmap.getPixels() &&
-                        sk_tool_utils::copy_to(&bm, requiredBitmap.colorType(), requiredBitmap)) {
+                    ToolUtils::copy_to(&bm, requiredBitmap.colorType(), requiredBitmap)) {
                     opts.fPriorFrame = requiredFrame;
                 }
             }
diff --git a/gm/arithmode.cpp b/gm/arithmode.cpp
index adf71ce..7832be8 100644
--- a/gm/arithmode.cpp
+++ b/gm/arithmode.cpp
@@ -6,8 +6,6 @@
  */
 
 #include <SkFont.h>
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkArithmeticImageFilter.h"
 #include "SkCanvas.h"
 #include "SkColorPriv.h"
@@ -16,6 +14,8 @@
 #include "SkImageSource.h"
 #include "SkShader.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WW  100
 #define HH  32
@@ -53,7 +53,7 @@
 }
 
 static void show_k_text(SkCanvas* canvas, SkScalar x, SkScalar y, const SkScalar k[]) {
-    SkFont font(sk_tool_utils::create_portable_typeface(), 24);
+    SkFont font(ToolUtils::create_portable_typeface(), 24);
     font.setEdging(SkFont::Edging::kAntiAlias);
     SkPaint paint;
     paint.setAntiAlias(true);
@@ -149,7 +149,7 @@
                 canvas->translate(gap, 0);
 
                 // Label
-                SkFont font(sk_tool_utils::create_portable_typeface(), 24);
+                SkFont   font(ToolUtils::create_portable_typeface(), 24);
                 SkString str(enforcePMColor ? "enforcePM" : "no enforcePM");
                 canvas->drawString(str, 0, font.getSize(), font, SkPaint());
             }
diff --git a/gm/atlastext.cpp b/gm/atlastext.cpp
index 0f539f2..052ea9f 100644
--- a/gm/atlastext.cpp
+++ b/gm/atlastext.cpp
@@ -18,10 +18,10 @@
 #include "SkFont.h"
 #include "SkTypeface.h"
 #include "SkUTF.h"
+#include "ToolUtils.h"
 #include "gpu/TestContext.h"
 #include "gpu/atlastext/GLTestAtlasTextRenderer.h"
 #include "gpu/atlastext/TestAtlasTextRenderer.h"
-#include "sk_tool_utils.h"
 
 // GM that draws text using the Atlas Text interface offscreen and then blits that to the canvas.
 
@@ -76,14 +76,12 @@
 
         fTarget = SkAtlasTextTarget::Make(fContext, kSize, kSize, targetHandle);
 
-        fTypefaces[0] = sk_tool_utils::create_portable_typeface("serif", SkFontStyle::Italic());
-        fTypefaces[1] =
-                sk_tool_utils::create_portable_typeface("sans-serif", SkFontStyle::Italic());
-        fTypefaces[2] = sk_tool_utils::create_portable_typeface("serif", SkFontStyle::Normal());
-        fTypefaces[3] =
-                sk_tool_utils::create_portable_typeface("sans-serif", SkFontStyle::Normal());
-        fTypefaces[4] = sk_tool_utils::create_portable_typeface("serif", SkFontStyle::Bold());
-        fTypefaces[5] = sk_tool_utils::create_portable_typeface("sans-serif", SkFontStyle::Bold());
+        fTypefaces[0] = ToolUtils::create_portable_typeface("serif", SkFontStyle::Italic());
+        fTypefaces[1] = ToolUtils::create_portable_typeface("sans-serif", SkFontStyle::Italic());
+        fTypefaces[2] = ToolUtils::create_portable_typeface("serif", SkFontStyle::Normal());
+        fTypefaces[3] = ToolUtils::create_portable_typeface("sans-serif", SkFontStyle::Normal());
+        fTypefaces[4] = ToolUtils::create_portable_typeface("serif", SkFontStyle::Bold());
+        fTypefaces[5] = ToolUtils::create_portable_typeface("sans-serif", SkFontStyle::Bold());
     }
 
     DrawResult onDraw(SkCanvas* canvas, SkString* errorMsg) override {
diff --git a/gm/beziereffects.cpp b/gm/beziereffects.cpp
index 3a3b33b..2e0e52c 100644
--- a/gm/beziereffects.cpp
+++ b/gm/beziereffects.cpp
@@ -7,8 +7,8 @@
 
 // This test only works with the GPU backend.
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "GrContext.h"
 #include "GrContextPriv.h"
diff --git a/gm/bigmatrix.cpp b/gm/bigmatrix.cpp
index 273b049..ca62cc3 100644
--- a/gm/bigmatrix.cpp
+++ b/gm/bigmatrix.cpp
@@ -5,62 +5,59 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkColorPriv.h"
 #include "SkPath.h"
 #include "SkShader.h"
 
-DEF_SIMPLE_GM_BG(bigmatrix, canvas, 50, 50,
-                 sk_tool_utils::color_to_565(0xFF66AA99)) {
-        SkMatrix m;
-        m.reset();
-        m.setRotate(33 * SK_Scalar1);
-        m.postScale(3000 * SK_Scalar1, 3000 * SK_Scalar1);
-        m.postTranslate(6000 * SK_Scalar1, -5000 * SK_Scalar1);
-        canvas->concat(m);
+DEF_SIMPLE_GM_BG(bigmatrix, canvas, 50, 50, ToolUtils::color_to_565(0xFF66AA99)) {
+    SkMatrix m;
+    m.reset();
+    m.setRotate(33 * SK_Scalar1);
+    m.postScale(3000 * SK_Scalar1, 3000 * SK_Scalar1);
+    m.postTranslate(6000 * SK_Scalar1, -5000 * SK_Scalar1);
+    canvas->concat(m);
 
-        SkPaint paint;
-        paint.setColor(SK_ColorRED);
-        paint.setAntiAlias(true);
+    SkPaint paint;
+    paint.setColor(SK_ColorRED);
+    paint.setAntiAlias(true);
 
-        bool success = m.invert(&m);
-        SkASSERT(success);
-        (void) success; // silence compiler :(
+    bool success = m.invert(&m);
+    SkASSERT(success);
+    (void)success;  // silence compiler :(
 
-        SkPath path;
+    SkPath path;
 
-        SkPoint pt = {10 * SK_Scalar1, 10 * SK_Scalar1};
-        SkScalar small = 1 / (500 * SK_Scalar1);
+    SkPoint  pt    = {10 * SK_Scalar1, 10 * SK_Scalar1};
+    SkScalar small = 1 / (500 * SK_Scalar1);
 
-        m.mapPoints(&pt, 1);
-        path.addCircle(pt.fX, pt.fY, small);
-        canvas->drawPath(path, paint);
+    m.mapPoints(&pt, 1);
+    path.addCircle(pt.fX, pt.fY, small);
+    canvas->drawPath(path, paint);
 
-        pt.set(30 * SK_Scalar1, 10 * SK_Scalar1);
-        m.mapPoints(&pt, 1);
-        SkRect rect = {pt.fX - small, pt.fY - small,
-                       pt.fX + small, pt.fY + small};
-        canvas->drawRect(rect, paint);
+    pt.set(30 * SK_Scalar1, 10 * SK_Scalar1);
+    m.mapPoints(&pt, 1);
+    SkRect rect = {pt.fX - small, pt.fY - small, pt.fX + small, pt.fY + small};
+    canvas->drawRect(rect, paint);
 
-        SkBitmap bmp;
-        bmp.allocN32Pixels(2, 2);
-        uint32_t* pixels = reinterpret_cast<uint32_t*>(bmp.getPixels());
-        pixels[0] = SkPackARGB32(0xFF, 0xFF, 0x00, 0x00);
-        pixels[1] = SkPackARGB32(0xFF, 0x00, 0xFF, 0x00);
-        pixels[2] = SkPackARGB32(0x80, 0x00, 0x00, 0x00);
-        pixels[3] = SkPackARGB32(0xFF, 0x00, 0x00, 0xFF);
-        pt.set(30 * SK_Scalar1, 30 * SK_Scalar1);
-        m.mapPoints(&pt, 1);
-        SkMatrix s;
-        s.reset();
-        s.setScale(SK_Scalar1 / 1000, SK_Scalar1 / 1000);
-        paint.setShader(SkShader::MakeBitmapShader(bmp, SkShader::kRepeat_TileMode,
-                                                   SkShader::kRepeat_TileMode, &s));
-        paint.setAntiAlias(false);
-        paint.setFilterQuality(kLow_SkFilterQuality);
-        rect.setLTRB(pt.fX - small, pt.fY - small,
-                     pt.fX + small, pt.fY + small);
-        canvas->drawRect(rect, paint);
+    SkBitmap bmp;
+    bmp.allocN32Pixels(2, 2);
+    uint32_t* pixels = reinterpret_cast<uint32_t*>(bmp.getPixels());
+    pixels[0]        = SkPackARGB32(0xFF, 0xFF, 0x00, 0x00);
+    pixels[1]        = SkPackARGB32(0xFF, 0x00, 0xFF, 0x00);
+    pixels[2]        = SkPackARGB32(0x80, 0x00, 0x00, 0x00);
+    pixels[3]        = SkPackARGB32(0xFF, 0x00, 0x00, 0xFF);
+    pt.set(30 * SK_Scalar1, 30 * SK_Scalar1);
+    m.mapPoints(&pt, 1);
+    SkMatrix s;
+    s.reset();
+    s.setScale(SK_Scalar1 / 1000, SK_Scalar1 / 1000);
+    paint.setShader(SkShader::MakeBitmapShader(
+            bmp, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode, &s));
+    paint.setAntiAlias(false);
+    paint.setFilterQuality(kLow_SkFilterQuality);
+    rect.setLTRB(pt.fX - small, pt.fY - small, pt.fX + small, pt.fY + small);
+    canvas->drawRect(rect, paint);
 }
diff --git a/gm/bigrrectaaeffect.cpp b/gm/bigrrectaaeffect.cpp
index 613cf2d..86e3daa 100644
--- a/gm/bigrrectaaeffect.cpp
+++ b/gm/bigrrectaaeffect.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "GrCaps.h"
 #include "GrContext.h"
 #include "GrRenderTargetContextPriv.h"
 #include "SkRRect.h"
+#include "ToolUtils.h"
 #include "effects/GrRRectEffect.h"
+#include "gm.h"
 #include "ops/GrDrawOp.h"
 #include "ops/GrFillRectOp.h"
 
@@ -24,7 +24,7 @@
     BigRRectAAEffectGM(const SkRRect& rrect, const char* name)
         : fRRect(rrect)
         , fName(name) {
-        this->setBGColor(sk_tool_utils::color_to_565(SK_ColorBLUE));
+        this->setBGColor(ToolUtils::color_to_565(SK_ColorBLUE));
         // Each test case draws the rrect with gaps around it.
         fTestWidth = SkScalarCeilToInt(rrect.width()) + 2 * kGap;
         fTestHeight = SkScalarCeilToInt(rrect.height()) + 2 * kGap;
diff --git a/gm/bigtext.cpp b/gm/bigtext.cpp
index 839609e..f30c7b9 100644
--- a/gm/bigtext.cpp
+++ b/gm/bigtext.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkFont.h"
 #include "SkPath.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 /**
  *  Skia may draw from outlines when the size is very large, so we exercise that
@@ -33,7 +33,7 @@
     void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         paint.setAntiAlias(true);
-        SkFont font(sk_tool_utils::create_portable_typeface(), 1500);
+        SkFont font(ToolUtils::create_portable_typeface(), 1500);
 
         SkRect r;
         (void)font.measureText("/", 1, kUTF8_SkTextEncoding, &r);
diff --git a/gm/bitmapcopy.cpp b/gm/bitmapcopy.cpp
index 7fba4b6..9c4fbb7 100644
--- a/gm/bitmapcopy.cpp
+++ b/gm/bitmapcopy.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkFont.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -82,13 +82,13 @@
         draw_checks(&canvasTmp, 40, 40);
 
         for (unsigned i = 0; i < NUM_CONFIGS; ++i) {
-            sk_tool_utils::copy_to(&fDst[i], gColorTypes[i], src);
+            ToolUtils::copy_to(&fDst[i], gColorTypes[i], src);
         }
 
         canvas->clear(0xFFDDDDDD);
         paint.setAntiAlias(true);
 
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont font(ToolUtils::create_portable_typeface());
 
         SkScalar width = SkIntToScalar(40);
         SkScalar height = SkIntToScalar(40);
diff --git a/gm/bitmapfilters.cpp b/gm/bitmapfilters.cpp
index 8248d02..2ae7fc9 100644
--- a/gm/bitmapfilters.cpp
+++ b/gm/bitmapfilters.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 static void make_bm(SkBitmap* bm) {
     const SkColor colors[4] = {
@@ -49,8 +49,8 @@
     SkScalar x = 0;
     const int scale = 32;
 
-    SkFont font(sk_tool_utils::create_portable_typeface());
-    const char* name = sk_tool_utils::colortype_name(bm.colorType());
+    SkFont      font(ToolUtils::create_portable_typeface());
+    const char* name = ToolUtils::colortype_name(bm.colorType());
     canvas->drawString(name, x, SkIntToScalar(bm.height())*scale*5/8,
                        font, paint);
     canvas->translate(SkIntToScalar(48), 0);
@@ -67,8 +67,8 @@
 class FilterGM : public skiagm::GM {
     void onOnceBeforeDraw() override {
         make_bm(&fBM32);
-        sk_tool_utils::copy_to(&fBM4444, kARGB_4444_SkColorType, fBM32);
-        sk_tool_utils::copy_to(&fBM16, kRGB_565_SkColorType, fBM32);
+        ToolUtils::copy_to(&fBM4444, kARGB_4444_SkColorType, fBM32);
+        ToolUtils::copy_to(&fBM16, kRGB_565_SkColorType, fBM32);
     }
 
 public:
diff --git a/gm/bleed.cpp b/gm/bleed.cpp
index f7d582f..ab7ca99 100644
--- a/gm/bleed.cpp
+++ b/gm/bleed.cpp
@@ -5,7 +5,6 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
 #include "SkBlurMask.h"
 #include "SkCanvas.h"
 #include "SkGradientShader.h"
@@ -13,7 +12,8 @@
 #include "SkMaskFilter.h"
 #include "SkTDArray.h"
 #include "SkUTF.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #include "GrContext.h"
 #include "GrContextOptions.h"
@@ -457,7 +457,7 @@
     // produce different mipmap filtering when we have an odd sized texture.
     const int N = 10 + 2 + 8 + 2 + 10;
     SkImageInfo info = SkImageInfo::MakeN32Premul(N, N);
-    auto surface = sk_tool_utils::makeSurface(canvas, info);
+    auto        surface = ToolUtils::makeSurface(canvas, info);
     SkCanvas* c = surface->getCanvas();
     SkRect r = SkRect::MakeIWH(info.width(), info.height());
     SkPaint paint;
@@ -489,7 +489,7 @@
         canvas->save();
         for (auto quality : qualities) {
             paint.setFilterQuality(quality);
-            auto surf = sk_tool_utils::makeSurface(canvas, SkImageInfo::MakeN32Premul(1, 1));
+            auto surf = ToolUtils::makeSurface(canvas, SkImageInfo::MakeN32Premul(1, 1));
             surf->getCanvas()->drawImageRect(img, src, SkRect::MakeWH(1, 1), &paint, constraint);
             // now blow up the 1 pixel result
             canvas->drawImageRect(surf->makeImageSnapshot(), SkRect::MakeWH(100, 100), nullptr);
diff --git a/gm/blend.cpp b/gm/blend.cpp
index 28ec6ff..aaaeeeb 100644
--- a/gm/blend.cpp
+++ b/gm/blend.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 DEF_SIMPLE_GM(blend, canvas, 300, 100) {
     SkPaint p;
@@ -30,8 +30,8 @@
         p.setColor(SK_ColorRED);
         canvas->drawRect(SkRect::MakeXYWH(2,0,1,1), p);
         canvas->saveLayerAlpha(nullptr, 0xFC);
-            p.setColor(sk_tool_utils::color_to_565(0xFF208000));
-            canvas->drawRect(SkRect::MakeXYWH(2,0,1,1), p);
+        p.setColor(ToolUtils::color_to_565(0xFF208000));
+        canvas->drawRect(SkRect::MakeXYWH(2, 0, 1, 1), p);
         canvas->restore();
     canvas->restore();
 }
diff --git a/gm/blurignorexform.cpp b/gm/blurignorexform.cpp
index 28fc19d..9a68daf 100644
--- a/gm/blurignorexform.cpp
+++ b/gm/blurignorexform.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkBlurMask.h"
 #include "SkCanvas.h"
@@ -95,7 +95,7 @@
 
     void drawOverlay(SkCanvas* canvas) {
         canvas->translate(10, 0);
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont font(ToolUtils::create_portable_typeface());
         canvas->save();
         for (int i = 0; i < kNumBlurs; ++i) {
             canvas->drawString(kBlurFlags[i].fName, 100, 0, font, SkPaint());
diff --git a/gm/blurimagevmask.cpp b/gm/blurimagevmask.cpp
index 9a213d5..78524ca 100644
--- a/gm/blurimagevmask.cpp
+++ b/gm/blurimagevmask.cpp
@@ -7,16 +7,15 @@
 
 #include "SkBlurImageFilter.h"
 #include "SkMaskFilter.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
-
 
 DEF_SIMPLE_GM(blurimagevmask, canvas, 700, 1200) {
     SkPaint paint;
     paint.setAntiAlias(true);
     paint.setColor(SK_ColorBLACK);
 
-    SkFont font(sk_tool_utils::create_portable_typeface(), 25);
+    SkFont font(ToolUtils::create_portable_typeface(), 25);
 
     const double sigmas[] = {3.0, 8.0, 16.0, 24.0, 32.0};
 
diff --git a/gm/blurs.cpp b/gm/blurs.cpp
index 6892ad3..23ef092 100644
--- a/gm/blurs.cpp
+++ b/gm/blurs.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "Resources.h"
 #include "SkBlurMask.h"
 #include "SkImage.h"
 #include "SkMaskFilter.h"
 #include "SkPath.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 DEF_SIMPLE_GM_BG(blurs, canvas, 700, 500, 0xFFDDDDDD) {
     SkBlurStyle NONE = SkBlurStyle(-999);
@@ -46,7 +46,7 @@
     }
     // draw text
     {
-        SkFont font(sk_tool_utils::create_portable_typeface(), 25);
+        SkFont font(ToolUtils::create_portable_typeface(), 25);
         paint.setMaskFilter(SkMaskFilter::MakeBlur(kNormal_SkBlurStyle,
                                    SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(4))));
         SkScalar x = SkIntToScalar(70);
diff --git a/gm/bmpfilterqualityrepeat.cpp b/gm/bmpfilterqualityrepeat.cpp
index ba41c3a..ee4529f 100644
--- a/gm/bmpfilterqualityrepeat.cpp
+++ b/gm/bmpfilterqualityrepeat.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkShader.h"
 
@@ -15,7 +15,7 @@
 // the bmp filter respects the repeat mode at the tile seams.
 class BmpFilterQualityRepeat : public skiagm::GM {
 public:
-    BmpFilterQualityRepeat() { this->setBGColor(sk_tool_utils::color_to_565(0xFFCCBBAA)); }
+    BmpFilterQualityRepeat() { this->setBGColor(ToolUtils::color_to_565(0xFFCCBBAA)); }
 
 protected:
 
@@ -26,11 +26,11 @@
         colorBmp.allocN32Pixels(20, 20, true);
         colorBmp.eraseColor(0xFFFF0000);
         canvas.drawBitmap(colorBmp, 0, 0);
-        colorBmp.eraseColor(sk_tool_utils::color_to_565(0xFF008200));
+        colorBmp.eraseColor(ToolUtils::color_to_565(0xFF008200));
         canvas.drawBitmap(colorBmp, 20, 0);
-        colorBmp.eraseColor(sk_tool_utils::color_to_565(0xFFFF9000));
+        colorBmp.eraseColor(ToolUtils::color_to_565(0xFFFF9000));
         canvas.drawBitmap(colorBmp, 0, 20);
-        colorBmp.eraseColor(sk_tool_utils::color_to_565(0xFF2000FF));
+        colorBmp.eraseColor(ToolUtils::color_to_565(0xFF2000FF));
         canvas.drawBitmap(colorBmp, 20, 20);
     }
 
@@ -68,7 +68,7 @@
 
         SkPaint bmpPaint(textPaint);
 
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont font(ToolUtils::create_portable_typeface());
 
         SkAutoCanvasRestore acr(canvas, true);
 
diff --git a/gm/clip_error.cpp b/gm/clip_error.cpp
index 7e9c4ce..43c00ec 100644
--- a/gm/clip_error.cpp
+++ b/gm/clip_error.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBlurMask.h"
 #include "SkCanvas.h"
 #include "SkMaskFilter.h"
 #include "SkTextBlob.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH 800
 #define HEIGHT 800
@@ -42,7 +42,7 @@
         SkPaint paint;
         paint.setAntiAlias(true);
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 256);
+        SkFont font(ToolUtils::create_portable_typeface(), 256);
 
         // setup up maskfilter
         const SkScalar kSigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(50));
diff --git a/gm/coloremoji.cpp b/gm/coloremoji.cpp
index 8ec41d2..a64ca07 100644
--- a/gm/coloremoji.cpp
+++ b/gm/coloremoji.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkBlurImageFilter.h"
@@ -62,8 +62,8 @@
         const char* text;
     } emojiFont;
     virtual void onOnceBeforeDraw() override {
-        emojiFont.typeface = sk_tool_utils::emoji_typeface();
-        emojiFont.text = sk_tool_utils::emoji_sample_text();
+        emojiFont.typeface = ToolUtils::emoji_typeface();
+        emojiFont.text     = ToolUtils::emoji_sample_text();
     }
 
     SkString onShortName() override {
diff --git a/gm/coloremoji_blendmodes.cpp b/gm/coloremoji_blendmodes.cpp
index 8538cdd..57febb9 100644
--- a/gm/coloremoji_blendmodes.cpp
+++ b/gm/coloremoji_blendmodes.cpp
@@ -24,8 +24,8 @@
 #include "SkTypeface.h"
 #include "SkTypes.h"
 #include "SkUTF.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 namespace skiagm {
 
@@ -50,12 +50,11 @@
         paint.setShader(SkGradientShader::MakeSweep(0, 0, colors, nullptr, SK_ARRAY_COUNT(colors),
                                                     0, &local));
 
-        sk_sp<SkTypeface> orig(sk_tool_utils::create_portable_typeface("serif",
-                                                                       SkFontStyle::Bold()));
+        sk_sp<SkTypeface> orig(ToolUtils::create_portable_typeface("serif", SkFontStyle::Bold()));
         if (nullptr == orig) {
             orig = SkTypeface::MakeDefault();
         }
-        fColorType = sk_tool_utils::emoji_typeface();
+        fColorType = ToolUtils::emoji_typeface();
 
         fBG.installPixels(SkImageInfo::Make(2, 2, kARGB_4444_SkColorType,
                                             kOpaque_SkAlphaType), gData, 4);
@@ -112,7 +111,7 @@
         auto s = SkShader::MakeBitmapShader(fBG, SkShader::kRepeat_TileMode,
                                             SkShader::kRepeat_TileMode, &m);
 
-        SkFont labelFont(sk_tool_utils::create_portable_typeface());
+        SkFont labelFont(ToolUtils::create_portable_typeface());
 
         SkPaint textP;
         textP.setAntiAlias(true);
@@ -141,7 +140,7 @@
                 SkAutoCanvasRestore arc(canvas, true);
                 canvas->clipRect(r);
                 textP.setBlendMode(gModes[i]);
-                const char* text = sk_tool_utils::emoji_sample_text();
+                const char* text    = ToolUtils::emoji_sample_text();
                 SkUnichar unichar = SkUTF::NextUTF8(&text, text + strlen(text));
                 SkASSERT(unichar >= 0);
                 canvas->drawSimpleText(&unichar, 4, kUTF32_SkTextEncoding, x+ w/10.f, y + 7.f*h/8.f,
diff --git a/gm/colorwheel.cpp b/gm/colorwheel.cpp
index 230b85c..2f2d1a3 100644
--- a/gm/colorwheel.cpp
+++ b/gm/colorwheel.cpp
@@ -8,8 +8,8 @@
 #include "Resources.h"
 #include "SkData.h"
 #include "SkImage.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 static void draw_image(SkCanvas* canvas, const char* resource, int x, int y) {
     sk_sp<SkImage> image(GetResourceAsImage(resource));
@@ -31,7 +31,7 @@
   background and compression artifacts.
  */
 DEF_SIMPLE_GM(colorwheel, canvas, 256, 256) {
-    sk_tool_utils::draw_checkerboard(canvas);
+    ToolUtils::draw_checkerboard(canvas);
     draw_image(canvas, "images/color_wheel.png", 0, 0);  // top left
     draw_image(canvas, "images/color_wheel.gif", 128, 0);  // top right
     draw_image(canvas, "images/color_wheel.webp", 0, 128);  // bottom left
@@ -40,7 +40,7 @@
 
 DEF_SIMPLE_GM(colorwheelnative, canvas, 128, 28) {
     SkPaint paint;
-    SkFont font(sk_tool_utils::create_portable_typeface("sans-serif", SkFontStyle::Bold()), 18);
+    SkFont  font(ToolUtils::create_portable_typeface("sans-serif", SkFontStyle::Bold()), 18);
     font.setEdging(SkFont::Edging::kAlias);
 
     canvas->clear(SK_ColorLTGRAY);
diff --git a/gm/complexclip.cpp b/gm/complexclip.cpp
index 415151f..c0a64c9 100644
--- a/gm/complexclip.cpp
+++ b/gm/complexclip.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkFont.h"
 #include "SkPath.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -69,7 +69,7 @@
         SkPath clipB;
         clipB.addPoly({{40,  10}, {190, 15}, {195, 190}, {40,  185}, {155, 100}}, false).close();
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 20);
+        SkFont font(ToolUtils::create_portable_typeface(), 20);
 
         constexpr struct {
             SkClipOp fOp;
diff --git a/gm/complexclip3.cpp b/gm/complexclip3.cpp
index afb5a5a..b2b2a57 100644
--- a/gm/complexclip3.cpp
+++ b/gm/complexclip3.cpp
@@ -4,10 +4,10 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkPath.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #include <utility>
 
@@ -53,7 +53,7 @@
         SkPaint paint;
         paint.setAntiAlias(true);
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 20);
+        SkFont font(ToolUtils::create_portable_typeface(), 20);
 
         constexpr struct {
             SkClipOp    fOp;
diff --git a/gm/complexclip_blur_tiled.cpp b/gm/complexclip_blur_tiled.cpp
index 47234da..f69c40d 100644
--- a/gm/complexclip_blur_tiled.cpp
+++ b/gm/complexclip_blur_tiled.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
 #include "SkBlurImageFilter.h"
+#include "SkClipOpPriv.h"
 #include "SkRRect.h"
 #include "SkSurface.h"
-#include "SkClipOpPriv.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH 512
 #define HEIGHT 512
@@ -38,7 +38,7 @@
         SkRect bounds = canvas->getLocalClipBounds();
         int ts = SkScalarCeilToInt(tileSize);
         SkImageInfo info = SkImageInfo::MakeN32Premul(ts, ts);
-        auto tileSurface(sk_tool_utils::makeSurface(canvas, info));
+        auto           tileSurface(ToolUtils::makeSurface(canvas, info));
         SkCanvas* tileCanvas = tileSurface->getCanvas();
         for (SkScalar y = bounds.top(); y < bounds.bottom(); y += tileSize) {
             for (SkScalar x = bounds.left(); x < bounds.right(); x += tileSize) {
diff --git a/gm/constcolorprocessor.cpp b/gm/constcolorprocessor.cpp
index af99e60..2fbfb15 100644
--- a/gm/constcolorprocessor.cpp
+++ b/gm/constcolorprocessor.cpp
@@ -7,8 +7,8 @@
 
 // This test only works with the GPU backend.
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "GrContext.h"
 #include "GrRenderTargetContextPriv.h"
@@ -103,7 +103,7 @@
                     // Draw labels for the input to the processor and the processor to the right of
                     // the test rect. The input label appears above the processor label.
                     SkFont labelFont;
-                    labelFont.setTypeface(sk_tool_utils::create_portable_typeface());
+                    labelFont.setTypeface(ToolUtils::create_portable_typeface());
                     labelFont.setEdging(SkFont::Edging::kAntiAlias);
                     labelFont.setSize(10.f);
                     SkPaint labelPaint;
diff --git a/gm/convexpolyclip.cpp b/gm/convexpolyclip.cpp
index 2ab41ca..4d702ad 100644
--- a/gm/convexpolyclip.cpp
+++ b/gm/convexpolyclip.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkBitmap.h"
 #include "SkFont.h"
@@ -26,12 +26,13 @@
 
     SkScalar    radius = 3 * SkMaxScalar(wScalar, hScalar);
 
-    SkColor     colors[] = { SK_ColorDKGRAY,
-                             sk_tool_utils::color_to_565(0xFF222255),
-                             sk_tool_utils::color_to_565(0xFF331133),
-                             sk_tool_utils::color_to_565(0xFF884422),
-                             sk_tool_utils::color_to_565(0xFF000022), SK_ColorWHITE,
-                             sk_tool_utils::color_to_565(0xFFAABBCC) };
+    SkColor colors[] = {SK_ColorDKGRAY,
+                        ToolUtils::color_to_565(0xFF222255),
+                        ToolUtils::color_to_565(0xFF331133),
+                        ToolUtils::color_to_565(0xFF884422),
+                        ToolUtils::color_to_565(0xFF000022),
+                        SK_ColorWHITE,
+                        ToolUtils::color_to_565(0xFFAABBCC)};
 
     SkScalar    pos[] = {0,
                          SK_Scalar1 / 6,
@@ -57,7 +58,7 @@
         mat.postScale(SK_Scalar1 / 3, SK_Scalar1 / 3);
     }
 
-    SkFont font(sk_tool_utils::create_portable_typeface(), wScalar / 2.2f);
+    SkFont font(ToolUtils::create_portable_typeface(), wScalar / 2.2f);
 
     paint.setShader(nullptr);
     paint.setColor(SK_ColorLTGRAY);
@@ -150,7 +151,7 @@
         canvas->drawBitmapRect(fBmp, SkRect::MakeIWH(size.fWidth, size.fHeight), &bgPaint);
 
         constexpr char kTxt[] = "Clip Me!";
-        SkFont font(sk_tool_utils::create_portable_typeface(), 23);
+        SkFont         font(ToolUtils::create_portable_typeface(), 23);
         SkScalar textW = font.measureText(kTxt, SK_ARRAY_COUNT(kTxt)-1, kUTF8_SkTextEncoding);
         SkPaint txtPaint;
         txtPaint.setColor(SK_ColorDKGRAY);
diff --git a/gm/copyTo4444.cpp b/gm/copyTo4444.cpp
index 194a30a..0f4a276 100644
--- a/gm/copyTo4444.cpp
+++ b/gm/copyTo4444.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkCanvas.h"
@@ -39,7 +39,7 @@
         canvas->drawBitmap(bm, 0, 0);
 
         // This should dither or we will see artifacts in the background of the image.
-        SkAssertResult(sk_tool_utils::copy_to(&bm4444, kARGB_4444_SkColorType, bm));
+        SkAssertResult(ToolUtils::copy_to(&bm4444, kARGB_4444_SkColorType, bm));
         canvas->drawBitmap(bm4444, SkIntToScalar(bm.width()), 0);
         return DrawResult::kOk;
     }
diff --git a/gm/cubicpaths.cpp b/gm/cubicpaths.cpp
index 14f8ae6..d4bf225 100644
--- a/gm/cubicpaths.cpp
+++ b/gm/cubicpaths.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkPaint.h"
 #include "SkPath.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 // https://bug.skia.org/1316 shows that this cubic, when slightly clipped, creates big
 // (incorrect) changes to its control points.
@@ -198,7 +198,7 @@
         SkPaint titlePaint;
         titlePaint.setColor(SK_ColorBLACK);
         titlePaint.setAntiAlias(true);
-        SkFont font(sk_tool_utils::create_portable_typeface(), 15);
+        SkFont     font(ToolUtils::create_portable_typeface(), 15);
         const char title[] = "Cubic Drawn Into Rectangle Clips With "
                              "Indicated Style, Fill and Linecaps, with stroke width 10";
         canvas->drawString(title, 20, 20, font, titlePaint);
@@ -328,7 +328,7 @@
         SkPaint titlePaint;
         titlePaint.setColor(SK_ColorBLACK);
         titlePaint.setAntiAlias(true);
-        SkFont font(sk_tool_utils::create_portable_typeface(), 15);
+        SkFont     font(ToolUtils::create_portable_typeface(), 15);
         const char title[] = "Cubic Closed Drawn Into Rectangle Clips With "
                              "Indicated Style, Fill and Linecaps, with stroke width 10";
         canvas->drawString(title, 20, 20, font, titlePaint);
diff --git a/gm/dashing.cpp b/gm/dashing.cpp
index cacdc00..58b10ce 100644
--- a/gm/dashing.cpp
+++ b/gm/dashing.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
-#include "SkPaint.h"
 #include "SkDashPathEffect.h"
+#include "SkPaint.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static void drawline(SkCanvas* canvas, int on, int off, const SkPaint& paint,
                      SkScalar finalX = SkIntToScalar(600), SkScalar finalY = SkIntToScalar(0),
@@ -562,7 +562,7 @@
     p.setStrokeJoin(SkPaint::kRound_Join);
     p.setARGB(0xff, 0xbb, 0x00, 0x00);
 
-    SkFont font(sk_tool_utils::create_portable_typeface(), 100);
+    SkFont font(ToolUtils::create_portable_typeface(), 100);
 
     const SkScalar intervals[] = { 12, 12 };
     p.setPathEffect(SkDashPathEffect::Make(intervals, SK_ARRAY_COUNT(intervals), 0));
diff --git a/gm/degeneratesegments.cpp b/gm/degeneratesegments.cpp
index 0ebca10..17de581 100644
--- a/gm/degeneratesegments.cpp
+++ b/gm/degeneratesegments.cpp
@@ -4,12 +4,12 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkPaint.h"
 #include "SkPath.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -289,7 +289,7 @@
         SkPaint titlePaint;
         titlePaint.setColor(SK_ColorBLACK);
         titlePaint.setAntiAlias(true);
-        SkFont font(sk_tool_utils::create_portable_typeface(), 15);
+        SkFont     font(ToolUtils::create_portable_typeface(), 15);
         const char title[] = "Random Paths Drawn Into Rectangle Clips With "
                              "Indicated Style, Fill and Linecaps, "
                              "with Stroke width 6";
@@ -314,7 +314,7 @@
                     canvas->translate(rect.width() + 4*SK_Scalar1, 0);
                 }
 
-                SkColor color = sk_tool_utils::color_to_565(0xff007000);
+                SkColor      color = ToolUtils::color_to_565(0xff007000);
                 StyleAndName style = gStyles[(rand.nextU() >> 16) % numStyles];
                 CapAndName cap = gCaps[(rand.nextU() >> 16) % numCaps];
                 FillAndName fill = gFills[(rand.nextU() >> 16) % numFills];
diff --git a/gm/dftext.cpp b/gm/dftext.cpp
index e8fe2b8..37f8b84 100644
--- a/gm/dftext.cpp
+++ b/gm/dftext.cpp
@@ -13,8 +13,8 @@
 #include "SkTextBlob.h"
 #include "SkTo.h"
 #include "SkTypeface.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 class DFTextGM : public skiagm::GM {
 public:
@@ -24,8 +24,8 @@
 
 protected:
     void onOnceBeforeDraw() override {
-        fEmojiTypeface = sk_tool_utils::emoji_typeface();
-        fEmojiText = sk_tool_utils::emoji_sample_text();
+        fEmojiTypeface = ToolUtils::emoji_typeface();
+        fEmojiText     = ToolUtils::emoji_sample_text();
     }
 
     SkString onShortName() override {
@@ -58,7 +58,7 @@
         SkPaint paint;
         paint.setAntiAlias(true);
 
-        SkFont font(sk_tool_utils::create_portable_typeface("serif", SkFontStyle()));
+        SkFont font(ToolUtils::create_portable_typeface("serif", SkFontStyle()));
         font.setSubpixel(true);
 
         const char* text = "Hamburgefons";
diff --git a/gm/dftext_blob_persp.cpp b/gm/dftext_blob_persp.cpp
index 32f19b1..70111e4 100644
--- a/gm/dftext_blob_persp.cpp
+++ b/gm/dftext_blob_persp.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
 #include "Resources.h"
 #include "SkCanvas.h"
 #include "SkSurface.h"
 #include "SkTextBlob.h"
 #include "SkTypeface.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 /**
  * This GM tests reusing the same text blobs with distance fields rendering using various
@@ -38,7 +38,7 @@
                             SkFont::Edging::kSubpixelAntiAlias));
             font.setSubpixel(true);
             SkTextBlobBuilder builder;
-            sk_tool_utils::add_to_text_blob(&builder, "SkiaText", font, 0, 0);
+            ToolUtils::add_to_text_blob(&builder, "SkiaText", font, 0, 0);
             fBlobs.emplace_back(builder.make());
         }
     }
diff --git a/gm/discard.cpp b/gm/discard.cpp
index 8cec42f..18023aa 100644
--- a/gm/discard.cpp
+++ b/gm/discard.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkPaint.h"
 #include "SkRandom.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -52,7 +52,7 @@
             for (int y = 0; y < 10; ++y) {
               surface->getCanvas()->discard();
               // Make something that isn't too close to the background color, black.
-              SkColor color = sk_tool_utils::color_to_565(rand.nextU() | 0xFF404040);
+              SkColor color = ToolUtils::color_to_565(rand.nextU() | 0xFF404040);
               switch (rand.nextULessThan(3)) {
                   case 0:
                       surface->getCanvas()->drawColor(color);
diff --git a/gm/displacement.cpp b/gm/displacement.cpp
index 9fea018..83a5085 100644
--- a/gm/displacement.cpp
+++ b/gm/displacement.cpp
@@ -8,8 +8,8 @@
 #include "SkDisplacementMapEffect.h"
 #include "SkImage.h"
 #include "SkImageSource.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 namespace skiagm {
 
@@ -25,21 +25,17 @@
     }
 
     void onOnceBeforeDraw() override {
-        fBitmap = sk_tool_utils::create_string_bitmap(80, 80, 0xFF884422, 15, 55, 96, "g");
+        fBitmap = ToolUtils::create_string_bitmap(80, 80, 0xFF884422, 15, 55, 96, "g");
 
-        SkColor c1 = sk_tool_utils::color_to_565(0xFF244484);
-        SkColor c2 = sk_tool_utils::color_to_565(0xFF804020);
+        SkColor c1 = ToolUtils::color_to_565(0xFF244484);
+        SkColor c2 = ToolUtils::color_to_565(0xFF804020);
 
-        fCheckerboard = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_checkerboard_bitmap(80, 80, c1, c2, 8));
-        fSmall = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_checkerboard_bitmap(64, 64, c1, c2, 8));
-        fLarge = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_checkerboard_bitmap(96, 96, c1, c2, 8));
-        fLargeW =
-            SkImage::MakeFromBitmap(sk_tool_utils::create_checkerboard_bitmap(96, 64, c1, c2, 8));
-        fLargeH = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_checkerboard_bitmap(64, 96, c1, c2, 8));
+        fCheckerboard =
+                SkImage::MakeFromBitmap(ToolUtils::create_checkerboard_bitmap(80, 80, c1, c2, 8));
+        fSmall  = SkImage::MakeFromBitmap(ToolUtils::create_checkerboard_bitmap(64, 64, c1, c2, 8));
+        fLarge  = SkImage::MakeFromBitmap(ToolUtils::create_checkerboard_bitmap(96, 96, c1, c2, 8));
+        fLargeW = SkImage::MakeFromBitmap(ToolUtils::create_checkerboard_bitmap(96, 64, c1, c2, 8));
+        fLargeH = SkImage::MakeFromBitmap(ToolUtils::create_checkerboard_bitmap(64, 96, c1, c2, 8));
     }
 
     SkISize onISize() override {
diff --git a/gm/downsamplebitmap.cpp b/gm/downsamplebitmap.cpp
index cc521d0..e0dde1b 100644
--- a/gm/downsamplebitmap.cpp
+++ b/gm/downsamplebitmap.cpp
@@ -6,8 +6,8 @@
  */
 
 #include "Resources.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 static const char* kFilterQualityNames[] = { "none", "low", "medium", "high" };
 
@@ -87,13 +87,13 @@
     font.setSubpixel(true);
     font.setSize(textSize);
 
-    font.setTypeface(sk_tool_utils::create_portable_typeface("serif", SkFontStyle()));
+    font.setTypeface(ToolUtils::create_portable_typeface("serif", SkFontStyle()));
     canvas.drawString("Hamburgefons", textSize/2, 1.2f*textSize, font, paint);
-    font.setTypeface(sk_tool_utils::create_portable_typeface("serif", SkFontStyle::Bold()));
+    font.setTypeface(ToolUtils::create_portable_typeface("serif", SkFontStyle::Bold()));
     canvas.drawString("Hamburgefons", textSize/2, 2.4f*textSize, font, paint);
-    font.setTypeface(sk_tool_utils::create_portable_typeface("serif", SkFontStyle::Italic()));
+    font.setTypeface(ToolUtils::create_portable_typeface("serif", SkFontStyle::Italic()));
     canvas.drawString("Hamburgefons", textSize/2, 3.6f*textSize, font, paint);
-    font.setTypeface(sk_tool_utils::create_portable_typeface("serif", SkFontStyle::BoldItalic()));
+    font.setTypeface(ToolUtils::create_portable_typeface("serif", SkFontStyle::BoldItalic()));
     canvas.drawString("Hamburgefons", textSize/2, 4.8f*textSize, font, paint);
 
     return bm;
diff --git a/gm/drawatlas.cpp b/gm/drawatlas.cpp
index 0146822..5ee6d39 100644
--- a/gm/drawatlas.cpp
+++ b/gm/drawatlas.cpp
@@ -12,12 +12,12 @@
 #include "SkRSXform.h"
 #include "SkSurface.h"
 #include "SkTextBlob.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
 
 class DrawAtlasGM : public skiagm::GM {
     static sk_sp<SkImage> MakeAtlas(SkCanvas* caller, const SkRect& target) {
         SkImageInfo info = SkImageInfo::MakeN32Premul(100, 100);
-        auto surface(sk_tool_utils::makeSurface(caller, info));
+        auto        surface(ToolUtils::makeSurface(caller, info));
         SkCanvas* canvas = surface->getCanvas();
         // draw red everywhere, but we don't expect to see it in the draw, testing the notion
         // that drawAtlas draws a subset-region of the atlas.
@@ -212,7 +212,7 @@
 // Exercise xform blob and its bounds
 DEF_SIMPLE_GM(blob_rsxform, canvas, 500, 100) {
     SkFont font;
-    font.setTypeface(sk_tool_utils::create_portable_typeface());
+    font.setTypeface(ToolUtils::create_portable_typeface());
     font.setSize(50);
 
     const char text[] = "CrazyXform";
diff --git a/gm/drawatlascolor.cpp b/gm/drawatlascolor.cpp
index 82bf998..532b771 100644
--- a/gm/drawatlascolor.cpp
+++ b/gm/drawatlascolor.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkRSXform.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 // Create a square atlas of:
 //   opaque white  |     opaque red
@@ -20,7 +20,7 @@
     const int kBlockSize = atlasSize/2;
 
     SkImageInfo info = SkImageInfo::MakeN32Premul(atlasSize, atlasSize);
-    auto surface(sk_tool_utils::makeSurface(caller, info));
+    auto        surface(ToolUtils::makeSurface(caller, info));
     SkCanvas* canvas = surface->getCanvas();
 
     SkPaint paint;
@@ -128,7 +128,7 @@
             quadColors[i] = gColors[i];
         }
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), kTextPad);
+        SkFont font(ToolUtils::create_portable_typeface(), kTextPad);
 
         for (int i = 0; i < numModes; ++i) {
             const char* label = SkBlendMode_Name(gModes[i]);
diff --git a/gm/drawbitmaprect.cpp b/gm/drawbitmaprect.cpp
index 5c8eb6d..4d4204c 100644
--- a/gm/drawbitmaprect.cpp
+++ b/gm/drawbitmaprect.cpp
@@ -5,8 +5,6 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBlurMask.h"
 #include "SkBlurMaskFilter.h"
 #include "SkColorPriv.h"
@@ -16,7 +14,8 @@
 #include "SkMathPriv.h"
 #include "SkShader.h"
 #include "SkSurface.h"
-
+#include "ToolUtils.h"
+#include "gm.h"
 
 static SkBitmap make_chessbm(int w, int h) {
     SkBitmap bm;
@@ -35,7 +34,7 @@
 static sk_sp<SkImage> makebm(SkCanvas* origCanvas, SkBitmap* resultBM, int w, int h) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(w, h);
 
-    auto surface(sk_tool_utils::makeSurface(origCanvas, info));
+    auto      surface(ToolUtils::makeSurface(origCanvas, info));
     SkCanvas* canvas = surface->getCanvas();
 
     canvas->clear(SK_ColorTRANSPARENT);
@@ -172,7 +171,7 @@
         blackPaint.setColor(SK_ColorBLACK);
         blackPaint.setAntiAlias(true);
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), titleHeight);
+        SkFont font(ToolUtils::create_portable_typeface(), titleHeight);
 
         SkString title;
         title.printf("Bitmap size: %d x %d", gBmpSize, gBmpSize);
diff --git a/gm/drawimageset.cpp b/gm/drawimageset.cpp
index f993a7c..fae0a5e 100644
--- a/gm/drawimageset.cpp
+++ b/gm/drawimageset.cpp
@@ -10,7 +10,7 @@
 #include <algorithm>
 #include "SkGradientShader.h"
 #include "SkSurface.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
 
 // Makes a set of m x n tiled images to be drawn with SkCanvas::experimental_drawImageSetV1().
 static void make_image_tiles(int tileW, int tileH, int m, int n, const SkColor colors[4],
@@ -183,7 +183,7 @@
     }
 
     void onDraw(SkCanvas* canvas) override {
-        sk_tool_utils::draw_checkerboard(canvas, SK_ColorBLACK, SK_ColorWHITE, 50);
+        ToolUtils::draw_checkerboard(canvas, SK_ColorBLACK, SK_ColorWHITE, 50);
         static constexpr SkScalar kW = kM * kTileW;
         static constexpr SkScalar kH = kN * kTileH;
         SkMatrix matrices[5];
diff --git a/gm/drawlooper.cpp b/gm/drawlooper.cpp
index a9fe09f..cb1bf9c 100644
--- a/gm/drawlooper.cpp
+++ b/gm/drawlooper.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBlurMask.h"
 #include "SkCanvas.h"
 #include "SkGraphics.h"
 #include "SkLayerDrawLooper.h"
 #include "SkMaskFilter.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH   200
 #define HEIGHT  200
@@ -39,7 +39,7 @@
         paint.setAntiAlias(true);
         paint.setLooper(fLooper);
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 72);
+        SkFont font(ToolUtils::create_portable_typeface(), 72);
 
         canvas->drawCircle(50, 50, 30, paint);
         canvas->drawRect({ 150, 50, 200, 100 }, paint);
diff --git a/gm/dropshadowimagefilter.cpp b/gm/dropshadowimagefilter.cpp
index 1710dbd..04db009 100644
--- a/gm/dropshadowimagefilter.cpp
+++ b/gm/dropshadowimagefilter.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkColorFilter.h"
 #include "SkColorFilterImageFilter.h"
 #include "SkDropShadowImageFilter.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -41,7 +41,7 @@
     paint.setColor(SK_ColorGREEN);
     paint.setAntiAlias(true);
 
-    SkFont font(sk_tool_utils::create_portable_typeface(), r.height()/2);
+    SkFont font(ToolUtils::create_portable_typeface(), r.height() / 2);
     canvas->save();
     canvas->clipRect(r);
     SkTextUtils::DrawString(canvas, "Text", r.centerX(), r.centerY(), font, paint, SkTextUtils::kCenter_Align);
diff --git a/gm/dstreadshuffle.cpp b/gm/dstreadshuffle.cpp
index fbaac15..a73b71c 100644
--- a/gm/dstreadshuffle.cpp
+++ b/gm/dstreadshuffle.cpp
@@ -4,13 +4,13 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBitmap.h"
 #include "SkPath.h"
 #include "SkRandom.h"
 #include "SkShader.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -82,7 +82,7 @@
                 break;
             case kText_ShapeType: {
                 const char* text = "N";
-                SkFont font(sk_tool_utils::create_portable_typeface(), 100);
+                SkFont      font(ToolUtils::create_portable_typeface(), 100);
                 font.setEmbolden(true);
                 canvas->drawString(text, 0.f, 100.f, font, *paint);
             }
@@ -92,7 +92,7 @@
     }
 
     static SkColor GetColor(SkRandom* random) {
-        SkColor color = sk_tool_utils::color_to_565(random->nextU() | 0xFF000000);
+        SkColor color = ToolUtils::color_to_565(random->nextU() | 0xFF000000);
         return SkColorSetA(color, 0x80);
     }
 
diff --git a/gm/emptypath.cpp b/gm/emptypath.cpp
index 1c77580..4f77bfe 100644
--- a/gm/emptypath.cpp
+++ b/gm/emptypath.cpp
@@ -4,12 +4,12 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkPaint.h"
 #include "SkPath.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -61,7 +61,7 @@
             {SkPaint::kStrokeAndFill_Style, "Stroke And Fill"},
         };
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 15);
+        SkFont     font(ToolUtils::create_portable_typeface(), 15);
         const char title[] = "Empty Paths Drawn Into Rectangle Clips With "
                              "Indicated Style and Fill";
         canvas->drawString(title, 20.0f, 20.0f, font, SkPaint());
@@ -86,7 +86,7 @@
 
                 SkColor color = rand.nextU();
                 color = 0xff000000 | color; // force solid
-                color = sk_tool_utils::color_to_565(color);
+                color         = ToolUtils::color_to_565(color);
                 this->drawEmpty(canvas, color, rect,
                                 gStyles[style].fStyle, gFills[fill].fFill);
 
@@ -99,7 +99,7 @@
 
                 SkPaint labelPaint;
                 labelPaint.setColor(color);
-                SkFont labelFont(sk_tool_utils::create_portable_typeface(), 12);
+                SkFont labelFont(ToolUtils::create_portable_typeface(), 12);
                 canvas->drawString(gStyles[style].fName, 0, rect.height() + 15.0f,
                                    labelFont, labelPaint);
                 canvas->drawString(gFills[fill].fName, 0, rect.height() + 28.0f,
diff --git a/gm/etc1.cpp b/gm/etc1.cpp
index 446c085..e8a126c 100644
--- a/gm/etc1.cpp
+++ b/gm/etc1.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkImage.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #if SK_SUPPORT_GPU && !defined(SK_BUILD_FOR_GOOGLE3)
 #include "etc1.h"
diff --git a/gm/fatpathfill.cpp b/gm/fatpathfill.cpp
index 21d9085..3b842a2 100644
--- a/gm/fatpathfill.cpp
+++ b/gm/fatpathfill.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkPath.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define ZOOM    32
 #define SMALL_W 9
@@ -22,7 +22,7 @@
 
 static void draw_pixel_centers(SkCanvas* canvas) {
     SkPaint paint;
-    paint.setColor(sk_tool_utils::color_to_565(0xFF0088FF));
+    paint.setColor(ToolUtils::color_to_565(0xFF0088FF));
     paint.setAntiAlias(true);
 
     for (int y = 0; y < SMALL_H; ++y) {
diff --git a/gm/filterbitmap.cpp b/gm/filterbitmap.cpp
index 9694155..0deb828 100644
--- a/gm/filterbitmap.cpp
+++ b/gm/filterbitmap.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkGradientShader.h"
@@ -14,7 +14,7 @@
 #include "SkTypeface.h"
 
 static void setTypeface(SkFont* font, const char name[], SkFontStyle style) {
-    font->setTypeface(sk_tool_utils::create_portable_typeface(name, style));
+    font->setTypeface(ToolUtils::create_portable_typeface(name, style));
 }
 
 static SkSize computeSize(const SkBitmap& bm, const SkMatrix& mat) {
@@ -170,7 +170,7 @@
           }
           if (fConvertToG8) {
               SkBitmap tmp;
-              sk_tool_utils::copy_to_g8(&tmp, fBM);
+              ToolUtils::copy_to_g8(&tmp, fBM);
               fBM = tmp;
           }
       }
@@ -205,7 +205,7 @@
 
         if (fConvertToG8) {
             SkBitmap tmp;
-            sk_tool_utils::copy_to_g8(&tmp, fBM);
+            ToolUtils::copy_to_g8(&tmp, fBM);
             fBM = tmp;
         }
       }
diff --git a/gm/filterindiabox.cpp b/gm/filterindiabox.cpp
index 01ecb21..fe4f31f 100644
--- a/gm/filterindiabox.cpp
+++ b/gm/filterindiabox.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkBitmapProcState.h"
@@ -60,9 +60,7 @@
     SkMatrix    fMatrix[2];
     SkString    fName;
 
-    FilterIndiaBoxGM() {
-        this->setBGColor(sk_tool_utils::color_to_565(0xFFDDDDDD));
-    }
+    FilterIndiaBoxGM() { this->setBGColor(ToolUtils::color_to_565(0xFFDDDDDD)); }
 
     FilterIndiaBoxGM(const char filename[]) : fFilename(filename) {
         fName.printf("filterindiabox");
diff --git a/gm/flippity.cpp b/gm/flippity.cpp
index ccd16f6..4a8696e 100644
--- a/gm/flippity.cpp
+++ b/gm/flippity.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkSurface.h"
 
@@ -64,7 +64,7 @@
 
     SkFont font;
     font.setEdging(SkFont::Edging::kAntiAlias);
-    font.setTypeface(sk_tool_utils::create_portable_typeface());
+    font.setTypeface(ToolUtils::create_portable_typeface());
     font.setSize(32);
 
     SkRect bounds;
diff --git a/gm/fontcache.cpp b/gm/fontcache.cpp
index 53d241d..a96e944 100644
--- a/gm/fontcache.cpp
+++ b/gm/fontcache.cpp
@@ -11,14 +11,14 @@
 #include "gm.h"
 
 #include "GrContext.h"
-#include "GrContextPriv.h"
 #include "GrContextOptions.h"
+#include "GrContextPriv.h"
 #include "SkCanvas.h"
 #include "SkGraphics.h"
 #include "SkImage.h"
 #include "SkTypeface.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 static SkScalar draw_string(SkCanvas* canvas, const SkString& text, SkScalar x,
                            SkScalar y, const SkFont& font) {
@@ -51,13 +51,12 @@
     SkISize onISize() override { return SkISize::Make(kSize, kSize); }
 
     void onOnceBeforeDraw() override {
-        fTypefaces[0] = sk_tool_utils::create_portable_typeface("serif", SkFontStyle::Italic());
-        fTypefaces[1] = sk_tool_utils::create_portable_typeface("sans-serif",SkFontStyle::Italic());
-        fTypefaces[2] = sk_tool_utils::create_portable_typeface("serif", SkFontStyle::Normal());
-        fTypefaces[3] =
-                sk_tool_utils::create_portable_typeface("sans-serif", SkFontStyle::Normal());
-        fTypefaces[4] = sk_tool_utils::create_portable_typeface("serif", SkFontStyle::Bold());
-        fTypefaces[5] = sk_tool_utils::create_portable_typeface("sans-serif", SkFontStyle::Bold());
+        fTypefaces[0] = ToolUtils::create_portable_typeface("serif", SkFontStyle::Italic());
+        fTypefaces[1] = ToolUtils::create_portable_typeface("sans-serif", SkFontStyle::Italic());
+        fTypefaces[2] = ToolUtils::create_portable_typeface("serif", SkFontStyle::Normal());
+        fTypefaces[3] = ToolUtils::create_portable_typeface("sans-serif", SkFontStyle::Normal());
+        fTypefaces[4] = ToolUtils::create_portable_typeface("serif", SkFontStyle::Bold());
+        fTypefaces[5] = ToolUtils::create_portable_typeface("sans-serif", SkFontStyle::Bold());
     }
 
     void onDraw(GrContext*, GrRenderTargetContext*, SkCanvas* canvas) override {
diff --git a/gm/fontmgr.cpp b/gm/fontmgr.cpp
index b8d9b8c..cf11350 100644
--- a/gm/fontmgr.cpp
+++ b/gm/fontmgr.cpp
@@ -13,8 +13,8 @@
 #include "SkGraphics.h"
 #include "SkPath.h"
 #include "SkTypeface.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 // limit this just so we don't take too long to draw
 #define MAX_FAMILIES    30
@@ -271,7 +271,7 @@
 
         SkFont labelFont;
         labelFont.setEdging(SkFont::Edging::kAntiAlias);
-        labelFont.setTypeface(sk_tool_utils::create_portable_typeface());
+        labelFont.setTypeface(ToolUtils::create_portable_typeface());
 
         if (FLAGS_veryVerbose) {
             SkString name;
diff --git a/gm/fontregen.cpp b/gm/fontregen.cpp
index fa56fda..7f1d697 100644
--- a/gm/fontregen.cpp
+++ b/gm/fontregen.cpp
@@ -24,7 +24,7 @@
 #include "SkTypeface.h"
 #include "gm.h"
 
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
 
 static sk_sp<SkTextBlob> make_blob(const SkString& text, const SkFont& font) {
     size_t len = text.size();
@@ -56,7 +56,7 @@
     SkISize onISize() override { return SkISize::Make(kSize, kSize); }
 
     void onOnceBeforeDraw() override {
-        auto tf = sk_tool_utils::create_portable_typeface("sans-serif", SkFontStyle::Normal());
+        auto tf = ToolUtils::create_portable_typeface("sans-serif", SkFontStyle::Normal());
 
         static const SkString kTexts[] = {
             SkString("abcdefghijklmnopqrstuvwxyz"),
diff --git a/gm/fontscaler.cpp b/gm/fontscaler.cpp
index e3aa82e..85e58e4 100644
--- a/gm/fontscaler.cpp
+++ b/gm/fontscaler.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 #include <SkFont.h>
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkTypeface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
diff --git a/gm/fwidth_squircle.cpp b/gm/fwidth_squircle.cpp
index 345c701..829c3d96 100644
--- a/gm/fwidth_squircle.cpp
+++ b/gm/fwidth_squircle.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #if SK_SUPPORT_GPU
 
diff --git a/gm/gamma.cpp b/gm/gamma.cpp
index 6c854ae..e211db6 100644
--- a/gm/gamma.cpp
+++ b/gm/gamma.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkBlendModePriv.h"
@@ -49,7 +49,7 @@
     mipmapPixels[0] = mipmapPixels[3] = SkPackARGB32(0xFF, s25, s25, s25);
     mipmapPixels[1] = mipmapPixels[2] = SkPackARGB32(0xFF, s75, s75, s75);
 
-    SkFont font(sk_tool_utils::create_portable_typeface());
+    SkFont font(ToolUtils::create_portable_typeface());
 
     SkPaint textPaint;
     textPaint.setAntiAlias(true);
diff --git a/gm/gammatext.cpp b/gm/gammatext.cpp
index 81ea5ae..ef1c8b9 100644
--- a/gm/gammatext.cpp
+++ b/gm/gammatext.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
-#include "SkPath.h"
 #include "SkGradientShader.h"
+#include "SkPath.h"
 #include "SkTypeface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static sk_sp<SkShader> make_heatGradient(const SkPoint pts[2]) {
     const SkColor bw[] = { SK_ColorBLACK, SK_ColorWHITE };
diff --git a/gm/getpostextpath.cpp b/gm/getpostextpath.cpp
index cde2099..f61aad6 100644
--- a/gm/getpostextpath.cpp
+++ b/gm/getpostextpath.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkCanvas.h"
 #include "SkFontPriv.h"
@@ -30,7 +30,7 @@
     SkPath path;
 
     SkFont font;
-    font.setTypeface(sk_tool_utils::create_portable_typeface());
+    font.setTypeface(ToolUtils::create_portable_typeface());
     font.setSize(48);
 
     SkPaint paint;
@@ -39,7 +39,7 @@
     canvas->translate(SkIntToScalar(10), SkIntToScalar(64));
 
     canvas->drawSimpleText(text, len, kUTF8_SkTextEncoding, 0, 0, font, paint);
-    sk_tool_utils::get_text_path(font, text, len, kUTF8_SkTextEncoding, &path, nullptr);
+    ToolUtils::get_text_path(font, text, len, kUTF8_SkTextEncoding, &path, nullptr);
     strokePath(canvas, path);
     path.reset();
 
@@ -60,6 +60,6 @@
     canvas->translate(0, SkIntToScalar(64));
 
     canvas->drawTextBlob(SkTextBlob::MakeFromPosText(text, len, &pos[0], font), 0, 0, paint);
-    sk_tool_utils::get_text_path(font, text, len, kUTF8_SkTextEncoding, &path, &pos[0]);
+    ToolUtils::get_text_path(font, text, len, kUTF8_SkTextEncoding, &path, &pos[0]);
     strokePath(canvas, path);
 }
diff --git a/gm/glyph_pos.cpp b/gm/glyph_pos.cpp
index c5e43c8..54d5ff8 100644
--- a/gm/glyph_pos.cpp
+++ b/gm/glyph_pos.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkFont.h"
 #include "SkTypeface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 /* This test tries to define the effect of using hairline strokes on text.
  * Provides non-hairline images for reference and consistency checks.
@@ -87,7 +87,7 @@
     paint.setStrokeWidth(strokeWidth);
     paint.setStyle(strokeStyle);
 
-    SkFont font(sk_tool_utils::create_portable_typeface(), kTextHeight * textScale);
+    SkFont font(ToolUtils::create_portable_typeface(), kTextHeight * textScale);
 
     // This demonstrates that we can not measure the text if
     // there's a device transform. The canvas total matrix will
diff --git a/gm/gm.cpp b/gm/gm.cpp
index 5ea795c..3bb58a7 100644
--- a/gm/gm.cpp
+++ b/gm/gm.cpp
@@ -8,9 +8,9 @@
 #include "gm.h"
 
 #include "GrContext.h"
-#include "sk_tool_utils.h"
 #include "SkShader.h"
 #include "SkTraceEvent.h"
+#include "ToolUtils.h"
 using namespace skiagm;
 
 constexpr char GM::kErrorMsg_DrawSkippedGpuOnly[];
@@ -38,7 +38,7 @@
     bmp.allocN32Pixels(128, 64);
     SkCanvas bmpCanvas(bmp);
     bmpCanvas.drawColor(SK_ColorWHITE);
-    SkFont font(sk_tool_utils::create_portable_typeface(), 20);
+    SkFont  font(ToolUtils::create_portable_typeface(), 20);
     SkPaint paint;
     paint.setColor(SK_ColorRED);
     bmpCanvas.drawString("GPU Only", 20, 40, font, paint);
diff --git a/gm/gradtext.cpp b/gm/gradtext.cpp
index 873b516..a2fce97 100644
--- a/gm/gradtext.cpp
+++ b/gm/gradtext.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkGradientShader.h"
 #include "SkTypeface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 // test shader w/ transparency
 static sk_sp<SkShader> make_grad(SkScalar width) {
@@ -55,7 +55,7 @@
         // Minimal repro doesn't require AA, LCD, or a nondefault typeface
         paint.setShader(make_chrome_solid());
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 500);
+        SkFont font(ToolUtils::create_portable_typeface(), 500);
         font.setEdging(SkFont::Edging::kAlias);
 
         canvas->drawString("I", 0, 100, font, paint);
@@ -75,7 +75,7 @@
     virtual SkISize onISize() { return SkISize::Make(500, 480); }
     virtual void onDraw(SkCanvas* canvas) {
         SkPaint paint;
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont  font(ToolUtils::create_portable_typeface());
         font.setEdging(SkFont::Edging::kAlias);
 
         paint.setStyle(SkPaint::kFill_Style);
@@ -103,7 +103,7 @@
 
 DEF_SIMPLE_GM(gradtext, canvas, 500, 480) {
     static constexpr float kTextSize = 26.0f;
-    SkFont font(sk_tool_utils::create_portable_typeface(), kTextSize);
+    SkFont                 font(ToolUtils::create_portable_typeface(), kTextSize);
 
     canvas->drawRect({0, 0, 500, 240}, SkPaint());
     canvas->translate(20.0f, kTextSize);
diff --git a/gm/highcontrastfilter.cpp b/gm/highcontrastfilter.cpp
index d3da2ac..9672ffa 100644
--- a/gm/highcontrastfilter.cpp
+++ b/gm/highcontrastfilter.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkFont.h"
 #include "SkGradientShader.h"
 #include "SkHighContrastFilter.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 using InvertStyle = SkHighContrastConfig::InvertStyle;
 
@@ -32,7 +32,7 @@
              config.fContrast);
 
     SkFont font;
-    font.setTypeface(sk_tool_utils::create_portable_typeface());
+    font.setTypeface(ToolUtils::create_portable_typeface());
     font.setSize(0.05f);
     font.setEdging(SkFont::Edging::kAlias);
 
diff --git a/gm/hsl.cpp b/gm/hsl.cpp
index 03bc3f7..6839811 100644
--- a/gm/hsl.cpp
+++ b/gm/hsl.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 // Hue, Saturation, Color, and Luminosity blend modes are oddballs.
 // They nominally convert their inputs to unpremul, then to HSL, then
@@ -146,7 +146,7 @@
 
 DEF_SIMPLE_GM(hsl, canvas, 600, 100) {
     SkPaint paint;
-    SkFont font(sk_tool_utils::create_portable_typeface());
+    SkFont  font(ToolUtils::create_portable_typeface());
 
     const char* comment = "HSL blend modes are correct when you see no circles in the squares.";
     canvas->drawString(comment, 10,10, font, paint);
diff --git a/gm/image.cpp b/gm/image.cpp
index 49acff5..b6e438c 100644
--- a/gm/image.cpp
+++ b/gm/image.cpp
@@ -13,8 +13,8 @@
 #include "SkRandom.h"
 #include "SkStream.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include <functional>
 
@@ -113,7 +113,7 @@
     void onDraw(SkCanvas* canvas) override {
         canvas->scale(2, 2);
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 8);
+        SkFont font(ToolUtils::create_portable_typeface(), 8);
 
         canvas->drawString("Original Img",  10,  60, font, SkPaint());
         canvas->drawString("Modified Img",  10, 140, font, SkPaint());
@@ -398,7 +398,7 @@
 
 DEF_SIMPLE_GM_CAN_FAIL(image_subset, canvas, errorMsg, 440, 220) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(200, 200, nullptr);
-    auto surf = sk_tool_utils::makeSurface(canvas, info, nullptr);
+    auto        surf = ToolUtils::makeSurface(canvas, info, nullptr);
     auto img = make_lazy_image(surf.get());
     if (!img) {
         *errorMsg = "Failed to make lazy image.";
diff --git a/gm/imagealphathreshold.cpp b/gm/imagealphathreshold.cpp
index c0246bd..1fe4dad 100644
--- a/gm/imagealphathreshold.cpp
+++ b/gm/imagealphathreshold.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
 #include "SkAlphaThresholdFilter.h"
 #include "SkImageSource.h"
 #include "SkOffsetImageFilter.h"
 #include "SkRandom.h"
 #include "SkRegion.h"
 #include "SkSurface.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH 500
 #define HEIGHT 500
@@ -104,7 +104,7 @@
 
     SkImageInfo info = SkImageInfo::Make(width, height, ct, at, std::move(cs));
 
-    return sk_tool_utils::makeSurface(canvas, info);
+    return ToolUtils::makeSurface(canvas, info);
 }
 
 class ImageAlphaThresholdSurfaceGM : public skiagm::GM {
diff --git a/gm/imageblur.cpp b/gm/imageblur.cpp
index 3531658..5aca868 100644
--- a/gm/imageblur.cpp
+++ b/gm/imageblur.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBlurImageFilter.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH 500
 #define HEIGHT 500
@@ -21,11 +21,11 @@
 
         SkRandom rand;
         SkPaint textPaint;
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont   font(ToolUtils::create_portable_typeface());
         for (int i = 0; i < 25; ++i) {
             int x = rand.nextULessThan(WIDTH);
             int y = rand.nextULessThan(HEIGHT);
-            textPaint.setColor(sk_tool_utils::color_to_565(rand.nextBits(24) | 0xFF000000));
+            textPaint.setColor(ToolUtils::color_to_565(rand.nextBits(24) | 0xFF000000));
             font.setSize(rand.nextRangeScalar(0, 300));
             canvas->drawString(str, SkIntToScalar(x), SkIntToScalar(y), font, textPaint);
         }
diff --git a/gm/imageblur2.cpp b/gm/imageblur2.cpp
index 4cb94c9..1bed94c 100644
--- a/gm/imageblur2.cpp
+++ b/gm/imageblur2.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBlurImageFilter.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 // TODO deprecate imageblur
 
@@ -31,7 +31,7 @@
     constexpr SkScalar dy = kHeight / sigmaCount;
     constexpr SkScalar textSize = 12;
 
-    SkFont font(sk_tool_utils::create_portable_typeface(), textSize);
+    SkFont font(ToolUtils::create_portable_typeface(), textSize);
     font.setEdging(SkFont::Edging::kAlias);
 
     for (int x = 0; x < sigmaCount; x++) {
@@ -45,7 +45,7 @@
 
             SkRandom rand;
             SkPaint textPaint;
-            textPaint.setColor(sk_tool_utils::color_to_565(rand.nextBits(24) | 0xFF000000));
+            textPaint.setColor(ToolUtils::color_to_565(rand.nextBits(24) | 0xFF000000));
             for (int i = 0; i < testStringCount; i++) {
                 canvas->drawString(kTestStrings[i],
                                    SkIntToScalar(x * dx),
diff --git a/gm/imageblurclampmode.cpp b/gm/imageblurclampmode.cpp
index f16f01d..2cd1723 100644
--- a/gm/imageblurclampmode.cpp
+++ b/gm/imageblurclampmode.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
-#include "SkSurface.h"
 #include "SkBlurImageFilter.h"
+#include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static sk_sp<SkImage> make_image(SkCanvas* canvas) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(250, 200);
-    auto surface = sk_tool_utils::makeSurface(canvas, info);
+    auto        surface = ToolUtils::makeSurface(canvas, info);
     SkCanvas* c = surface->getCanvas();
     SkPaint paint;
     paint.setAntiAlias(true);
diff --git a/gm/imageblurrepeatmode.cpp b/gm/imageblurrepeatmode.cpp
index 0423a99..9dafd1d 100644
--- a/gm/imageblurrepeatmode.cpp
+++ b/gm/imageblurrepeatmode.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
-#include "SkSurface.h"
 #include "SkBlurImageFilter.h"
+#include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static sk_sp<SkImage> make_image(SkCanvas* canvas, int direction) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(250, 200);
-    auto surface = sk_tool_utils::makeSurface(canvas, info);
+    auto        surface = ToolUtils::makeSurface(canvas, info);
     SkCanvas* c = surface->getCanvas();
     SkPaint paint;
     paint.setAntiAlias(true);
diff --git a/gm/imageblurtiled.cpp b/gm/imageblurtiled.cpp
index 5a57721..f1d15d0 100644
--- a/gm/imageblurtiled.cpp
+++ b/gm/imageblurtiled.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBlurImageFilter.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH 640
 #define HEIGHT 480
@@ -46,7 +46,7 @@
                     "jumped over",
                     "the lazy dog.",
                 };
-                SkFont font(sk_tool_utils::create_portable_typeface(), 100);
+                SkFont font(ToolUtils::create_portable_typeface(), 100);
                 int posY = 0;
                 for (unsigned i = 0; i < SK_ARRAY_COUNT(str); i++) {
                     posY += 100;
diff --git a/gm/imagefilters.cpp b/gm/imagefilters.cpp
index bc33a57..bf1940e 100644
--- a/gm/imagefilters.cpp
+++ b/gm/imagefilters.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
 #include "SkBlurImageFilter.h"
 #include "SkColorMatrixFilter.h"
 #include "SkImage.h"
 #include "SkImageFilter.h"
 #include "SkSurface.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 /**
  *  Test drawing a primitive w/ an imagefilter (in this case, just matrix w/ identity) to see
@@ -70,7 +70,7 @@
 
 static sk_sp<SkImage> make_image(SkCanvas* canvas) {
     const SkImageInfo info = SkImageInfo::MakeS32(100, 100, kPremul_SkAlphaType);
-    auto surface(sk_tool_utils::makeSurface(canvas, info));
+    auto              surface(ToolUtils::makeSurface(canvas, info));
     surface->getCanvas()->drawRect(SkRect::MakeXYWH(25, 25, 50, 50), SkPaint());
     return surface->makeImageSnapshot();
 }
diff --git a/gm/imagefiltersbase.cpp b/gm/imagefiltersbase.cpp
index 40bb810..5a7c05a 100644
--- a/gm/imagefiltersbase.cpp
+++ b/gm/imagefiltersbase.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkColorFilter.h"
 #include "SkColorPriv.h"
 #include "SkImageFilterPriv.h"
 #include "SkShader.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #include "SkBlurImageFilter.h"
 #include "SkColorFilterImageFilter.h"
@@ -127,7 +127,7 @@
     SkPaint paint;
     paint.setImageFilter(imf);
     paint.setColor(SK_ColorCYAN);
-    SkFont font(sk_tool_utils::create_portable_typeface(), r.height()/2);
+    SkFont font(ToolUtils::create_portable_typeface(), r.height() / 2);
     SkTextUtils::DrawString(canvas, "Text", r.centerX(), r.centerY(), font, paint,
                             SkTextUtils::kCenter_Align);
 }
@@ -241,7 +241,7 @@
             SkFont::Edging::kAntiAlias,
             SkFont::Edging::kSubpixelAntiAlias,
         };
-        SkFont font(sk_tool_utils::create_portable_typeface(), 30);
+        SkFont font(ToolUtils::create_portable_typeface(), 30);
 
         SkAutoCanvasRestore acr(canvas, true);
         for (SkFont::Edging edging : kEdgings) {
diff --git a/gm/imagefiltersclipped.cpp b/gm/imagefiltersclipped.cpp
index 6236c38..a038d7f 100644
--- a/gm/imagefiltersclipped.cpp
+++ b/gm/imagefiltersclipped.cpp
@@ -20,8 +20,8 @@
 #include "SkPoint3.h"
 #include "SkScalar.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #define RESIZE_FACTOR_X SkIntToScalar(2)
 #define RESIZE_FACTOR_Y SkIntToScalar(5)
@@ -79,8 +79,8 @@
     }
 
     void onOnceBeforeDraw() override {
-        fCheckerboard = SkImage::MakeFromBitmap
-            (sk_tool_utils::create_checkerboard_bitmap(64, 64, 0xFFA0A0A0, 0xFF404040, 8));
+        fCheckerboard = SkImage::MakeFromBitmap(
+                ToolUtils::create_checkerboard_bitmap(64, 64, 0xFFA0A0A0, 0xFF404040, 8));
         fGradientCircle = make_gradient_circle(64, 64);
     }
 
diff --git a/gm/imagefilterscropped.cpp b/gm/imagefilterscropped.cpp
index 179fdc3..f28f116 100644
--- a/gm/imagefilterscropped.cpp
+++ b/gm/imagefilterscropped.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkColorFilter.h"
 #include "SkColorPriv.h"
 #include "SkShader.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #include "SkBlurImageFilter.h"
 #include "SkMorphologyImageFilter.h"
@@ -44,7 +44,7 @@
     paint.setImageFilter(std::move(imf));
     paint.setColor(SK_ColorGREEN);
 
-    SkFont font(sk_tool_utils::create_portable_typeface(), r.height()/2);
+    SkFont font(ToolUtils::create_portable_typeface(), r.height() / 2);
     SkTextUtils::DrawString(canvas, "Text", r.centerX(), r.centerY(), font, paint, SkTextUtils::kCenter_Align);
 }
 
diff --git a/gm/imagefiltersgraph.cpp b/gm/imagefiltersgraph.cpp
index a369dc0..8820879 100644
--- a/gm/imagefiltersgraph.cpp
+++ b/gm/imagefiltersgraph.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkArithmeticImageFilter.h"
 #include "SkBlurImageFilter.h"
@@ -39,7 +39,7 @@
 
     void onOnceBeforeDraw() override {
         fImage = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_string_bitmap(100, 100, SK_ColorWHITE, 20, 70, 96, "e"));
+                ToolUtils::create_string_bitmap(100, 100, SK_ColorWHITE, 20, 70, 96, "e"));
     }
 
     void onDraw(SkCanvas* canvas) override {
diff --git a/gm/imagefiltersscaled.cpp b/gm/imagefiltersscaled.cpp
index dc87da3..73006af 100644
--- a/gm/imagefiltersscaled.cpp
+++ b/gm/imagefiltersscaled.cpp
@@ -20,8 +20,8 @@
 #include "SkPoint3.h"
 #include "SkScalar.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #define RESIZE_FACTOR SkIntToScalar(4)
 
@@ -64,7 +64,7 @@
 
     void onOnceBeforeDraw() override {
         fCheckerboard = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_checkerboard_bitmap(64, 64, 0xFFA0A0A0, 0xFF404040, 8));
+                ToolUtils::create_checkerboard_bitmap(64, 64, 0xFFA0A0A0, 0xFF404040, 8));
         fGradientCircle = make_gradient_circle(64, 64);
     }
 
diff --git a/gm/imagefilterstransformed.cpp b/gm/imagefilterstransformed.cpp
index 941a04c..6b6fd1c 100644
--- a/gm/imagefilterstransformed.cpp
+++ b/gm/imagefilterstransformed.cpp
@@ -15,8 +15,8 @@
 #include "SkMorphologyImageFilter.h"
 #include "SkScalar.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 namespace skiagm {
 
@@ -58,7 +58,7 @@
 
     void onOnceBeforeDraw() override {
         fCheckerboard = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_checkerboard_bitmap(64, 64, 0xFFA0A0A0, 0xFF404040, 8));
+                ToolUtils::create_checkerboard_bitmap(64, 64, 0xFFA0A0A0, 0xFF404040, 8));
         fGradientCircle = make_gradient_circle(64, 64);
     }
 
diff --git a/gm/imagemagnifier.cpp b/gm/imagemagnifier.cpp
index 8fbc58d..b34dfb6 100644
--- a/gm/imagemagnifier.cpp
+++ b/gm/imagemagnifier.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkImageSource.h"
 #include "SkMagnifierImageFilter.h"
 #include "SkPixelRef.h"
 #include "SkRandom.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH 500
 #define HEIGHT 500
@@ -27,12 +27,12 @@
         canvas->saveLayer(nullptr, &filterPaint);
         const char* str = "The quick brown fox jumped over the lazy dog.";
         SkRandom rand;
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont      font(ToolUtils::create_portable_typeface());
         for (int i = 0; i < 25; ++i) {
             int x = rand.nextULessThan(WIDTH);
             int y = rand.nextULessThan(HEIGHT);
             SkPaint paint;
-            paint.setColor(sk_tool_utils::color_to_565(rand.nextBits(24) | 0xFF000000));
+            paint.setColor(ToolUtils::color_to_565(rand.nextBits(24) | 0xFF000000));
             font.setSize(rand.nextRangeScalar(0, 300));
             canvas->drawString(str, SkIntToScalar(x), SkIntToScalar(y), font, paint);
         }
diff --git a/gm/imagemakewithfilter.cpp b/gm/imagemakewithfilter.cpp
index 9805a0b..2bc7e1a 100644
--- a/gm/imagemakewithfilter.cpp
+++ b/gm/imagemakewithfilter.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBlurImageFilter.h"
 #include "SkCanvas.h"
 #include "SkColorFilter.h"
 #include "SkColorFilterImageFilter.h"
 #include "SkDropShadowImageFilter.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -70,8 +70,8 @@
 
         canvas->translate(MARGIN, MARGIN);
 
-        sk_sp<SkSurface> surface = sk_tool_utils::makeSurface(canvas, info);
-        sk_tool_utils::draw_checkerboard(surface->getCanvas());
+        sk_sp<SkSurface> surface = ToolUtils::makeSurface(canvas, info);
+        ToolUtils::draw_checkerboard(surface->getCanvas());
         sk_sp<SkImage> source = surface->makeImageSnapshot();
 
         for (auto clipBound : clipBounds) {
diff --git a/gm/imagemasksubset.cpp b/gm/imagemasksubset.cpp
index adfea6b..6998055 100644
--- a/gm/imagemasksubset.cpp
+++ b/gm/imagemasksubset.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkImage.h"
 #include "SkImageGenerator.h"
 #include "SkMakeUnique.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace {
 
@@ -20,7 +20,7 @@
 const SkRect    kDest = SkRect::MakeXYWH(10, 10, 100, 100);
 
 sk_sp<SkImage> make_mask(const sk_sp<SkSurface>& surface) {
-    sk_tool_utils::draw_checkerboard(surface->getCanvas(), 0x80808080, 0x00000000, 5);
+    ToolUtils::draw_checkerboard(surface->getCanvas(), 0x80808080, 0x00000000, 5);
     return surface->makeImageSnapshot();
 }
 
diff --git a/gm/imageresizetiled.cpp b/gm/imageresizetiled.cpp
index c242cc5..f85afd8 100644
--- a/gm/imageresizetiled.cpp
+++ b/gm/imageresizetiled.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkImageFilter.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH 640
 #define HEIGHT 480
@@ -23,7 +23,7 @@
                                                              kNone_SkFilterQuality,
                                                              nullptr));
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 100);
+        SkFont         font(ToolUtils::create_portable_typeface(), 100);
         const SkScalar tile_size = SkIntToScalar(100);
         for (SkScalar y = 0; y < HEIGHT; y += tile_size) {
             for (SkScalar x = 0; x < WIDTH; x += tile_size) {
diff --git a/gm/imagesource.cpp b/gm/imagesource.cpp
index 50d818b..ea323e6 100644
--- a/gm/imagesource.cpp
+++ b/gm/imagesource.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkImage.h"
 #include "SkImageSource.h"
@@ -36,7 +36,7 @@
     SkISize onISize() override { return SkISize::Make(500, 150); }
 
     void onOnceBeforeDraw() override {
-        SkBitmap bm = sk_tool_utils::create_string_bitmap(100, 100, 0xFFFFFFFF, 20, 70, 96, "e");
+        SkBitmap bm = ToolUtils::create_string_bitmap(100, 100, 0xFFFFFFFF, 20, 70, 96, "e");
         fImage = SkImage::MakeFromBitmap(bm);
     }
 
diff --git a/gm/internal_links.cpp b/gm/internal_links.cpp
index 51d5e20..fc710a8 100644
--- a/gm/internal_links.cpp
+++ b/gm/internal_links.cpp
@@ -4,8 +4,8 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkAnnotation.h"
 #include "SkData.h"
@@ -60,7 +60,7 @@
                                        SkIntToScalar(50), SkIntToScalar(20));
         canvas->drawRect(rect, paint);
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 25);
+        SkFont font(ToolUtils::create_portable_typeface(), 25);
         paint.setColor(SK_ColorBLACK);
         canvas->drawString(text, x, y, font, paint);
     }
diff --git a/gm/largeglyphblur.cpp b/gm/largeglyphblur.cpp
index c07c246..f1fe1d1 100644
--- a/gm/largeglyphblur.cpp
+++ b/gm/largeglyphblur.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkBlurMask.h"
 #include "SkCanvas.h"
@@ -18,7 +18,7 @@
 DEF_SIMPLE_GM(largeglyphblur, canvas, 1920, 600) {
     const char text[] = "Hamburgefons";
 
-    SkFont font(sk_tool_utils::create_portable_typeface(), 256);
+    SkFont font(ToolUtils::create_portable_typeface(), 256);
     auto blob = SkTextBlob::MakeFromText(text, strlen(text), font);
 
     // setup up maskfilter
diff --git a/gm/lattice.cpp b/gm/lattice.cpp
index 5c2bd50..b56e980 100644
--- a/gm/lattice.cpp
+++ b/gm/lattice.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
 #include "SkSurface.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static sk_sp<SkSurface> make_surface(SkCanvas* root, int N, int padLeft, int padTop,
                                      int padRight, int padBottom) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(N + padLeft + padRight, N + padTop + padBottom);
-    return sk_tool_utils::makeSurface(root, info);
+    return ToolUtils::makeSurface(root, info);
 }
 
 static sk_sp<SkImage> make_image(SkCanvas* root, int* xDivs, int* yDivs, int padLeft, int padTop,
@@ -339,7 +339,7 @@
 
 // Code paths that incorporate the paint color when drawing the lattice (using an alpha image)
 DEF_SIMPLE_GM_BG(lattice_alpha, canvas, 120, 120, SK_ColorWHITE) {
-    auto surface = sk_tool_utils::makeSurface(canvas, SkImageInfo::MakeA8(100, 100));
+    auto surface = ToolUtils::makeSurface(canvas, SkImageInfo::MakeA8(100, 100));
     surface->getCanvas()->clear(0);
     surface->getCanvas()->drawCircle(50, 50, 50, SkPaint());
     auto image = surface->makeImageSnapshot();
diff --git a/gm/lcdblendmodes.cpp b/gm/lcdblendmodes.cpp
index 02650f0..fbfe105 100644
--- a/gm/lcdblendmodes.cpp
+++ b/gm/lcdblendmodes.cpp
@@ -10,11 +10,11 @@
  * Tests text rendering with LCD and the various blend modes.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkGradientShader.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -48,7 +48,7 @@
     }
 
     void onOnceBeforeDraw() override {
-        fCheckerboard = sk_tool_utils::create_checkerboard_shader(SK_ColorBLACK, SK_ColorWHITE, 4);
+        fCheckerboard = ToolUtils::create_checkerboard_shader(SK_ColorBLACK, SK_ColorWHITE, 4);
     }
 
     SkISize onISize() override { return SkISize::Make(kWidth, kHeight); }
@@ -62,7 +62,7 @@
         canvas->drawRect(r, p);
 
         SkImageInfo info = SkImageInfo::MakeN32Premul(kWidth, kHeight);
-        auto surface(sk_tool_utils::makeSurface(canvas, info));
+        auto        surface(ToolUtils::makeSurface(canvas, info));
 
         SkCanvas* surfCanvas = surface->getCanvas();
         this->drawColumn(surfCanvas, SK_ColorBLACK, SK_ColorWHITE, false);
@@ -119,7 +119,7 @@
             SkPaint paint;
             paint.setColor(textColor);
             paint.setBlendMode(gModes[m]);
-            SkFont font(sk_tool_utils::create_portable_typeface(), fTextHeight);
+            SkFont font(ToolUtils::create_portable_typeface(), fTextHeight);
             font.setSubpixel(true);
             font.setEdging(SkFont::Edging::kSubpixelAntiAlias);
             if (useGrad) {
diff --git a/gm/lcdoverlap.cpp b/gm/lcdoverlap.cpp
index 6dd54a0..19e69f1 100644
--- a/gm/lcdoverlap.cpp
+++ b/gm/lcdoverlap.cpp
@@ -10,11 +10,11 @@
  * Tests overlapping LCD text
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkSurface.h"
 #include "SkTextBlob.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -37,12 +37,12 @@
         // build text blob
         SkTextBlobBuilder builder;
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 32);
+        SkFont      font(ToolUtils::create_portable_typeface(), 32);
         const char* text = "able was I ere I saw elba";
         font.setSubpixel(true);
         font.setEdging(SkFont::Edging::kSubpixelAntiAlias);
         // If we use SkTextBlob::MakeFromText, we get very different positioning ... why?
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, 0);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, 0);
         fBlob = builder.make();
     }
 
diff --git a/gm/lcdtext.cpp b/gm/lcdtext.cpp
index 153e835..0f7304e 100644
--- a/gm/lcdtext.cpp
+++ b/gm/lcdtext.cpp
@@ -9,14 +9,13 @@
 /* Tests text rendering with LCD and subpixel rendering turned on and off.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkPicture.h"
 #include "SkPictureImageFilter.h"
 #include "SkPictureRecorder.h"
 #include "SkSurface.h"
-
+#include "ToolUtils.h"
+#include "gm.h"
 
 class LcdTextGM : public skiagm::GM {
 public:
diff --git a/gm/lighting.cpp b/gm/lighting.cpp
index f4d83ba..d56a428 100644
--- a/gm/lighting.cpp
+++ b/gm/lighting.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkAnimTimer.h"
 #include "SkLightingImageFilter.h"
 #include "SkOffsetImageFilter.h"
 #include "SkPoint3.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH 330
 #define HEIGHT 660
@@ -44,7 +44,7 @@
     }
 
     void onOnceBeforeDraw() override {
-        fBitmap = sk_tool_utils::create_string_bitmap(100, 100, 0xFFFFFFFF, 20, 70, 96, "e");
+        fBitmap = ToolUtils::create_string_bitmap(100, 100, 0xFFFFFFFF, 20, 70, 96, "e");
     }
 
     void onDraw(SkCanvas* canvas) override {
diff --git a/gm/lightingshader.cpp b/gm/lightingshader.cpp
index f7fbe34..e061e83 100644
--- a/gm/lightingshader.cpp
+++ b/gm/lightingshader.cpp
@@ -5,19 +5,19 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkLightingShader.h"
 #include "SkNormalSource.h"
 #include "SkPoint3.h"
 #include "SkShader.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 // Create a hemispherical normal map
 static SkBitmap make_hemi_normalmap(int texSize) {
     SkBitmap hemi;
     hemi.allocN32Pixels(texSize, texSize);
 
-    sk_tool_utils::create_hemi_normal_map(&hemi, SkIRect::MakeWH(texSize, texSize));
+    ToolUtils::create_hemi_normal_map(&hemi, SkIRect::MakeWH(texSize, texSize));
     return hemi;
 }
 
@@ -26,7 +26,7 @@
     SkBitmap frustum;
     frustum.allocN32Pixels(texSize, texSize);
 
-    sk_tool_utils::create_frustum_normal_map(&frustum, SkIRect::MakeWH(texSize, texSize));
+    ToolUtils::create_frustum_normal_map(&frustum, SkIRect::MakeWH(texSize, texSize));
     return frustum;
 }
 
@@ -35,7 +35,7 @@
     SkBitmap tetra;
     tetra.allocN32Pixels(texSize, texSize);
 
-    sk_tool_utils::create_tetra_normal_map(&tetra, SkIRect::MakeWH(texSize, texSize));
+    ToolUtils::create_tetra_normal_map(&tetra, SkIRect::MakeWH(texSize, texSize));
     return tetra;
 }
 
@@ -78,11 +78,8 @@
             fLights = builder.finish();
         }
 
-        fDiffuse = sk_tool_utils::create_checkerboard_bitmap(
-                                                        kTexSize, kTexSize,
-                                                        0x00000000,
-                                                        sk_tool_utils::color_to_565(0xFF804020),
-                                                        8);
+        fDiffuse = ToolUtils::create_checkerboard_bitmap(
+                kTexSize, kTexSize, 0x00000000, ToolUtils::color_to_565(0xFF804020), 8);
 
         fNormalMaps[kHemi_NormalMap]    = make_hemi_normalmap(kTexSize);
         fNormalMaps[kFrustum_NormalMap] = make_frustum_normalmap(kTexSize);
diff --git a/gm/lightingshader2.cpp b/gm/lightingshader2.cpp
index 62d9c2a..1ad1c74 100644
--- a/gm/lightingshader2.cpp
+++ b/gm/lightingshader2.cpp
@@ -5,20 +5,20 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkLightingShader.h"
 #include "SkNormalSource.h"
 #include "SkPoint3.h"
 #include "SkShader.h"
 #include "SkTypeface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 // Create a truncated pyramid normal map
 static SkBitmap make_frustum_normalmap(int texSize) {
     SkBitmap frustum;
     frustum.allocN32Pixels(texSize, texSize);
 
-    sk_tool_utils::create_frustum_normal_map(&frustum, SkIRect::MakeWH(texSize, texSize));
+    ToolUtils::create_frustum_normal_map(&frustum, SkIRect::MakeWH(texSize, texSize));
     return frustum;
 }
 
@@ -29,7 +29,7 @@
 class LightingShader2GM : public GM {
 public:
     LightingShader2GM() : fRect(SkRect::MakeIWH(kTexSize, kTexSize)) {
-        this->setBGColor(sk_tool_utils::color_to_565(0xFF0000CC));
+        this->setBGColor(ToolUtils::color_to_565(0xFF0000CC));
     }
 
 protected:
@@ -77,18 +77,17 @@
         SkRect bitmapBounds = SkRect::MakeIWH(kTexSize, kTexSize);
         matrix.setRectToRect(bitmapBounds, fRect, SkMatrix::kFill_ScaleToFit);
 
-        SkBitmap opaqueDiffuseMap = sk_tool_utils::create_checkerboard_bitmap(
-                kTexSize, kTexSize, SK_ColorBLACK,
-                0xFF808080,
-                8);
+        SkBitmap opaqueDiffuseMap = ToolUtils::create_checkerboard_bitmap(
+                kTexSize, kTexSize, SK_ColorBLACK, 0xFF808080, 8);
         fOpaqueDiffuse = SkShader::MakeBitmapShader(opaqueDiffuseMap, SkShader::kClamp_TileMode,
                                                     SkShader::kClamp_TileMode, &matrix);
 
-        SkBitmap translucentDiffuseMap = sk_tool_utils::create_checkerboard_bitmap(
-                kTexSize, kTexSize,
-                SkColorSetARGB(0x55, 0x00, 0x00, 0x00),
-                SkColorSetARGB(0x55, 0x80, 0x80, 0x80),
-                8);
+        SkBitmap translucentDiffuseMap =
+                ToolUtils::create_checkerboard_bitmap(kTexSize,
+                                                      kTexSize,
+                                                      SkColorSetARGB(0x55, 0x00, 0x00, 0x00),
+                                                      SkColorSetARGB(0x55, 0x80, 0x80, 0x80),
+                                                      8);
         fTranslucentDiffuse = SkShader::MakeBitmapShader(translucentDiffuseMap,
                                                          SkShader::kClamp_TileMode,
                                                          SkShader::kClamp_TileMode, &matrix);
@@ -143,8 +142,7 @@
 
     void onDraw(SkCanvas* canvas) override {
         SkPaint labelPaint;
-        SkFont font(
-                sk_tool_utils::create_portable_typeface("sans-serif", SkFontStyle()), kLabelSize);
+        SkFont  font(ToolUtils::create_portable_typeface("sans-serif", SkFontStyle()), kLabelSize);
 
         int gridNum = 0;
 
diff --git a/gm/linepaths.cpp b/gm/linepaths.cpp
index e3f386d..f6424a7 100644
--- a/gm/linepaths.cpp
+++ b/gm/linepaths.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
-#include "SkPath.h"
 #include "SkPaint.h"
+#include "SkPath.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static void drawPath(SkPath& path,SkCanvas* canvas,SkColor color,
                      const SkRect& clip,SkPaint::Cap cap, SkPaint::Join join,
@@ -77,7 +77,7 @@
         titlePaint.setColor(SK_ColorBLACK);
         titlePaint.setAntiAlias(true);
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 15.0f);
+        SkFont font(ToolUtils::create_portable_typeface(), 15.0f);
 
         const char titleNoClose[] = "Line Drawn Into Rectangle Clips With "
             "Indicated Style, Fill and Linecaps, with stroke width 10";
@@ -106,7 +106,7 @@
                         canvas->translate(rect.width() + 40 * SK_Scalar1, 0);
                     }
 
-                    SkColor color = sk_tool_utils::color_to_565(0xff007000);
+                    SkColor color = ToolUtils::color_to_565(0xff007000);
                     drawPath(path.fPath, canvas, color, rect,
                                     gCaps[cap].fCap, gCaps[cap].fJoin, gStyles[style].fStyle,
                                     gFills[fill].fFill, SK_Scalar1*10);
diff --git a/gm/localmatriximagefilter.cpp b/gm/localmatriximagefilter.cpp
index 8280c07..4bb433c 100644
--- a/gm/localmatriximagefilter.cpp
+++ b/gm/localmatriximagefilter.cpp
@@ -5,19 +5,19 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "SkCanvas.h"
 #include "SkBlurImageFilter.h"
+#include "SkCanvas.h"
 #include "SkColorFilterImageFilter.h"
 #include "SkModeColorFilter.h"
 #include "SkMorphologyImageFilter.h"
 #include "SkOffsetImageFilter.h"
 #include "SkSurface.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static sk_sp<SkImage> make_image(SkCanvas* rootCanvas) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(100, 100);
-    auto surface(sk_tool_utils::makeSurface(rootCanvas, info));
+    auto        surface(ToolUtils::makeSurface(rootCanvas, info));
 
     SkPaint paint;
     paint.setAntiAlias(true);
diff --git a/gm/localmatriximageshader.cpp b/gm/localmatriximageshader.cpp
index b041c70..8b15679 100644
--- a/gm/localmatriximageshader.cpp
+++ b/gm/localmatriximageshader.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
 #include "Resources.h"
 #include "SkCanvas.h"
 #include "SkSurface.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static sk_sp<SkImage> make_image(SkCanvas* rootCanvas, SkColor color) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(100, 100);
-    auto surface(sk_tool_utils::makeSurface(rootCanvas, info));
+    auto        surface(ToolUtils::makeSurface(rootCanvas, info));
 
     SkPaint paint;
     paint.setAntiAlias(true);
diff --git a/gm/localmatrixshader.cpp b/gm/localmatrixshader.cpp
index bbd2775..a23363e 100644
--- a/gm/localmatrixshader.cpp
+++ b/gm/localmatrixshader.cpp
@@ -5,16 +5,16 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
 #include "SkCanvas.h"
 #include "SkShader.h"
 #include "SkSurface.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static sk_sp<SkImage> make_image(SkCanvas* rootCanvas) {
     static constexpr SkScalar kSize = 50;
     SkImageInfo info = SkImageInfo::MakeN32Premul(kSize, kSize);
-    auto surface = sk_tool_utils::makeSurface(rootCanvas, info);
+    auto                      surface = ToolUtils::makeSurface(rootCanvas, info);
 
     SkPaint p;
     p.setAntiAlias(true);
diff --git a/gm/lumafilter.cpp b/gm/lumafilter.cpp
index 82cb1a0..ff9dc70 100644
--- a/gm/lumafilter.cpp
+++ b/gm/lumafilter.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBlendModePriv.h"
 #include "SkCanvas.h"
 #include "SkGradientShader.h"
 #include "SkLumaColorFilter.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static SkScalar kSize   = 80;
 static SkScalar kInset  = 10;
@@ -19,7 +19,7 @@
 
 static void draw_label(SkCanvas* canvas, const char* label,
                        const SkPoint& offset) {
-    SkFont font(sk_tool_utils::create_portable_typeface());
+    SkFont font(ToolUtils::create_portable_typeface());
     font.setEdging(SkFont::Edging::kAlias);
 
     size_t len = strlen(label);
diff --git a/gm/manypaths.cpp b/gm/manypaths.cpp
index 0d8c842..00bdfad 100644
--- a/gm/manypaths.cpp
+++ b/gm/manypaths.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
+#include "SkRRect.h"
 #include "SkRandom.h"
 #include "SkRect.h"
-#include "SkRRect.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -19,7 +19,7 @@
     hsv[1] = rand->nextRangeF(0.5f, 1.0f);
     hsv[2] = rand->nextRangeF(0.5f, 1.0f);
 
-    return sk_tool_utils::color_to_565(SkHSVToColor(hsv));
+    return ToolUtils::color_to_565(SkHSVToColor(hsv));
 }
 
 class ManyCirclesGM : public GM {
diff --git a/gm/matrixconvolution.cpp b/gm/matrixconvolution.cpp
index 24fa578..0cfb5c2 100644
--- a/gm/matrixconvolution.cpp
+++ b/gm/matrixconvolution.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkColor.h"
 #include "SkGradientShader.h"
 #include "SkMatrixConvolutionImageFilter.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -40,7 +40,7 @@
         SkScalar pos[2] = { 0, 80.0f };
         paint.setShader(SkGradientShader::MakeLinear(
             pts, fColors, pos, 2, SkShader::kClamp_TileMode));
-        SkFont font(sk_tool_utils::create_portable_typeface(), 180.0f);
+        SkFont font(ToolUtils::create_portable_typeface(), 180.0f);
         canvas.drawString("e", -10.0f, 80.0f, font, paint);
     }
 
diff --git a/gm/mixedtextblobs.cpp b/gm/mixedtextblobs.cpp
index 47579a7..788a98a 100644
--- a/gm/mixedtextblobs.cpp
+++ b/gm/mixedtextblobs.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkCanvas.h"
@@ -40,7 +40,7 @@
 
 protected:
     void onOnceBeforeDraw() override {
-        fEmojiTypeface = sk_tool_utils::planet_typeface();
+        fEmojiTypeface      = ToolUtils::planet_typeface();
         fEmojiText = "♁♃";
         fReallyBigATypeface = MakeResourceAsTypeface("fonts/ReallyBigA.ttf");
 
@@ -48,7 +48,7 @@
 
         // make textblob
         // Text so large we draw as paths
-        SkFont font(sk_tool_utils::create_portable_typeface(), 385);
+        SkFont font(ToolUtils::create_portable_typeface(), 385);
         font.setEdging(SkFont::Edging::kAlias);
         const char* text = "O";
 
@@ -56,7 +56,7 @@
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
 
         SkScalar yOffset = bounds.height();
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 10, yOffset);
+        ToolUtils::add_to_text_blob(&builder, text, font, 10, yOffset);
         SkScalar corruptedAx = bounds.width();
         SkScalar corruptedAy = yOffset;
 
@@ -72,8 +72,11 @@
         font.setSubpixel(true);
         text = "LCD!!!!!";
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
-        sk_tool_utils::add_to_text_blob(&builder, text, font, xOffset - bounds.width() * 0.25f,
-                                        yOffset - bounds.height() * 0.5f);
+        ToolUtils::add_to_text_blob(&builder,
+                                    text,
+                                    font,
+                                    xOffset - bounds.width() * 0.25f,
+                                    yOffset - bounds.height() * 0.5f);
 
         // color emoji font with large glyph
         if (fEmojiTypeface) {
@@ -81,14 +84,14 @@
             font.setSubpixel(false);
             font.setTypeface(fEmojiTypeface);
             font.measureText(fEmojiText, strlen(fEmojiText), kUTF8_SkTextEncoding, &bounds);
-            sk_tool_utils::add_to_text_blob(&builder, fEmojiText, font, xOffset, yOffset);
+            ToolUtils::add_to_text_blob(&builder, fEmojiText, font, xOffset, yOffset);
         }
 
         // outline font with large glyph
         font.setSize(12);
         text = "aA";
         font.setTypeface(fReallyBigATypeface);
-        sk_tool_utils::add_to_text_blob(&builder, text, font, corruptedAx, corruptedAy);
+        ToolUtils::add_to_text_blob(&builder, text, font, corruptedAx, corruptedAy);
         fBlob = builder.make();
     }
 
diff --git a/gm/modecolorfilters.cpp b/gm/modecolorfilters.cpp
index 6f933fe..3c51af4 100644
--- a/gm/modecolorfilters.cpp
+++ b/gm/modecolorfilters.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkColorFilter.h"
 #include "SkGradientShader.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH 512
 #define HEIGHT 1024
@@ -40,9 +40,9 @@
     SkBitmap bmp;
     bmp.allocN32Pixels(2 * checkSize, 2 * checkSize);
     SkCanvas canvas(bmp);
-    canvas.clear(sk_tool_utils::color_to_565(0xFF800000));
+    canvas.clear(ToolUtils::color_to_565(0xFF800000));
     SkPaint paint;
-    paint.setColor(sk_tool_utils::color_to_565(0xFF000080));
+    paint.setColor(ToolUtils::color_to_565(0xFF000080));
     SkRect rect0 = SkRect::MakeXYWH(0, 0,
                                     SkIntToScalar(checkSize), SkIntToScalar(checkSize));
     SkRect rect1 = SkRect::MakeXYWH(SkIntToScalar(checkSize), SkIntToScalar(checkSize),
diff --git a/gm/morphology.cpp b/gm/morphology.cpp
index d21053a..063508c 100644
--- a/gm/morphology.cpp
+++ b/gm/morphology.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkMorphologyImageFilter.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH 700
 #define HEIGHT 560
@@ -30,7 +30,7 @@
         SkCanvas canvas(fBitmap);
         canvas.clear(0x0);
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 64.0f);
+        SkFont  font(ToolUtils::create_portable_typeface(), 64.0f);
         SkPaint paint;
         paint.setColor(0xFFFFFFFF);
         canvas.drawString("ABC", 10, 55,  font, paint);
diff --git a/gm/multipicturedraw.cpp b/gm/multipicturedraw.cpp
index 3879fe7..293573d 100644
--- a/gm/multipicturedraw.cpp
+++ b/gm/multipicturedraw.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkColorFilter.h"
 #include "SkMultiPictureDraw.h"
@@ -241,7 +241,7 @@
 static sk_sp<SkSurface> create_compat_surface(SkCanvas* canvas, int width, int height) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(width, height);
 
-    return sk_tool_utils::makeSurface(canvas, info);
+    return ToolUtils::makeSurface(canvas, info);
 }
 
 // This class stores the information required to compose all the result
diff --git a/gm/ninepatchstretch.cpp b/gm/ninepatchstretch.cpp
index 1644c2c..c2b51f8 100644
--- a/gm/ninepatchstretch.cpp
+++ b/gm/ninepatchstretch.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
 #include "SkSurface.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static sk_sp<SkSurface> make_surface(SkCanvas* root, int N) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(N, N);
-    return sk_tool_utils::makeSurface(root, info);
+    return ToolUtils::makeSurface(root, info);
 }
 
 static sk_sp<SkImage> make_image(SkCanvas* root, SkIRect* center) {
diff --git a/gm/offsetimagefilter.cpp b/gm/offsetimagefilter.cpp
index 0c1d32c..4706157 100644
--- a/gm/offsetimagefilter.cpp
+++ b/gm/offsetimagefilter.cpp
@@ -9,8 +9,8 @@
 #include "SkImageSource.h"
 #include "SkOffsetImageFilter.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #define WIDTH 600
 #define HEIGHT 100
@@ -33,13 +33,10 @@
 
     void onOnceBeforeDraw() override {
         fBitmap = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_string_bitmap(80, 80, 0xD000D000, 15, 65, 96, "e"));
+                ToolUtils::create_string_bitmap(80, 80, 0xD000D000, 15, 65, 96, "e"));
 
         fCheckerboard = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_checkerboard_bitmap(80, 80,
-                                                      0xFFA0A0A0,
-                                                      0xFF404040,
-                                                      8));
+                ToolUtils::create_checkerboard_bitmap(80, 80, 0xFFA0A0A0, 0xFF404040, 8));
     }
 
     void onDraw(SkCanvas* canvas) override {
diff --git a/gm/ovals.cpp b/gm/ovals.cpp
index d9de1a5..8549f13 100644
--- a/gm/ovals.cpp
+++ b/gm/ovals.cpp
@@ -5,16 +5,16 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
-#include "SkTArray.h"
-#include "SkRandom.h"
-#include "SkMatrix.h"
+#include "SkBlurDrawLooper.h"
 #include "SkBlurMaskFilter.h"
 #include "SkColorFilter.h"
 #include "SkGradientShader.h"
-#include "SkBlurDrawLooper.h"
+#include "SkMatrix.h"
+#include "SkRandom.h"
 #include "SkRect.h"
+#include "SkTArray.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -133,7 +133,7 @@
         hsv[1] = rand->nextRangeF(0.75f, 1.0f);
         hsv[2] = rand->nextRangeF(0.75f, 1.0f);
 
-        return sk_tool_utils::color_to_565(SkHSVToColor(hsv));
+        return ToolUtils::color_to_565(SkHSVToColor(hsv));
     }
 
     void onDraw(SkCanvas* canvas) override {
diff --git a/gm/pathinterior.cpp b/gm/pathinterior.cpp
index 4ad18a6..d53cffb 100644
--- a/gm/pathinterior.cpp
+++ b/gm/pathinterior.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBlurMaskFilter.h"
 #include "SkCanvas.h"
 #include "SkGraphics.h"
 #include "SkLayerDrawLooper.h"
 #include "SkPath.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static SkRect inset(const SkRect& r) {
     SkRect rect = r;
@@ -46,7 +46,7 @@
         bool hasInterior = false;
 #endif
 
-        paint.setColor(hasInterior ? sk_tool_utils::color_to_565(0xFF8888FF) : SK_ColorGRAY);
+        paint.setColor(hasInterior ? ToolUtils::color_to_565(0xFF8888FF) : SK_ColorGRAY);
         canvas->drawPath(path, paint);
         paint.setStyle(SkPaint::kStroke_Style);
         paint.setColor(SK_ColorRED);
diff --git a/gm/pathopsinverse.cpp b/gm/pathopsinverse.cpp
index 32dcda9..3e2d08c 100644
--- a/gm/pathopsinverse.cpp
+++ b/gm/pathopsinverse.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBitmap.h"
 #include "SkPath.h"
 #include "SkPathOps.h"
 #include "SkRect.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -21,16 +21,16 @@
 
 protected:
     void onOnceBeforeDraw() override {
-        const unsigned oneColor = sk_tool_utils::color_to_565(0xFF8080FF);
+        const unsigned oneColor   = ToolUtils::color_to_565(0xFF8080FF);
         const unsigned twoColor = 0x807F1f1f;
         SkColor blendColor = blend(oneColor, twoColor);
         makePaint(&fOnePaint, oneColor);
         makePaint(&fTwoPaint, twoColor);
         makePaint(&fOpPaint[kDifference_SkPathOp], oneColor);
         makePaint(&fOpPaint[kIntersect_SkPathOp], blendColor);
-        makePaint(&fOpPaint[kUnion_SkPathOp], sk_tool_utils::color_to_565(0xFFc0FFc0));
+        makePaint(&fOpPaint[kUnion_SkPathOp], ToolUtils::color_to_565(0xFFc0FFc0));
         makePaint(&fOpPaint[kReverseDifference_SkPathOp], twoColor);
-        makePaint(&fOpPaint[kXOR_SkPathOp], sk_tool_utils::color_to_565(0xFFa0FFe0));
+        makePaint(&fOpPaint[kXOR_SkPathOp], ToolUtils::color_to_565(0xFFa0FFe0));
         makePaint(&fOutlinePaint, 0xFF000000);
         fOutlinePaint.setStyle(SkPaint::kStroke_Style);
     }
diff --git a/gm/perspimages.cpp b/gm/perspimages.cpp
index b4ad5eb..ebce9e9 100644
--- a/gm/perspimages.cpp
+++ b/gm/perspimages.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
 #include "Resources.h"
 #include "SkGradientShader.h"
 #include "SkImage.h"
 #include "SkPath.h"
 #include "SkSurface.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static sk_sp<SkImage> make_image1() { return GetResourceAsImage("images/mandrill_128.png"); }
 
diff --git a/gm/perspshaders.cpp b/gm/perspshaders.cpp
index 31c48f2..1692726 100644
--- a/gm/perspshaders.cpp
+++ b/gm/perspshaders.cpp
@@ -5,20 +5,19 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkGradientShader.h"
 #include "SkImage.h"
 #include "SkPath.h"
 #include "SkSurface.h"
-#include "sk_tool_utils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static sk_sp<SkImage> make_image(SkCanvas* origCanvas, int w, int h) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(w, h);
-    auto surface(sk_tool_utils::makeSurface(origCanvas, info));
+    auto        surface(ToolUtils::makeSurface(origCanvas, info));
     SkCanvas* canvas = surface->getCanvas();
 
-    sk_tool_utils::draw_checkerboard(canvas, SK_ColorRED, SK_ColorGREEN, w/10);
+    ToolUtils::draw_checkerboard(canvas, SK_ColorRED, SK_ColorGREEN, w / 10);
     return surface->makeImageSnapshot();
 }
 
@@ -41,9 +40,8 @@
     }
 
     void onOnceBeforeDraw() override {
-        fBitmap = sk_tool_utils::create_checkerboard_bitmap(kCellSize, kCellSize,
-                                                            SK_ColorBLUE, SK_ColorYELLOW,
-                                                            kCellSize/10);
+        fBitmap = ToolUtils::create_checkerboard_bitmap(
+                kCellSize, kCellSize, SK_ColorBLUE, SK_ColorYELLOW, kCellSize / 10);
 
         fBitmapShader = SkShader::MakeBitmapShader(fBitmap, SkShader::kClamp_TileMode,
                                                    SkShader::kClamp_TileMode);
diff --git a/gm/pictureimagefilter.cpp b/gm/pictureimagefilter.cpp
index cf8b579..7e5210e 100644
--- a/gm/pictureimagefilter.cpp
+++ b/gm/pictureimagefilter.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkPictureImageFilter.h"
 #include "SkPictureRecorder.h"
@@ -32,7 +32,7 @@
     SkCanvas* canvas = recorder.beginRecording(100, 100, nullptr, 0);
     SkPaint paint;
     paint.setColor(0xFFFFFFFF);
-    SkFont font(sk_tool_utils::create_portable_typeface(), 96.0f);
+    SkFont font(ToolUtils::create_portable_typeface(), 96.0f);
     canvas->drawString("e", 20.0f, 70.0f, font, paint);
     return recorder.finishRecordingAsPicture();
 }
@@ -45,7 +45,7 @@
     SkPaint paint;
     paint.setColor(0xFFFFFFFF);
     // this has to be small enough that it doesn't become a path
-    SkFont font(sk_tool_utils::create_portable_typeface(), 36.0f);
+    SkFont font(ToolUtils::create_portable_typeface(), 36.0f);
     font.setEdging(SkFont::Edging::kSubpixelAntiAlias);
     canvas->drawString("e", 20.0f, 70.0f, font, paint);
     return recorder.finishRecordingAsPicture();
diff --git a/gm/pictureimagegenerator.cpp b/gm/pictureimagegenerator.cpp
index bfb3736..dd71153 100644
--- a/gm/pictureimagegenerator.cpp
+++ b/gm/pictureimagegenerator.cpp
@@ -5,8 +5,6 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBitmap.h"
 #include "SkCanvas.h"
 #include "SkFontPriv.h"
@@ -18,6 +16,8 @@
 #include "SkPicture.h"
 #include "SkPictureRecorder.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static void draw_vector_logo(SkCanvas* canvas, const SkRect& viewBox) {
     constexpr char kSkiaStr[] = "SKIA";
@@ -28,7 +28,7 @@
     SkPaint paint;
     paint.setAntiAlias(true);
 
-    SkFont font(sk_tool_utils::create_portable_typeface());
+    SkFont font(ToolUtils::create_portable_typeface());
     font.setSubpixel(true);
     font.setEmbolden(true);
 
diff --git a/gm/pictureshader.cpp b/gm/pictureshader.cpp
index 1f98d46..0dbab54 100644
--- a/gm/pictureshader.cpp
+++ b/gm/pictureshader.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkBitmap.h"
 #include "SkPaint.h"
@@ -199,15 +199,15 @@
     SkRect r = tile;
     r.inset(4, 4);
     SkPaint p;
-    p.setColor(sk_tool_utils::color_to_565(0xFF303F9F));  // dark blue
+    p.setColor(ToolUtils::color_to_565(0xFF303F9F));  // dark blue
     c->drawRect(r, p);
-    p.setColor(sk_tool_utils::color_to_565(0xFFC5CAE9));  // light blue
+    p.setColor(ToolUtils::color_to_565(0xFFC5CAE9));  // light blue
     p.setStrokeWidth(10);
     c->drawLine(20, 20, 80, 80, p);
 
     sk_sp<SkPicture> picture(recorder.finishRecordingAsPicture());
 
-    p.setColor(sk_tool_utils::color_to_565(0xFF8BC34A));  // green
+    p.setColor(ToolUtils::color_to_565(0xFF8BC34A));  // green
     canvas->drawPaint(p);
 
     canvas->clipRect(SkRect::MakeXYWH(0, 0, 400, 350));
diff --git a/gm/pixelsnap.cpp b/gm/pixelsnap.cpp
index b1373b6..671045f 100644
--- a/gm/pixelsnap.cpp
+++ b/gm/pixelsnap.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkShader.h"
 
@@ -35,14 +35,13 @@
 
     void onDraw(SkCanvas* canvas) override {
         SkPaint bgPaint;
-        bgPaint.setShader(
-                sk_tool_utils::create_checkerboard_shader(0xFFAAAAAA, 0xFF777777, 1));
+        bgPaint.setShader(ToolUtils::create_checkerboard_shader(0xFFAAAAAA, 0xFF777777, 1));
         canvas->drawPaint(bgPaint);
 
         SkString offset;
         SkPaint labelPaint;
         labelPaint.setColor(SK_ColorWHITE);
-        SkFont font(sk_tool_utils::create_portable_typeface(), SkIntToScalar(kLabelTextSize));
+        SkFont  font(ToolUtils::create_portable_typeface(), SkIntToScalar(kLabelTextSize));
         SkPaint linePaint;
         linePaint.setColor(SK_ColorWHITE);
 
diff --git a/gm/poly2poly.cpp b/gm/poly2poly.cpp
index 070ff6a..4f1dae9 100644
--- a/gm/poly2poly.cpp
+++ b/gm/poly2poly.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "Resources.h"
 #include "SkFontMetrics.h"
 #include "SkPath.h"
 #include "SkTextUtils.h"
 #include "SkTypeface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 class Poly2PolyGM : public skiagm::GM {
 public:
diff --git a/gm/polygonoffset.cpp b/gm/polygonoffset.cpp
index 705eeda..92552cd 100644
--- a/gm/polygonoffset.cpp
+++ b/gm/polygonoffset.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
-#include "SkPolyUtils.h"
 #include "SkPathPriv.h"
+#include "SkPolyUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static void create_ngon(int n, SkPoint* pts, SkScalar w, SkScalar h, SkPath::Direction dir) {
     float angleStep = 360.0f / n, angle = 0.0f, sin, cos;
@@ -572,7 +572,7 @@
                 }
                 path.close();
 
-                paint.setColor(sk_tool_utils::color_to_565(colors[i]));
+                paint.setColor(ToolUtils::color_to_565(colors[i]));
                 canvas->save();
                 canvas->translate(center.fX, center.fY);
                 canvas->drawPath(path, paint);
diff --git a/gm/quadpaths.cpp b/gm/quadpaths.cpp
index 6f4f7d0..3f3d861 100644
--- a/gm/quadpaths.cpp
+++ b/gm/quadpaths.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkPaint.h"
 #include "SkPath.h"
 #include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -84,8 +84,8 @@
         path.fName = "moveTo-quad";
 
         SkPaint titlePaint;
-        SkFont font(sk_tool_utils::create_portable_typeface(), 15);
-        SkFont labelFont(sk_tool_utils::create_portable_typeface(), 10);
+        SkFont  font(ToolUtils::create_portable_typeface(), 15);
+        SkFont  labelFont(ToolUtils::create_portable_typeface(), 10);
 
         const char title[] = "Quad Drawn Into Rectangle Clips With "
                              "Indicated Style, Fill and Linecaps, with stroke width 10";
@@ -111,7 +111,7 @@
                         canvas->translate(rect.width() + 40 * SK_Scalar1, 0);
                     }
 
-                    SkColor color = sk_tool_utils::color_to_565(0xff007000);
+                    SkColor color = ToolUtils::color_to_565(0xff007000);
                     this->drawPath(path.fPath, canvas, color, rect,
                                     gCaps[cap].fCap, gCaps[cap].fJoin, gStyles[style].fStyle,
                                     gFills[fill].fFill, SK_Scalar1*10);
@@ -215,8 +215,8 @@
         path.fName = "moveTo-quad-close";
 
         SkPaint titlePaint;
-        SkFont font(sk_tool_utils::create_portable_typeface(), 15);
-        SkFont labelFont(sk_tool_utils::create_portable_typeface(), 10);
+        SkFont     font(ToolUtils::create_portable_typeface(), 15);
+        SkFont     labelFont(ToolUtils::create_portable_typeface(), 10);
         const char title[] = "Quad Closed Drawn Into Rectangle Clips With "
                              "Indicated Style, Fill and Linecaps, with stroke width 10";
         canvas->drawString(title, 20.0f, 20.0f, font, titlePaint);
@@ -241,7 +241,7 @@
                         canvas->translate(rect.width() + 40 * SK_Scalar1, 0);
                     }
 
-                    SkColor color = sk_tool_utils::color_to_565(0xff007000);
+                    SkColor color = ToolUtils::color_to_565(0xff007000);
                     this->drawPath(path.fPath, canvas, color, rect,
                                     gCaps[cap].fCap, gCaps[cap].fJoin, gStyles[style].fStyle,
                                     gFills[fill].fFill, SK_Scalar1*10);
diff --git a/gm/repeated_bitmap.cpp b/gm/repeated_bitmap.cpp
index 54f57c5..154810d 100644
--- a/gm/repeated_bitmap.cpp
+++ b/gm/repeated_bitmap.cpp
@@ -7,13 +7,12 @@
 
 #include "Resources.h"
 #include "SkImage.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 static skiagm::DrawResult draw_rotated_image(SkCanvas* canvas, const SkImage* image,
                                              SkString* errorMsg) {
-    sk_tool_utils::draw_checkerboard(canvas, SkColorSetRGB(156, 154, 156),
-                                     SK_ColorWHITE, 12);
+    ToolUtils::draw_checkerboard(canvas, SkColorSetRGB(156, 154, 156), SK_ColorWHITE, 12);
     if (!image) {
         *errorMsg = "No image. Did you forget to set the resourcePath?";
         return skiagm::DrawResult::kFail;
diff --git a/gm/roundrects.cpp b/gm/roundrects.cpp
index 12b0e71..ae5a4e9 100644
--- a/gm/roundrects.cpp
+++ b/gm/roundrects.cpp
@@ -5,17 +5,17 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
-#include "SkTArray.h"
-#include "SkRandom.h"
-#include "SkMatrix.h"
+#include "SkBlurDrawLooper.h"
 #include "SkBlurMaskFilter.h"
 #include "SkColorFilter.h"
 #include "SkGradientShader.h"
-#include "SkBlurDrawLooper.h"
-#include "SkRect.h"
+#include "SkMatrix.h"
 #include "SkRRect.h"
+#include "SkRandom.h"
+#include "SkRect.h"
+#include "SkTArray.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -25,7 +25,7 @@
     hsv[1] = rand->nextRangeF(0.75f, 1.0f);
     hsv[2] = rand->nextRangeF(0.75f, 1.0f);
 
-    return sk_tool_utils::color_to_565(SkHSVToColor(hsv));
+    return ToolUtils::color_to_565(SkHSVToColor(hsv));
 }
 
 class RoundRectGM : public GM {
diff --git a/gm/rrect.cpp b/gm/rrect.cpp
index f8fff7a..c7d9cca 100644
--- a/gm/rrect.cpp
+++ b/gm/rrect.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
-#include "SkRRect.h"
 #include "SkPath.h"
+#include "SkRRect.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 typedef void (*InsetProc)(const SkRRect&, SkScalar dx, SkScalar dy, SkRRect*);
 
@@ -105,7 +105,7 @@
     if (rrect.isRect()) {
         paint.setColor(SK_ColorRED);
     } else if (rrect.isOval()) {
-        paint.setColor(sk_tool_utils::color_to_565(0xFF008800));
+        paint.setColor(ToolUtils::color_to_565(0xFF008800));
     } else if (rrect.isSimple()) {
         paint.setColor(SK_ColorBLUE);
     } else {
diff --git a/gm/runtimecolorfilter.cpp b/gm/runtimecolorfilter.cpp
index 0967c22..ebc6a20 100644
--- a/gm/runtimecolorfilter.cpp
+++ b/gm/runtimecolorfilter.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
-#include "SkCanvas.h"
-#include "SkImage.h"
 #include "Resources.h"
+#include "SkCanvas.h"
 #include "SkColorFilterPriv.h"
+#include "SkImage.h"
 #include "SkReadBuffer.h"
+#include "ToolUtils.h"
 #include "effects/GrSkSLFP.h"
+#include "gm.h"
 
 const char* SKSL_TEST_SRC = R"(
     in uniform float b;
diff --git a/gm/samplerstress.cpp b/gm/samplerstress.cpp
index 538a385..a2ea141 100644
--- a/gm/samplerstress.cpp
+++ b/gm/samplerstress.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkMaskFilter.h"
 #include "SkPath.h"
 #include "SkShader.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -97,7 +97,7 @@
         paint.setAntiAlias(true);
         paint.setShader(fShader);
         paint.setMaskFilter(fMaskFilter);
-        SkFont font(sk_tool_utils::create_portable_typeface(), 72);
+        SkFont font(ToolUtils::create_portable_typeface(), 72);
 
         SkRect temp;
         temp.set(SkIntToScalar(115),
diff --git a/gm/savelayer.cpp b/gm/savelayer.cpp
index d6a33b2..a116006 100644
--- a/gm/savelayer.cpp
+++ b/gm/savelayer.cpp
@@ -5,10 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvasPriv.h"
-
+#include "ToolUtils.h"
+#include "gm.h"
 
 // This GM tests out the deprecated Android-specific unclipped saveLayer "feature".
 // In particular, it attempts to compare the performance of unclipped saveLayers with alternatives.
@@ -25,7 +24,7 @@
     SkRandom rand;
 
     for (int i = 0; i < 20; ++i) {
-        paint.setColor(sk_tool_utils::color_to_565(rand.nextU() | (0xFF << 24)));
+        paint.setColor(ToolUtils::color_to_565(rand.nextU() | (0xFF << 24)));
         canvas->drawRect({ 15, 15, 290, 40 }, paint);
         canvas->translate(0, 30);
     }
diff --git a/gm/scaledemoji.cpp b/gm/scaledemoji.cpp
index 56143e0..c082dcd 100644
--- a/gm/scaledemoji.cpp
+++ b/gm/scaledemoji.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkCanvas.h"
@@ -40,8 +40,8 @@
     } fEmojiFont;
 
     void onOnceBeforeDraw() override {
-        fEmojiFont.fTypeface = sk_tool_utils::emoji_typeface();
-        fEmojiFont.fText = sk_tool_utils::emoji_sample_text();
+        fEmojiFont.fTypeface = ToolUtils::emoji_typeface();
+        fEmojiFont.fText     = ToolUtils::emoji_sample_text();
     }
 
     SkString onShortName() override {
@@ -90,8 +90,8 @@
     } fEmojiFont;
 
     void onOnceBeforeDraw() override {
-        fEmojiFont.fTypeface = sk_tool_utils::emoji_typeface();
-        fEmojiFont.fText = sk_tool_utils::emoji_sample_text();
+        fEmojiFont.fTypeface = ToolUtils::emoji_typeface();
+        fEmojiFont.fText     = ToolUtils::emoji_sample_text();
     }
 
     SkString onShortName() override {
diff --git a/gm/scaledemoji_rendering.cpp b/gm/scaledemoji_rendering.cpp
index df3c382..3440bc6 100644
--- a/gm/scaledemoji_rendering.cpp
+++ b/gm/scaledemoji_rendering.cpp
@@ -5,8 +5,8 @@
 * found in the LICENSE file.
 */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkCanvas.h"
@@ -27,7 +27,7 @@
         typefaces[0] = MakeResourceAsTypeface("fonts/colr.ttf");
         typefaces[1] = MakeResourceAsTypeface("fonts/sbix.ttf");
         typefaces[2] = MakeResourceAsTypeface("fonts/cbdt.ttf");
-        typefaces[3] = sk_tool_utils::create_portable_typeface("Emoji", SkFontStyle());
+        typefaces[3] = ToolUtils::create_portable_typeface("Emoji", SkFontStyle());
     }
 
     SkString onShortName() override {
@@ -46,7 +46,7 @@
             font.setEdging(SkFont::Edging::kAlias);
 
             SkPaint paint;
-            const char* text = sk_tool_utils::emoji_sample_text();
+            const char*   text = ToolUtils::emoji_sample_text();
             SkFontMetrics metrics;
 
             for (SkScalar textSize : { 70, 150 }) {
diff --git a/gm/shadermaskfilter.cpp b/gm/shadermaskfilter.cpp
index 4499317..9925448 100644
--- a/gm/shadermaskfilter.cpp
+++ b/gm/shadermaskfilter.cpp
@@ -5,8 +5,6 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBlendModePriv.h"
 #include "SkCanvas.h"
 #include "SkImage.h"
@@ -14,6 +12,8 @@
 #include "SkPictureRecorder.h"
 #include "SkShaderMaskFilter.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static void draw_masked_image(SkCanvas* canvas, const SkImage* image, SkScalar x, SkScalar y,
                               const SkImage* mask, sk_sp<SkMaskFilter> outer, SkBlendMode mode) {
@@ -178,7 +178,7 @@
 #include "SkMaskFilter.h"
 static sk_sp<SkImage> make_circle_image(SkCanvas* canvas, SkScalar radius, int margin) {
     const int n = SkScalarCeilToInt(radius) * 2 + margin * 2;
-    auto surf = sk_tool_utils::makeSurface(canvas, SkImageInfo::MakeN32Premul(n, n));
+    auto      surf = ToolUtils::makeSurface(canvas, SkImageInfo::MakeN32Premul(n, n));
     SkPaint paint;
     paint.setAntiAlias(true);
     surf->getCanvas()->drawCircle(n * 0.5f, n * 0.5f, radius, paint);
@@ -240,21 +240,22 @@
 
     using ShaderMakerT = sk_sp<SkShader>(*)(SkCanvas*, const SkMatrix& lm);
     static const ShaderMakerT gShaderMakers[] = {
-        [](SkCanvas* canvas, const SkMatrix& lm) -> sk_sp<SkShader> {
-            auto surface = sk_tool_utils::makeSurface(canvas,
-                                                      SkImageInfo::MakeN32Premul(kSize, kSize));
-            draw_mask(surface->getCanvas());
-            return surface->makeImageSnapshot()->makeShader(SkShader::kClamp_TileMode,
-                                                            SkShader::kClamp_TileMode, &lm);
-        },
-        [](SkCanvas*, const SkMatrix& lm) -> sk_sp<SkShader> {
-            SkPictureRecorder recorder;
-            draw_mask(recorder.beginRecording(kSize, kSize));
-            return SkShader::MakePictureShader(recorder.finishRecordingAsPicture(),
-                                               SkShader::kClamp_TileMode,
-                                               SkShader::kClamp_TileMode,
-                                               &lm, nullptr);
-        },
+            [](SkCanvas* canvas, const SkMatrix& lm) -> sk_sp<SkShader> {
+                auto surface =
+                        ToolUtils::makeSurface(canvas, SkImageInfo::MakeN32Premul(kSize, kSize));
+                draw_mask(surface->getCanvas());
+                return surface->makeImageSnapshot()->makeShader(
+                        SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, &lm);
+            },
+            [](SkCanvas*, const SkMatrix& lm) -> sk_sp<SkShader> {
+                SkPictureRecorder recorder;
+                draw_mask(recorder.beginRecording(kSize, kSize));
+                return SkShader::MakePictureShader(recorder.finishRecordingAsPicture(),
+                                                   SkShader::kClamp_TileMode,
+                                                   SkShader::kClamp_TileMode,
+                                                   &lm,
+                                                   nullptr);
+            },
     };
 
     struct Config {
diff --git a/gm/shadertext3.cpp b/gm/shadertext3.cpp
index 07b6413..83975ab 100644
--- a/gm/shadertext3.cpp
+++ b/gm/shadertext3.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkGradientShader.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -70,7 +70,7 @@
         bmpPaint.setAlphaf(0.5f);
         canvas->drawBitmap(fBmp, 5.f, 5.f, &bmpPaint);
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), SkIntToScalar(kPointSize));
+        SkFont  font(ToolUtils::create_portable_typeface(), SkIntToScalar(kPointSize));
         SkPaint outlinePaint;
         outlinePaint.setStyle(SkPaint::kStroke_Style);
         outlinePaint.setStrokeWidth(0.f);
diff --git a/gm/sharedcorners.cpp b/gm/sharedcorners.cpp
index 7d9dedd..8d0e434 100644
--- a/gm/sharedcorners.cpp
+++ b/gm/sharedcorners.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkPaint.h"
 #include "SkPath.h"
 #include "SkPoint.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #include <array>
 #include <vector>
@@ -24,9 +24,7 @@
 // analytic AA is working properly.
 class SharedCornersGM : public GM {
 public:
-    SharedCornersGM() {
-        this->setBGColor(sk_tool_utils::color_to_565(0xFF1A65D7));
-    }
+    SharedCornersGM() { this->setBGColor(ToolUtils::color_to_565(0xFF1A65D7)); }
 
 protected:
     SkString onShortName() override {
diff --git a/gm/showmiplevels.cpp b/gm/showmiplevels.cpp
index 4a3a836..ce3c119 100644
--- a/gm/showmiplevels.cpp
+++ b/gm/showmiplevels.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkColorPriv.h"
@@ -118,7 +118,7 @@
 
     static void DrawAndFrame(SkCanvas* canvas, const SkBitmap& orig, SkScalar x, SkScalar y) {
         SkBitmap bm;
-        sk_tool_utils::copy_to(&bm, orig.colorType(), orig);
+        ToolUtils::copy_to(&bm, orig.colorType(), orig);
         apply_gamma(bm);
 
         canvas->drawBitmap(bm, x, y, nullptr);
@@ -169,7 +169,7 @@
     }
 
     void onOnceBeforeDraw() override {
-        fBM[0] = sk_tool_utils::create_checkerboard_bitmap(fN, fN, SK_ColorBLACK, SK_ColorWHITE, 2);
+        fBM[0] = ToolUtils::create_checkerboard_bitmap(fN, fN, SK_ColorBLACK, SK_ColorWHITE, 2);
         fBM[1] = make_bitmap(fN, fN);
         fBM[2] = make_bitmap2(fN, fN);
         fBM[3] = make_bitmap3(fN, fN);
@@ -196,7 +196,7 @@
 
 void copy_to(SkBitmap* dst, SkColorType dstColorType, const SkBitmap& src) {
     if (kGray_8_SkColorType == dstColorType) {
-        return sk_tool_utils::copy_to_g8(dst, src);
+        return ToolUtils::copy_to_g8(dst, src);
     }
 
     const SkBitmap* srcPtr = &src;
@@ -206,7 +206,7 @@
         srcPtr = &tmp;
     }
 
-    sk_tool_utils::copy_to(dst, dstColorType, *srcPtr);
+    ToolUtils::copy_to(dst, dstColorType, *srcPtr);
 }
 
 /**
@@ -282,8 +282,7 @@
     }
 
     void onOnceBeforeDraw() override {
-        fBM[0] = sk_tool_utils::create_checkerboard_bitmap(fW, fH,
-                                                           SHOW_MIP_COLOR, SK_ColorWHITE, 2);
+        fBM[0] = ToolUtils::create_checkerboard_bitmap(fW, fH, SHOW_MIP_COLOR, SK_ColorWHITE, 2);
         fBM[1] = make_bitmap(fW, fH);
         fBM[2] = make_bitmap2(fW, fH);
         fBM[3] = make_bitmap3(fW, fH);
diff --git a/gm/simpleaaclip.cpp b/gm/simpleaaclip.cpp
index c2d64df..b534b84 100644
--- a/gm/simpleaaclip.cpp
+++ b/gm/simpleaaclip.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkAAClip.h"
 #include "SkCanvas.h"
 #include "SkPath.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -27,7 +27,7 @@
     // need to copy for deferred drawing test to work
     SkBitmap bm2;
 
-    sk_tool_utils::copy_to(&bm2, bm.colorType(), bm);
+    ToolUtils::copy_to(&bm2, bm.colorType(), bm);
 
     canvas->drawBitmap(bm2,
                        SK_Scalar1 * mask.fBounds.fLeft,
@@ -147,16 +147,16 @@
             const char*     fName;
             SkClipOp        fOp;
         } gOps[] = {
-            { SK_ColorBLACK,    "Difference", kDifference_SkClipOp    },
-            { SK_ColorRED,      "Intersect",  kIntersect_SkClipOp     },
-            { sk_tool_utils::color_to_565(0xFF008800), "Union", kUnion_SkClipOp },
-            { SK_ColorGREEN,    "Rev Diff",   kReverseDifference_SkClipOp },
-            { SK_ColorYELLOW,   "Replace",    kReplace_SkClipOp       },
-            { SK_ColorBLUE,     "XOR",        kXOR_SkClipOp           },
+                {SK_ColorBLACK, "Difference", kDifference_SkClipOp},
+                {SK_ColorRED, "Intersect", kIntersect_SkClipOp},
+                {ToolUtils::color_to_565(0xFF008800), "Union", kUnion_SkClipOp},
+                {SK_ColorGREEN, "Rev Diff", kReverseDifference_SkClipOp},
+                {SK_ColorYELLOW, "Replace", kReplace_SkClipOp},
+                {SK_ColorBLUE, "XOR", kXOR_SkClipOp},
         };
 
         SkPaint textPaint;
-        SkFont font(sk_tool_utils::create_portable_typeface(), 24);
+        SkFont  font(ToolUtils::create_portable_typeface(), 24);
         int xOff = 0;
 
         for (size_t op = 0; op < SK_ARRAY_COUNT(gOps); op++) {
diff --git a/gm/simplerect.cpp b/gm/simplerect.cpp
index b27c348..24c5016 100644
--- a/gm/simplerect.cpp
+++ b/gm/simplerect.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBlurMask.h"
 #include "SkBlurMaskFilter.h"
 #include "SkPath.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 class SimpleRectGM : public skiagm::GM {
 public:
@@ -36,7 +36,7 @@
         SkRandom rand;
         SkPaint paint;
         for (int i = 0; i < 10000; i++) {
-            paint.setColor(sk_tool_utils::color_to_565(rand.nextU() | (0xFF << 24)));
+            paint.setColor(ToolUtils::color_to_565(rand.nextU() | (0xFF << 24)));
             SkScalar x = rand.nextRangeScalar(min, max);
             SkScalar y = rand.nextRangeScalar(min, max);
             SkScalar w = rand.nextRangeScalar(0, size);
diff --git a/gm/skbug1719.cpp b/gm/skbug1719.cpp
index ca9e8bd..ad311fb 100644
--- a/gm/skbug1719.cpp
+++ b/gm/skbug1719.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkColorFilter.h"
 #include "SkMaskFilter.h"
 #include "SkPath.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 /**
  * This test exercises bug 1719. An anti-aliased blurred path is rendered through a soft clip. On
diff --git a/gm/skbug_257.cpp b/gm/skbug_257.cpp
index 49f06dc..919e980 100644
--- a/gm/skbug_257.cpp
+++ b/gm/skbug_257.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkImage.h"
 #include "SkRRect.h"
 #include "SkTextBlob.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static void rotated_checkerboard_shader(SkPaint* paint,
                                         SkColor c1,
@@ -54,7 +54,7 @@
 
 static void test_text(SkCanvas* canvas, SkScalar size,
                       SkColor color, SkScalar Y) {
-    SkFont font(sk_tool_utils::create_portable_typeface(), 24);
+    SkFont font(ToolUtils::create_portable_typeface(), 24);
     font.setEdging(SkFont::Edging::kAlias);
     SkPaint type;
     type.setColor(color);
diff --git a/gm/srcmode.cpp b/gm/srcmode.cpp
index f64b1d1..88e9e42 100644
--- a/gm/srcmode.cpp
+++ b/gm/srcmode.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkGradientShader.h"
 #include "SkPath.h"
 #include "SkSurface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define W   SkIntToScalar(80)
 #define H   SkIntToScalar(60)
@@ -74,7 +74,7 @@
         canvas->translate(SkIntToScalar(20), SkIntToScalar(20));
 
         SkPaint paint;
-        SkFont font(sk_tool_utils::create_portable_typeface(), H/4);
+        SkFont  font(ToolUtils::create_portable_typeface(), H / 4);
         paint.setColor(0x80F60000);
 
         const Proc procs[] = {
diff --git a/gm/srgb.cpp b/gm/srgb.cpp
index 21571c5..fb6fc2c 100644
--- a/gm/srgb.cpp
+++ b/gm/srgb.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
-#include "SkCanvas.h"
-#include "SkImage.h"
 #include "Resources.h"
+#include "SkCanvas.h"
 #include "SkColorFilter.h"
+#include "SkImage.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 DEF_SIMPLE_GM(srgb_colorfilter, canvas, 512, 256*3) {
     auto img = GetResourceAsImage("images/mandrill_256.png");
diff --git a/gm/stringart.cpp b/gm/stringart.cpp
index cc423eb..48f7df0 100644
--- a/gm/stringart.cpp
+++ b/gm/stringart.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkAnimTimer.h"
 #include "SkCanvas.h"
 #include "SkPath.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 // Reproduces https://code.google.com/p/chromium/issues/detail?id=279014
 
@@ -56,7 +56,7 @@
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setStyle(SkPaint::kStroke_Style);
-        paint.setColor(sk_tool_utils::color_to_565(0xFF007700));
+        paint.setColor(ToolUtils::color_to_565(0xFF007700));
 
         canvas->drawPath(path, paint);
     }
diff --git a/gm/strokedlines.cpp b/gm/strokedlines.cpp
index e3f409e..ac2cf53 100644
--- a/gm/strokedlines.cpp
+++ b/gm/strokedlines.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkDashPathEffect.h"
 #include "SkGradientShader.h"
 #include "SkMaskFilter.h"
 #include "SkPaint.h"
 #include "SkPath.h"
 #include "SkPoint3.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 constexpr int kNumColumns = 6;
 constexpr int kNumRows = 8;
@@ -99,9 +99,7 @@
 // Various shaders are applied to ensure the coordinate spaces work out right.
 class StrokedLinesGM : public GM {
 public:
-    StrokedLinesGM() {
-        this->setBGColor(sk_tool_utils::color_to_565(0xFF1A65D7));
-    }
+    StrokedLinesGM() { this->setBGColor(ToolUtils::color_to_565(0xFF1A65D7)); }
 
 protected:
     SkString onShortName() override {
diff --git a/gm/strokefill.cpp b/gm/strokefill.cpp
index a557ab2..afce0c4 100644
--- a/gm/strokefill.cpp
+++ b/gm/strokefill.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkPathPriv.h"
 #include "SkTextFormatParams.h"
 #include "SkTypeface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 /* Generated on a Mac with:
  * paint.setTypeface(SkTypeface::CreateByName("Papyrus"));
@@ -258,7 +258,7 @@
 
         // use the portable typeface to generically test the fake bold code everywhere
         // (as long as the freetype option to do the bolding itself isn't enabled)
-        SkFont font(sk_tool_utils::create_portable_typeface("serif", SkFontStyle()), 100);
+        SkFont  font(ToolUtils::create_portable_typeface("serif", SkFontStyle()), 100);
         SkPaint paint;
         paint.setAntiAlias(true);
         paint.setStrokeWidth(SkIntToScalar(5));
diff --git a/gm/strokes.cpp b/gm/strokes.cpp
index c8d14e0..588ea06 100644
--- a/gm/strokes.cpp
+++ b/gm/strokes.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
-#include "SkPath.h"
-#include "SkRandom.h"
 #include "SkDashPathEffect.h"
 #include "SkParsePath.h"
+#include "SkPath.h"
+#include "SkRandom.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define W   400
 #define H   400
@@ -390,7 +390,7 @@
         SkPaint fillPaint(origPaint);
         fillPaint.setColor(SK_ColorRED);
         SkPaint strokePaint(origPaint);
-        strokePaint.setColor(sk_tool_utils::color_to_565(0xFF4444FF));
+        strokePaint.setColor(ToolUtils::color_to_565(0xFF4444FF));
 
         void (*procs[])(SkPath*, const SkRect&, SkString*) = {
             make0, make1, make2, make3, make4, make5
diff --git a/gm/stroketext.cpp b/gm/stroketext.cpp
index fb76975..bff1228 100644
--- a/gm/stroketext.cpp
+++ b/gm/stroketext.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkDashPathEffect.h"
 #include "SkTextBlob.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static void test_nulldev(SkCanvas* canvas) {
     SkBitmap bm;
@@ -75,7 +75,7 @@
     SkPaint paint;
     paint.setAntiAlias(true);
 
-    SkFont font(sk_tool_utils::create_portable_typeface(), kBelowThreshold_TextSize);
+    SkFont font(ToolUtils::create_portable_typeface(), kBelowThreshold_TextSize);
     draw_text_set(canvas, paint, font);
 
     canvas->translate(600, 0);
diff --git a/gm/surface.cpp b/gm/surface.cpp
index 633f07d..98c8abd 100644
--- a/gm/surface.cpp
+++ b/gm/surface.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkGradientShader.h"
 #include "SkSurface.h"
 #include "SkSurfaceProps.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define W 200
 #define H 100
@@ -43,7 +43,7 @@
     paint.setShader(nullptr);
 
     paint.setColor(SK_ColorWHITE);
-    SkFont font(sk_tool_utils::create_portable_typeface(), 32);
+    SkFont font(ToolUtils::create_portable_typeface(), 32);
     font.setEdging(SkFont::Edging::kSubpixelAntiAlias);
     SkTextUtils::DrawString(canvas, label, W / 2, H * 3 / 4, font, paint,
                             SkTextUtils::kCenter_Align);
@@ -124,7 +124,7 @@
     void onDraw(SkCanvas* canvas) override {
         SkImageInfo info = SkImageInfo::MakeN32Premul(100, 100);
 
-        auto surf(sk_tool_utils::makeSurface(canvas, info, nullptr));
+        auto surf(ToolUtils::makeSurface(canvas, info, nullptr));
         drawInto(surf->getCanvas());
 
         sk_sp<SkImage> image(surf->makeImageSnapshot());
@@ -149,7 +149,7 @@
 
 DEF_SIMPLE_GM(copy_on_write_retain, canvas, 256, 256) {
     const SkImageInfo info = SkImageInfo::MakeN32Premul(256, 256);
-    sk_sp<SkSurface> surf = sk_tool_utils::makeSurface(canvas, info);
+    sk_sp<SkSurface>  surf = ToolUtils::makeSurface(canvas, info);
 
     surf->getCanvas()->clear(SK_ColorRED);
     // its important that image survives longer than the next draw, so the surface will see
@@ -167,7 +167,7 @@
 
 DEF_SIMPLE_GM(copy_on_write_savelayer, canvas, 256, 256) {
     const SkImageInfo info = SkImageInfo::MakeN32Premul(256, 256);
-    sk_sp<SkSurface> surf = sk_tool_utils::makeSurface(canvas, info);
+    sk_sp<SkSurface>  surf = ToolUtils::makeSurface(canvas, info);
     surf->getCanvas()->clear(SK_ColorRED);
     // its important that image survives longer than the next draw, so the surface will see
     // an outstanding image, and have to decide if it should retain or discard those pixels
@@ -188,7 +188,7 @@
 
 DEF_SIMPLE_GM(surface_underdraw, canvas, 256, 256) {
     SkImageInfo info = SkImageInfo::MakeN32Premul(256, 256, nullptr);
-    auto surf = sk_tool_utils::makeSurface(canvas, info);
+    auto        surf = ToolUtils::makeSurface(canvas, info);
 
     const SkIRect subset = SkIRect::MakeLTRB(180, 0, 256, 256);
 
diff --git a/gm/textblob.cpp b/gm/textblob.cpp
index d22a35c..6d6bfab 100644
--- a/gm/textblob.cpp
+++ b/gm/textblob.cpp
@@ -19,8 +19,8 @@
 #include "SkTextBlob.h"
 #include "SkTypeface.h"
 #include "SkTypes.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include <cstring>
 
@@ -84,7 +84,7 @@
 
 protected:
     void onOnceBeforeDraw() override {
-        fTypeface = sk_tool_utils::create_portable_typeface("serif", SkFontStyle());
+        fTypeface = ToolUtils::create_portable_typeface("serif", SkFontStyle());
         SkFont font(fTypeface);
         size_t txtLen = strlen(fText);
         int glyphCount = font.countText(fText, txtLen, kUTF8_SkTextEncoding);
diff --git a/gm/textblobblockreordering.cpp b/gm/textblobblockreordering.cpp
index 1121380..b847c29 100644
--- a/gm/textblobblockreordering.cpp
+++ b/gm/textblobblockreordering.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkCanvas.h"
 #include "SkTextBlob.h"
@@ -24,7 +24,7 @@
 
         // make textblob
         // Large text is used to trigger atlas eviction
-        SkFont font(sk_tool_utils::create_portable_typeface(), 56);
+        SkFont font(ToolUtils::create_portable_typeface(), 56);
         font.setEdging(SkFont::Edging::kAlias);
         const char* text = "AB";
 
@@ -32,7 +32,7 @@
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
 
         SkScalar yOffset = bounds.height();
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, yOffset - 30);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, yOffset - 30);
 
         // build
         fBlob = builder.make();
diff --git a/gm/textblobcolortrans.cpp b/gm/textblobcolortrans.cpp
index 40f58ed..faaf936 100644
--- a/gm/textblobcolortrans.cpp
+++ b/gm/textblobcolortrans.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkCanvas.h"
@@ -29,7 +29,7 @@
 
         // make textblob
         // Large text is used to trigger atlas eviction
-        SkFont font(sk_tool_utils::create_portable_typeface(), 256);
+        SkFont font(ToolUtils::create_portable_typeface(), 256);
         font.setEdging(SkFont::Edging::kAlias);
         const char* text = "AB";
 
@@ -37,13 +37,13 @@
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
 
         SkScalar yOffset = bounds.height();
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, yOffset - 30);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, yOffset - 30);
 
         // A8
         font.setSize(28);
         text = "The quick brown fox jumps over the lazy dog.";
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, yOffset - 8);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, yOffset - 8);
 
         // build
         fBlob = builder.make();
diff --git a/gm/textblobgeometrychange.cpp b/gm/textblobgeometrychange.cpp
index 250d012..97dc6fc 100644
--- a/gm/textblobgeometrychange.cpp
+++ b/gm/textblobgeometrychange.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkCanvas.h"
 #include "SkSurface.h"
@@ -31,18 +31,18 @@
     void onDraw(SkCanvas* canvas) override {
         const char text[] = "Hamburgefons";
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 20);
+        SkFont font(ToolUtils::create_portable_typeface(), 20);
         font.setEdging(SkFont::Edging::kSubpixelAntiAlias);
 
         SkTextBlobBuilder builder;
 
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 10, 10);
+        ToolUtils::add_to_text_blob(&builder, text, font, 10, 10);
 
         sk_sp<SkTextBlob> blob(builder.make());
 
         SkImageInfo info = SkImageInfo::MakeN32Premul(200, 200);
         SkSurfaceProps props(0, kUnknown_SkPixelGeometry);
-        auto surface = sk_tool_utils::makeSurface(canvas, info, &props);
+        auto           surface = ToolUtils::makeSurface(canvas, info, &props);
         SkCanvas* c = surface->getCanvas();
 
         // LCD text on white background
diff --git a/gm/textbloblooper.cpp b/gm/textbloblooper.cpp
index 51e8155..73628f9 100644
--- a/gm/textbloblooper.cpp
+++ b/gm/textbloblooper.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Sk2DPathEffect.h"
 #include "SkBlurMask.h"
@@ -24,7 +24,7 @@
 constexpr int kWidth = 1250;
 constexpr int kHeight = 700;
 
-// Unlike the variant in sk_tool_utils, this version positions the glyphs on a diagonal
+// Unlike the variant in ToolUtils, this version positions the glyphs on a diagonal
 static void add_to_text_blob(SkTextBlobBuilder* builder, const char* text, const SkFont& font,
                              SkScalar x, SkScalar y) {
     SkTDArray<uint16_t> glyphs;
@@ -143,7 +143,7 @@
         const char* text = "The quick brown fox jumps over the lazy dog";
         font.setSubpixel(true);
         font.setEdging(SkFont::Edging::kSubpixelAntiAlias);
-        font.setTypeface(sk_tool_utils::create_portable_typeface());
+        font.setTypeface(ToolUtils::create_portable_typeface());
         add_to_text_blob(&builder, text, font, 0, 0);
         fBlob = builder.make();
 
diff --git a/gm/textblobmixedsizes.cpp b/gm/textblobmixedsizes.cpp
index 1072959..51e560d 100644
--- a/gm/textblobmixedsizes.cpp
+++ b/gm/textblobmixedsizes.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkBlurMask.h"
@@ -37,7 +37,7 @@
 
         const char* text = "Skia";
 
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, 0);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, 0);
 
         // large
         SkRect bounds;
@@ -45,35 +45,35 @@
         SkScalar yOffset = bounds.height();
         font.setSize(162);
 
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, yOffset);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, yOffset);
 
         // Medium
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
         yOffset += bounds.height();
         font.setSize(72);
 
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, yOffset);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, yOffset);
 
         // Small
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
         yOffset += bounds.height();
         font.setSize(32);
 
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, yOffset);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, yOffset);
 
         // micro (will fall out of distance field text even if distance field text is enabled)
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
         yOffset += bounds.height();
         font.setSize(14);
 
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, yOffset);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, yOffset);
 
         // Zero size.
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
         yOffset += bounds.height();
         font.setSize(0);
 
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, yOffset);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, yOffset);
 
         // build
         fBlob = builder.make();
diff --git a/gm/textblobrandomfont.cpp b/gm/textblobrandomfont.cpp
index 96f0951..cebc0bf 100644
--- a/gm/textblobrandomfont.cpp
+++ b/gm/textblobrandomfont.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "RandomScalerContext.h"
 #include "Resources.h"
@@ -42,7 +42,7 @@
         font.setEdging(SkFont::Edging::kSubpixelAntiAlias);
 
         // Setup our random scaler context
-        auto typeface = sk_tool_utils::create_portable_typeface("sans-serif", SkFontStyle::Bold());
+        auto typeface = ToolUtils::create_portable_typeface("sans-serif", SkFontStyle::Bold());
         if (!typeface) {
             typeface = SkTypeface::MakeDefault();
         }
@@ -52,7 +52,7 @@
         SkRect bounds;
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
         y -= bounds.fTop;
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, y);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, y);
         y += bounds.fBottom;
 
         // A8
@@ -63,21 +63,21 @@
         font.setEdging(SkFont::Edging::kAntiAlias);
         font.measureText(bigtext1, strlen(bigtext1), kUTF8_SkTextEncoding, &bounds);
         y -= bounds.fTop;
-        sk_tool_utils::add_to_text_blob(&builder, bigtext1, font, 0, y);
+        ToolUtils::add_to_text_blob(&builder, bigtext1, font, 0, y);
         y += bounds.fBottom;
 
         font.measureText(bigtext2, strlen(bigtext2), kUTF8_SkTextEncoding, &bounds);
         y -= bounds.fTop;
-        sk_tool_utils::add_to_text_blob(&builder, bigtext2, font, 0, y);
+        ToolUtils::add_to_text_blob(&builder, bigtext2, font, 0, y);
         y += bounds.fBottom;
 
         // color emoji
-        if (sk_sp<SkTypeface> origEmoji = sk_tool_utils::emoji_typeface()) {
+        if (sk_sp<SkTypeface> origEmoji = ToolUtils::emoji_typeface()) {
             font.setTypeface(sk_make_sp<SkRandomTypeface>(origEmoji, paint, false));
-            const char* emojiText = sk_tool_utils::emoji_sample_text();
+            const char* emojiText = ToolUtils::emoji_sample_text();
             font.measureText(emojiText, strlen(emojiText), kUTF8_SkTextEncoding, &bounds);
             y -= bounds.fTop;
-            sk_tool_utils::add_to_text_blob(&builder, emojiText, font, 0, y);
+            ToolUtils::add_to_text_blob(&builder, emojiText, font, 0, y);
             y += bounds.fBottom;
         }
 
@@ -96,7 +96,7 @@
     DrawResult onDraw(GrContext* context, GrRenderTargetContext*, SkCanvas* canvas,
                       SkString* errorMsg) override {
         // This GM exists to test a specific feature of the GPU backend.
-        // This GM uses sk_tool_utils::makeSurface which doesn't work well with vias.
+        // This GM uses ToolUtils::makeSurface which doesn't work well with vias.
         // This GM uses SkRandomTypeface which doesn't work well with serialization.
         canvas->drawColor(SK_ColorWHITE);
 
@@ -104,7 +104,7 @@
                                              kPremul_SkAlphaType,
                                              canvas->imageInfo().refColorSpace());
         SkSurfaceProps props(0, kUnknown_SkPixelGeometry);
-        auto surface(sk_tool_utils::makeSurface(canvas, info, &props));
+        auto           surface(ToolUtils::makeSurface(canvas, info, &props));
         if (!surface) {
             *errorMsg = "This test requires a surface";
             return DrawResult::kFail;
diff --git a/gm/textblobshader.cpp b/gm/textblobshader.cpp
index 971f628..a4808e0 100644
--- a/gm/textblobshader.cpp
+++ b/gm/textblobshader.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkCanvas.h"
 #include "SkGradientShader.h"
@@ -24,7 +24,7 @@
 private:
     void onOnceBeforeDraw() override {
         {
-            SkFont font(sk_tool_utils::create_portable_typeface());
+            SkFont      font(ToolUtils::create_portable_typeface());
             const char* txt = "Blobber";
             size_t txtLen = strlen(txt);
             fGlyphs.append(font.countText(txt, txtLen, kUTF8_SkTextEncoding));
@@ -35,7 +35,7 @@
         font.setSubpixel(true);
         font.setEdging(SkFont::Edging::kAntiAlias);
         font.setSize(30);
-        font.setTypeface(sk_tool_utils::create_portable_typeface());
+        font.setTypeface(ToolUtils::create_portable_typeface());
 
         SkTextBlobBuilder builder;
         int glyphCount = fGlyphs.count();
diff --git a/gm/textblobtransforms.cpp b/gm/textblobtransforms.cpp
index 24cb564..6977070 100644
--- a/gm/textblobtransforms.cpp
+++ b/gm/textblobtransforms.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "Resources.h"
 #include "SkCanvas.h"
@@ -26,19 +26,19 @@
         SkTextBlobBuilder builder;
 
         // make textblob.  To stress distance fields, we choose sizes appropriately
-        SkFont font(sk_tool_utils::create_portable_typeface(), 162);
+        SkFont font(ToolUtils::create_portable_typeface(), 162);
         font.setEdging(SkFont::Edging::kAlias);
         const char* text = "A";
 
         SkRect bounds;
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
-        sk_tool_utils::add_to_text_blob(&builder, text, font, 0, 0);
+        ToolUtils::add_to_text_blob(&builder, text, font, 0, 0);
 
         // Medium
         SkScalar xOffset = bounds.width() + 5;
         font.setSize(72);
         text = "B";
-        sk_tool_utils::add_to_text_blob(&builder, text, font, xOffset, 0);
+        ToolUtils::add_to_text_blob(&builder, text, font, xOffset, 0);
 
         font.measureText(text, strlen(text), kUTF8_SkTextEncoding, &bounds);
         SkScalar yOffset = bounds.height();
@@ -46,7 +46,7 @@
         // Small
         font.setSize(32);
         text = "C";
-        sk_tool_utils::add_to_text_blob(&builder, text, font, xOffset, -yOffset - 10);
+        ToolUtils::add_to_text_blob(&builder, text, font, xOffset, -yOffset - 10);
 
         // build
         fBlob = builder.make();
diff --git a/gm/textblobuseaftergpufree.cpp b/gm/textblobuseaftergpufree.cpp
index 075c934..4c70561 100644
--- a/gm/textblobuseaftergpufree.cpp
+++ b/gm/textblobuseaftergpufree.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkCanvas.h"
 #include "SkSurface.h"
@@ -31,7 +31,7 @@
     void onDraw(GrContext* context, GrRenderTargetContext*, SkCanvas* canvas) override {
         const char text[] = "Hamburgefons";
 
-        SkFont font(sk_tool_utils::create_portable_typeface(), 20);
+        SkFont font(ToolUtils::create_portable_typeface(), 20);
         auto blob = SkTextBlob::MakeFromText(text, strlen(text), font);
 
         // draw textblob
diff --git a/gm/texteffects.cpp b/gm/texteffects.cpp
index 8fdaf8e..eafa0cf 100644
--- a/gm/texteffects.cpp
+++ b/gm/texteffects.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkBlurMask.h"
 #include "SkBlurMaskFilter.h"
@@ -106,8 +106,7 @@
 
     for (size_t font = 0; font < SK_ARRAY_COUNT(fam); ++font) {
         for (SkScalar textSize = 100; textSize > 10; textSize -= 20) {
-            SkFont skFont(
-                    sk_tool_utils::create_portable_typeface(fam[font], SkFontStyle()), textSize);
+            SkFont skFont(ToolUtils::create_portable_typeface(fam[font], SkFontStyle()), textSize);
             const SkScalar uWidth = textSize / 15;
             paint.setStrokeWidth(uWidth);
             paint.setStyle(SkPaint::kFill_Style);
@@ -230,7 +229,7 @@
     const char text[] = "Hyjay {worlp}.";
     const size_t length = strlen(text);
     SkFont font;
-    font.setTypeface(sk_tool_utils::create_portable_typeface());
+    font.setTypeface(ToolUtils::create_portable_typeface());
     font.setSize(100);
     font.setEdging(SkFont::Edging::kAntiAlias);
     const int count = font.countText(text, length, kUTF8_SkTextEncoding);
diff --git a/gm/tileimagefilter.cpp b/gm/tileimagefilter.cpp
index a2a731e..b1789c7 100644
--- a/gm/tileimagefilter.cpp
+++ b/gm/tileimagefilter.cpp
@@ -10,8 +10,8 @@
 #include "SkImage.h"
 #include "SkImageSource.h"
 #include "SkTileImageFilter.h"
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #define WIDTH 400
 #define HEIGHT 200
@@ -36,13 +36,10 @@
 
     void onOnceBeforeDraw() override {
         fBitmap = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_string_bitmap(50, 50, 0xD000D000, 10, 45, 50, "e"));
+                ToolUtils::create_string_bitmap(50, 50, 0xD000D000, 10, 45, 50, "e"));
 
         fCheckerboard = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_checkerboard_bitmap(80, 80,
-                                                      0xFFA0A0A0,
-                                                      0xFF404040,
-                                                      8));
+                ToolUtils::create_checkerboard_bitmap(80, 80, 0xFFA0A0A0, 0xFF404040, 8));
     }
 
     void onDraw(SkCanvas* canvas) override {
diff --git a/gm/tilemodes.cpp b/gm/tilemodes.cpp
index fa94deb..fe5ae48 100644
--- a/gm/tilemodes.cpp
+++ b/gm/tilemodes.cpp
@@ -4,8 +4,6 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkColorFilter.h"
 #include "SkMaskFilter.h"
 #include "SkPath.h"
@@ -13,6 +11,8 @@
 #include "SkShader.h"
 #include "SkTextUtils.h"
 #include "SkUTF.h"
+#include "ToolUtils.h"
+#include "gm.h"
 // effects
 #include "SkGradientShader.h"
 #include "SkBlurDrawLooper.h"
@@ -80,7 +80,7 @@
 
     void onDraw(SkCanvas* canvas) override {
         SkPaint textPaint;
-        SkFont font(sk_tool_utils::create_portable_typeface(), 12);
+        SkFont  font(ToolUtils::create_portable_typeface(), 12);
 
         int size = fPowerOfTwoSize ? kPOTSize : kNPOTSize;
 
@@ -103,7 +103,7 @@
                 SkPaint p;
                 p.setDither(true);
                 SkString str;
-                SkFont font(sk_tool_utils::create_portable_typeface());
+                SkFont   font(ToolUtils::create_portable_typeface());
                 str.printf("[%s,%s]", gModeNames[kx], gModeNames[ky]);
 
                 SkTextUtils::DrawString(canvas, str.c_str(), x + r.width()/2, y, font, p,
@@ -166,7 +166,7 @@
     SkPoint pts[] = { { 0, 0 }, { SkIntToScalar(gWidth), SkIntToScalar(gHeight)} };
     SkPoint center = { SkIntToScalar(gWidth)/2, SkIntToScalar(gHeight)/2 };
     SkScalar rad = SkIntToScalar(gWidth)/2;
-    SkColor colors[] = { 0xFFFF0000, sk_tool_utils::color_to_565(0xFF0044FF) };
+    SkColor  colors[] = {0xFFFF0000, ToolUtils::color_to_565(0xFF0044FF)};
 
     int index = (int)ty;
     switch (index % 3) {
@@ -216,7 +216,7 @@
         SkScalar y = SkIntToScalar(24);
         SkScalar x = SkIntToScalar(66);
 
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont font(ToolUtils::create_portable_typeface());
 
         for (size_t kx = 0; kx < SK_ARRAY_COUNT(gModes); kx++) {
             SkString str(gModeNames[kx]);
diff --git a/gm/tilemodes_scaled.cpp b/gm/tilemodes_scaled.cpp
index 9366927..28e7949 100644
--- a/gm/tilemodes_scaled.cpp
+++ b/gm/tilemodes_scaled.cpp
@@ -4,8 +4,6 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkColorFilter.h"
 #include "SkMaskFilter.h"
 #include "SkPath.h"
@@ -13,6 +11,8 @@
 #include "SkShader.h"
 #include "SkTextUtils.h"
 #include "SkUTF.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 // effects
 #include "SkGradientShader.h"
@@ -78,7 +78,7 @@
 
     void onDraw(SkCanvas* canvas) override {
         SkPaint textPaint;
-        SkFont font(sk_tool_utils::create_portable_typeface(), 12);
+        SkFont  font(ToolUtils::create_portable_typeface(), 12);
 
         float scale = 32.f/kPOTSize;
 
@@ -166,7 +166,7 @@
     SkPoint pts[] = { { 0, 0 }, { SkIntToScalar(gWidth), SkIntToScalar(gHeight)} };
     SkPoint center = { SkIntToScalar(gWidth)/2, SkIntToScalar(gHeight)/2 };
     SkScalar rad = SkIntToScalar(gWidth)/2;
-    SkColor colors[] = { 0xFFFF0000, sk_tool_utils::color_to_565(0xFF0044FF) };
+    SkColor  colors[] = {0xFFFF0000, ToolUtils::color_to_565(0xFF0044FF)};
 
     int index = (int)ty;
     switch (index % 3) {
@@ -216,7 +216,7 @@
         SkScalar y = SkIntToScalar(24);
         SkScalar x = SkIntToScalar(66);
 
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont font(ToolUtils::create_portable_typeface());
 
         for (size_t kx = 0; kx < SK_ARRAY_COUNT(gModes); kx++) {
             SkString str(gModeNames[kx]);
diff --git a/gm/tinybitmap.cpp b/gm/tinybitmap.cpp
index 84861e5..856d288 100644
--- a/gm/tinybitmap.cpp
+++ b/gm/tinybitmap.cpp
@@ -4,12 +4,12 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "gm.h"
-#include "sk_tool_utils.h"
+#include "SkCanvas.h"
 #include "SkColorPriv.h"
 #include "SkShader.h"
-#include "SkCanvas.h"
 #include "SkUTF.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
diff --git a/gm/typeface.cpp b/gm/typeface.cpp
index 792dab2..35aec97 100644
--- a/gm/typeface.cpp
+++ b/gm/typeface.cpp
@@ -5,8 +5,6 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "Resources.h"
 #include "SkBlurTypes.h"
 #include "SkCanvas.h"
@@ -17,6 +15,8 @@
 #include "SkTextBlob.h"
 #include "SkTypeface.h"
 #include "SkTypes.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 static void getGlyphPositions(const SkFont& font, const uint16_t glyphs[],
                              int count, SkScalar x, SkScalar y, SkPoint pos[]) {
diff --git a/gm/variedtext.cpp b/gm/variedtext.cpp
index c11d00e..0aea8d8 100644
--- a/gm/variedtext.cpp
+++ b/gm/variedtext.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkCanvas.h"
 #include "SkPath.h"
-#include "SkTypeface.h"
 #include "SkRandom.h"
+#include "SkTypeface.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 /**
  * Draws text with random parameters. The text draws each get their own clip rect. It is also
@@ -53,10 +53,10 @@
         SkScalar h = SkIntToScalar(size.fHeight);
 
         static_assert(4 == SK_ARRAY_COUNT(fTypefaces), "typeface_cnt");
-        fTypefaces[0] = sk_tool_utils::create_portable_typeface("sans-serif", SkFontStyle());
-        fTypefaces[1] = sk_tool_utils::create_portable_typeface("sans-serif", SkFontStyle::Bold());
-        fTypefaces[2] = sk_tool_utils::create_portable_typeface("serif", SkFontStyle());
-        fTypefaces[3] = sk_tool_utils::create_portable_typeface("serif", SkFontStyle::Bold());
+        fTypefaces[0] = ToolUtils::create_portable_typeface("sans-serif", SkFontStyle());
+        fTypefaces[1] = ToolUtils::create_portable_typeface("sans-serif", SkFontStyle::Bold());
+        fTypefaces[2] = ToolUtils::create_portable_typeface("serif", SkFontStyle());
+        fTypefaces[3] = ToolUtils::create_portable_typeface("serif", SkFontStyle::Bold());
 
         SkRandom random;
         for (int i = 0; i < kCnt; ++i) {
@@ -69,7 +69,7 @@
 
             fColors[i] = random.nextU();
             fColors[i] |= 0xFF000000;
-            fColors[i] = sk_tool_utils::color_to_565(fColors[i]);
+            fColors[i] = ToolUtils::color_to_565(fColors[i]);
 
             constexpr SkScalar kMinPtSize = 8.f;
             constexpr SkScalar kMaxPtSize = 32.f;
diff --git a/gm/wacky_yuv_formats.cpp b/gm/wacky_yuv_formats.cpp
index dacfd35..119a335 100644
--- a/gm/wacky_yuv_formats.cpp
+++ b/gm/wacky_yuv_formats.cpp
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
+#include "ToolUtils.h"
 #include "gm.h"
-#include "sk_tool_utils.h"
 
 #include "SkColorPriv.h"
 #include "SkImageGenerator.h"
@@ -152,9 +152,9 @@
 }
 
 static SkBitmap make_bitmap(const SkPath& path, const SkTDArray<SkRect>& circles, bool opaque) {
-    const SkColor kGreen  = sk_tool_utils::color_to_565(SkColorSetARGB(0xFF, 178, 240, 104));
-    const SkColor kBlue   = sk_tool_utils::color_to_565(SkColorSetARGB(0xFF, 173, 167, 252));
-    const SkColor kYellow = sk_tool_utils::color_to_565(SkColorSetARGB(0xFF, 255, 221, 117));
+    const SkColor kGreen  = ToolUtils::color_to_565(SkColorSetARGB(0xFF, 178, 240, 104));
+    const SkColor kBlue   = ToolUtils::color_to_565(SkColorSetARGB(0xFF, 173, 167, 252));
+    const SkColor kYellow = ToolUtils::color_to_565(SkColorSetARGB(0xFF, 255, 221, 117));
 
     SkImageInfo ii = SkImageInfo::MakeN32(kTileWidthHeight, kTileWidthHeight, kPremul_SkAlphaType);
 
@@ -631,7 +631,7 @@
     GR_STATIC_ASSERT(SK_ARRAY_COUNT(kYUVColorSpaceNames) == kLastEnum_SkYUVColorSpace+1);
 
     SkPaint paint;
-    SkFont font(sk_tool_utils::create_portable_typeface(nullptr, SkFontStyle::Bold()), 16);
+    SkFont  font(ToolUtils::create_portable_typeface(nullptr, SkFontStyle::Bold()), 16);
     font.setEdging(SkFont::Edging::kAlias);
 
     SkRect textRect;
@@ -656,7 +656,7 @@
     GR_STATIC_ASSERT(SK_ARRAY_COUNT(kYUVFormatNames) == kLast_YUVFormat+1);
 
     SkPaint paint;
-    SkFont font(sk_tool_utils::create_portable_typeface(nullptr, SkFontStyle::Bold()), 16);
+    SkFont  font(ToolUtils::create_portable_typeface(nullptr, SkFontStyle::Bold()), 16);
     font.setEdging(SkFont::Edging::kAlias);
 
     SkRect textRect;
diff --git a/gm/windowrectangles.cpp b/gm/windowrectangles.cpp
index 2960b73..d2ec7e6 100644
--- a/gm/windowrectangles.cpp
+++ b/gm/windowrectangles.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkClipStack.h"
 #include "SkRRect.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #include "GrAppliedClip.h"
 #include "GrCaps.h"
@@ -38,7 +38,7 @@
 };
 
 DrawResult WindowRectanglesBaseGM::onDraw(SkCanvas* canvas, SkString* errorMsg) {
-    sk_tool_utils::draw_checkerboard(canvas, 0xffffffff, 0xffc6c3c6, 25);
+    ToolUtils::draw_checkerboard(canvas, 0xffffffff, 0xffc6c3c6, 25);
 
     SkClipStack stack;
     stack.clipRect(SkRect::MakeXYWH(370.75, 80.25, 149, 100), SkMatrix::I(),
diff --git a/gm/xfermodeimagefilter.cpp b/gm/xfermodeimagefilter.cpp
index 280400a..a0d1da8 100644
--- a/gm/xfermodeimagefilter.cpp
+++ b/gm/xfermodeimagefilter.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkArithmeticImageFilter.h"
 #include "SkImage.h"
 #include "SkImageSource.h"
 #include "SkOffsetImageFilter.h"
 #include "SkXfermodeImageFilter.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 #define WIDTH 600
 #define HEIGHT 700
@@ -35,13 +35,10 @@
     }
 
     void onOnceBeforeDraw() override {
-        fBitmap = sk_tool_utils::create_string_bitmap(80, 80, 0xD000D000, 15, 65, 96, "e");
+        fBitmap = ToolUtils::create_string_bitmap(80, 80, 0xD000D000, 15, 65, 96, "e");
 
         fCheckerboard = SkImage::MakeFromBitmap(
-            sk_tool_utils::create_checkerboard_bitmap(80, 80,
-                                                      0xFFA0A0A0,
-                                                      0xFF404040,
-                                                      8));
+                ToolUtils::create_checkerboard_bitmap(80, 80, 0xFFA0A0A0, 0xFF404040, 8));
     }
 
     void onDraw(SkCanvas* canvas) override {
diff --git a/gm/xfermodes.cpp b/gm/xfermodes.cpp
index 3af85d2..239555b 100644
--- a/gm/xfermodes.cpp
+++ b/gm/xfermodes.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBitmap.h"
 #include "SkShader.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 enum SrcType {
     //! A WxH image with a rectangle in the lower right.
@@ -88,7 +88,7 @@
 
     {
         SkCanvas c(*src);
-        p.setColor(sk_tool_utils::color_to_565(0xFFFFCC44));
+        p.setColor(ToolUtils::color_to_565(0xFFFFCC44));
         r.set(0, 0, ww*3/4, hh*3/4);
         c.drawOval(r, p);
     }
@@ -98,7 +98,7 @@
 
     {
         SkCanvas c(*dst);
-        p.setColor(sk_tool_utils::color_to_565(0xFF66AAFF));
+        p.setColor(ToolUtils::color_to_565(0xFF66AAFF));
         r.set(ww/3, hh/3, ww*19/20, hh*19/20);
         c.drawRect(r, p);
     }
@@ -145,11 +145,11 @@
             case kQuarterClear_SrcType: {
                 SkScalar halfW = SkIntToScalar(W) / 2;
                 SkScalar halfH = SkIntToScalar(H) / 2;
-                p.setColor(sk_tool_utils::color_to_565(0xFF66AAFF));
+                p.setColor(ToolUtils::color_to_565(0xFF66AAFF));
                 SkRect r = SkRect::MakeXYWH(x + halfW, y, halfW,
                                             SkIntToScalar(H));
                 canvas->drawRect(r, p);
-                p.setColor(sk_tool_utils::color_to_565(0xFFAA66FF));
+                p.setColor(ToolUtils::color_to_565(0xFFAA66FF));
                 r = SkRect::MakeXYWH(x, y + halfH, SkIntToScalar(W), halfH);
                 canvas->drawRect(r, p);
                 break;
@@ -168,7 +168,7 @@
                 SkScalar h = SkIntToScalar(H);
                 SkRect r = SkRect::MakeXYWH(x + w / 3, y + h / 3,
                                             w * 37 / 60, h * 37 / 60);
-                p.setColor(sk_tool_utils::color_to_565(0xFF66AAFF));
+                p.setColor(ToolUtils::color_to_565(0xFF66AAFF));
                 canvas->drawRect(r, p);
                 break;
             }
@@ -228,7 +228,7 @@
         SkPaint labelP;
         labelP.setAntiAlias(true);
 
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont font(ToolUtils::create_portable_typeface());
 
         const int W = 5;
 
diff --git a/gm/xfermodes2.cpp b/gm/xfermodes2.cpp
index 26de6fe..ebc0db1 100644
--- a/gm/xfermodes2.cpp
+++ b/gm/xfermodes2.cpp
@@ -4,13 +4,13 @@
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
-#include "gm.h"
-#include "sk_tool_utils.h"
 #include "SkBitmap.h"
-#include "SkShader.h"
 #include "SkBlendModePriv.h"
 #include "SkColorPriv.h"
+#include "SkShader.h"
 #include "SkTextUtils.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -33,7 +33,7 @@
         const SkScalar w = SkIntToScalar(kSize);
         const SkScalar h = SkIntToScalar(kSize);
 
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont font(ToolUtils::create_portable_typeface());
 
         const int W = 6;
 
diff --git a/gm/xfermodes3.cpp b/gm/xfermodes3.cpp
index 86aee17..ec0bba9 100644
--- a/gm/xfermodes3.cpp
+++ b/gm/xfermodes3.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "gm.h"
-#include "sk_tool_utils.h"
+#include "GrContext.h"
 #include "SkBitmap.h"
-#include "SkGradientShader.h"
-#include "SkSurface.h"
 #include "SkBlendModePriv.h"
 #include "SkColorPriv.h"
+#include "SkGradientShader.h"
+#include "SkSurface.h"
 #include "SkTextUtils.h"
-#include "GrContext.h"
+#include "ToolUtils.h"
+#include "gm.h"
 
 namespace skiagm {
 
@@ -23,7 +23,7 @@
  */
 class Xfermodes3GM : public GM {
 public:
-    Xfermodes3GM() { this->setBGColor(sk_tool_utils::color_to_565(0xFF70D0E0)); }
+    Xfermodes3GM() { this->setBGColor(ToolUtils::color_to_565(0xFF70D0E0)); }
 
 protected:
     SkString onShortName() override {
@@ -37,7 +37,7 @@
     void onDraw(SkCanvas* canvas) override {
         canvas->translate(SkIntToScalar(10), SkIntToScalar(20));
 
-        SkFont font(sk_tool_utils::create_portable_typeface());
+        SkFont  font(ToolUtils::create_portable_typeface());
         SkPaint labelP;
 
         constexpr SkColor kSolidColors[] = {