Update gms to use new image filter factories

Bug: skia:9280
Change-Id: Ic7ca3a9c86025128bc45b89ea90aa4553287b8c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230879
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/gm/localmatriximagefilter.cpp b/gm/localmatriximagefilter.cpp
index 19dee85..9a9902d 100644
--- a/gm/localmatriximagefilter.cpp
+++ b/gm/localmatriximagefilter.cpp
@@ -17,9 +17,7 @@
 #include "include/core/SkRefCnt.h"
 #include "include/core/SkScalar.h"
 #include "include/core/SkSurface.h"
-#include "include/effects/SkBlurImageFilter.h"
-#include "include/effects/SkMorphologyImageFilter.h"
-#include "include/effects/SkOffsetImageFilter.h"
+#include "include/effects/SkImageFilters.h"
 #include "tools/ToolUtils.h"
 
 #include <utility>
@@ -49,20 +47,15 @@
 
 typedef sk_sp<SkImageFilter> (*ImageFilterFactory)();
 
-// +[]{...} did not work on windows (VS)
-// (ImageFilterFactory)[]{...} did not work on linux (gcc)
-// hence this cast function
-template <typename T> ImageFilterFactory IFCCast(T arg) { return arg; }
-
 // Show the effect of localmatriximagefilter with various matrices, on various filters
 DEF_SIMPLE_GM(localmatriximagefilter, canvas, 640, 640) {
     sk_sp<SkImage> image0(make_image(canvas));
 
     const ImageFilterFactory factories[] = {
-        IFCCast([]{ return SkBlurImageFilter::Make(8, 8, nullptr); }),
-        IFCCast([]{ return SkDilateImageFilter::Make(8, 8, nullptr); }),
-        IFCCast([]{ return SkErodeImageFilter::Make(8, 8, nullptr); }),
-        IFCCast([]{ return SkOffsetImageFilter::Make(8, 8, nullptr); }),
+        []{ return SkImageFilters::Blur(8, 8, nullptr); },
+        []{ return SkImageFilters::Dilate(8, 8, nullptr); },
+        []{ return SkImageFilters::Erode(8, 8, nullptr); },
+        []{ return SkImageFilters::Offset(8, 8, nullptr); },
     };
 
     const SkMatrix matrices[] = {