remove xfermode from public api

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4020

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I19cd056f2af778f10e8c6c2b7b2735593b43dbac
Reviewed-on: https://skia-review.googlesource.com/4020
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/samplecode/PerlinPatch.cpp b/samplecode/PerlinPatch.cpp
index a2033c3..9adb08a 100644
--- a/samplecode/PerlinPatch.cpp
+++ b/samplecode/PerlinPatch.cpp
@@ -148,12 +148,10 @@
             { fTexX - texWidth, fTexY + texHeight}}
         ;
         
-        sk_sp<SkXfermode> xfer(SkXfermode::Make(SkXfermode::kSrc_Mode));
-
         SkScalar scaleFreq = 2.0;
         fShader1 = SkPerlinNoiseShader2::MakeImprovedNoise(fXFreq/scaleFreq, fYFreq/scaleFreq, 4,
                                                              fSeed);
-        fShaderCompose = SkShader::MakeComposeShader(fShader0, fShader1, nullptr);
+        fShaderCompose = SkShader::MakeComposeShader(fShader0, fShader1, SkBlendMode::kSrcOver);
 
         paint.setShader(fShaderCompose);
 
@@ -161,7 +159,7 @@
         if (fShowGrid) {
             tex = nullptr;
         }
-        canvas->drawPatch(fPts, nullptr, tex, xfer, paint);
+        canvas->drawPatch(fPts, nullptr, tex, SkBlendMode::kSrc, paint);
 
         draw_control_points(canvas, fPts);
     }
diff --git a/samplecode/SampleAll.cpp b/samplecode/SampleAll.cpp
index 8c1ace5..94c12cd 100644
--- a/samplecode/SampleAll.cpp
+++ b/samplecode/SampleAll.cpp
@@ -504,7 +504,7 @@
         auto shaderB = SkGradientShader::MakeLinear(pts, colors2, nullptr,
             2, SkShader::kClamp_TileMode);
         return SkShader::MakeComposeShader(std::move(shaderA), std::move(shaderB),
-                                           SkXfermode::Make(SkXfermode::kDstIn_Mode));
+                                           SkBlendMode::kDstIn);
     }
 
     virtual void startTest() {
diff --git a/samplecode/SampleAtlas.cpp b/samplecode/SampleAtlas.cpp
index 3daf312..f89b37d 100644
--- a/samplecode/SampleAtlas.cpp
+++ b/samplecode/SampleAtlas.cpp
@@ -21,7 +21,7 @@
 static void draw_atlas(SkCanvas* canvas, SkImage* atlas, const SkRSXform xform[],
                        const SkRect tex[], const SkColor colors[], int count, const SkRect* cull,
                        const SkPaint* paint) {
-    canvas->drawAtlas(atlas, xform, tex, colors, count, SkXfermode::kModulate_Mode, cull, paint);
+    canvas->drawAtlas(atlas, xform, tex, colors, count, SkBlendMode::kModulate, cull, paint);
 }
 
 static void draw_atlas_sim(SkCanvas* canvas, SkImage* atlas, const SkRSXform xform[],
diff --git a/samplecode/SampleColorFilter.cpp b/samplecode/SampleColorFilter.cpp
index 67c7b2e..60ab013 100644
--- a/samplecode/SampleColorFilter.cpp
+++ b/samplecode/SampleColorFilter.cpp
@@ -151,21 +151,21 @@
             return;
         }
 
-        static const SkXfermode::Mode gModes[] = {
-            SkXfermode::kClear_Mode,
-            SkXfermode::kSrc_Mode,
-            SkXfermode::kDst_Mode,
-            SkXfermode::kSrcOver_Mode,
-            SkXfermode::kDstOver_Mode,
-            SkXfermode::kSrcIn_Mode,
-            SkXfermode::kDstIn_Mode,
-            SkXfermode::kSrcOut_Mode,
-            SkXfermode::kDstOut_Mode,
-            SkXfermode::kSrcATop_Mode,
-            SkXfermode::kDstATop_Mode,
-            SkXfermode::kXor_Mode,
-            SkXfermode::kPlus_Mode,
-            SkXfermode::kModulate_Mode,
+        static const SkBlendMode gModes[] = {
+            SkBlendMode::kClear,
+            SkBlendMode::kSrc,
+            SkBlendMode::kDst,
+            SkBlendMode::kSrcOver,
+            SkBlendMode::kDstOver,
+            SkBlendMode::kSrcIn,
+            SkBlendMode::kDstIn,
+            SkBlendMode::kSrcOut,
+            SkBlendMode::kDstOut,
+            SkBlendMode::kSrcATop,
+            SkBlendMode::kDstATop,
+            SkBlendMode::kXor,
+            SkBlendMode::kPlus,
+            SkBlendMode::kModulate,
         };
 
         static const SkColor gColors[] = {
diff --git a/samplecode/SampleFilterFuzz.cpp b/samplecode/SampleFilterFuzz.cpp
index 28aa5f4..139166f 100644
--- a/samplecode/SampleFilterFuzz.cpp
+++ b/samplecode/SampleFilterFuzz.cpp
@@ -558,7 +558,7 @@
     case MERGE:
         filter = SkMergeImageFilter::Make(make_image_filter(),
                                           make_image_filter(),
-                                          (SkXfermode::Mode)make_xfermode());
+                                          make_xfermode());
         break;
     case COLOR: {
         sk_sp<SkColorFilter> cf(make_color_filter());
diff --git a/samplecode/SamplePatch.cpp b/samplecode/SamplePatch.cpp
index 641e1e9..243d106 100644
--- a/samplecode/SamplePatch.cpp
+++ b/samplecode/SamplePatch.cpp
@@ -188,8 +188,7 @@
         t += dt;
         canvas->drawVertices(SkCanvas::kTriangleStrip_VertexMode, stripCount,
                              strip, doTextures ? tex : nullptr,
-                             doColors ? colors : nullptr, nullptr,
-                             nullptr, 0, paint);
+                             doColors ? colors : nullptr, nullptr, 0, paint);
     }
 }
 
diff --git a/samplecode/SampleShaders.cpp b/samplecode/SampleShaders.cpp
index 608199d..ba3b80d 100644
--- a/samplecode/SampleShaders.cpp
+++ b/samplecode/SampleShaders.cpp
@@ -34,8 +34,7 @@
     auto shaderB = SkShader::MakeBitmapShader(bm,
                                               SkShader::kClamp_TileMode, SkShader::kClamp_TileMode);
 
-    return SkShader::MakeComposeShader(std::move(shaderB), std::move(shaderA),
-                                       SkXfermode::Make(SkXfermode::kDstIn_Mode));
+    return SkShader::MakeComposeShader(std::move(shaderB), std::move(shaderA), SkBlendMode::kDstIn);
 }
 
 class ShaderView : public SampleView {
@@ -62,7 +61,7 @@
         auto shaderB = SkGradientShader::MakeLinear(pts, colors, nullptr, 2, SkShader::kClamp_TileMode);
 
         fShader = SkShader::MakeComposeShader(std::move(shaderA), std::move(shaderB),
-                                              SkXfermode::Make(SkXfermode::kDstIn_Mode));
+                                              SkBlendMode::kDstIn);
     }
 
 protected:
diff --git a/samplecode/SampleShip.cpp b/samplecode/SampleShip.cpp
index 1335c31..9d65b6f 100644
--- a/samplecode/SampleShip.cpp
+++ b/samplecode/SampleShip.cpp
@@ -26,7 +26,7 @@
 static void draw_atlas(SkCanvas* canvas, SkImage* atlas, const SkRSXform xform[],
                        const SkRect tex[], const SkColor colors[], int count, const SkRect* cull,
                        const SkPaint* paint) {
-    canvas->drawAtlas(atlas, xform, tex, colors, count, SkXfermode::kModulate_Mode, cull, paint);
+    canvas->drawAtlas(atlas, xform, tex, colors, count, SkBlendMode::kModulate, cull, paint);
 }
 
 static void draw_atlas_sim(SkCanvas* canvas, SkImage* atlas, const SkRSXform xform[],
diff --git a/samplecode/SampleSlides.cpp b/samplecode/SampleSlides.cpp
index 521e9f6..43221d4 100644
--- a/samplecode/SampleSlides.cpp
+++ b/samplecode/SampleSlides.cpp
@@ -436,21 +436,21 @@
         paint.setShader(nullptr);
         canvas->drawVertices(fRecs[i].fMode, fRecs[i].fCount,
                              fRecs[i].fVerts, fRecs[i].fTexs,
-                             nullptr, nullptr, nullptr, 0, paint);
+                             nullptr, nullptr, 0, paint);
 
         canvas->translate(SkIntToScalar(210), 0);
 
         paint.setShader(fShader0);
         canvas->drawVertices(fRecs[i].fMode, fRecs[i].fCount,
                              fRecs[i].fVerts, fRecs[i].fTexs,
-                             nullptr, nullptr, nullptr, 0, paint);
+                             nullptr, nullptr, 0, paint);
 
         canvas->translate(SkIntToScalar(210), 0);
 
         paint.setShader(fShader1);
         canvas->drawVertices(fRecs[i].fMode, fRecs[i].fCount,
                              fRecs[i].fVerts, fRecs[i].fTexs,
-                             nullptr, nullptr, nullptr, 0, paint);
+                             nullptr, nullptr, 0, paint);
         canvas->restore();
 
         canvas->translate(0, SkIntToScalar(250));
diff --git a/samplecode/SampleVertices.cpp b/samplecode/SampleVertices.cpp
index 0d43962..3ba98bb 100644
--- a/samplecode/SampleVertices.cpp
+++ b/samplecode/SampleVertices.cpp
@@ -90,21 +90,21 @@
             paint.setShader(nullptr);
             canvas->drawVertices(fRecs[i].fMode, fRecs[i].fCount,
                                  fRecs[i].fVerts, fRecs[i].fTexs,
-                                 nullptr, nullptr, nullptr, 0, paint);
+                                 nullptr, nullptr, 0, paint);
 
             canvas->translate(SkIntToScalar(250), 0);
 
             paint.setShader(fShader0);
             canvas->drawVertices(fRecs[i].fMode, fRecs[i].fCount,
                                  fRecs[i].fVerts, fRecs[i].fTexs,
-                                 nullptr, nullptr, nullptr, 0, paint);
+                                 nullptr, nullptr, 0, paint);
 
             canvas->translate(SkIntToScalar(250), 0);
 
             paint.setShader(fShader1);
             canvas->drawVertices(fRecs[i].fMode, fRecs[i].fCount,
                                  fRecs[i].fVerts, fRecs[i].fTexs,
-                                 nullptr, nullptr, nullptr, 0, paint);
+                                 nullptr, nullptr, 0, paint);
             canvas->restore();
 
             canvas->translate(0, SkIntToScalar(250));