Update SkCanvas' experimental SkiaRenderer API

This lifts the temporary functions in SkGpuDevice into SkCanvas and
deprecates the older experimental_DrawImageSetV1 and
experimental_DrawEdgeAARect.  The new functions can handle paints and
transform batching. Internally, SkCanvas routes the old functions to the
new entry points and all device-level code is updated to handle the new
API features.

While touching all of the canvas/device/recording areas, the
experimental functions are grouped in an "EdgeAA" cluster instead of being
separated into the image category and the rectangle category.

Bug: skia:8739
Change-Id: I67c2a724873040ad5dc3307ab5b2823ba1eac54b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/190221
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/tools/debugger/SkDebugCanvas.cpp b/tools/debugger/SkDebugCanvas.cpp
index 45eaf96..7580dc6 100644
--- a/tools/debugger/SkDebugCanvas.cpp
+++ b/tools/debugger/SkDebugCanvas.cpp
@@ -362,11 +362,6 @@
     this->addDrawCommand(new SkDrawImageNineCommand(image, center, dst, paint));
 }
 
-void SkDebugCanvas::onDrawImageSet(const SkCanvas::ImageSetEntry set[], int count,
-                                   SkFilterQuality filterQuality, SkBlendMode mode) {
-    this->addDrawCommand(new SkDrawImageSetCommand(set, count, filterQuality, mode));
-}
-
 void SkDebugCanvas::onDrawOval(const SkRect& oval, const SkPaint& paint) {
     this->addDrawCommand(new SkDrawOvalCommand(oval, paint));
 }
@@ -407,11 +402,6 @@
     addDrawCommand(new SkDrawRectCommand(rect, paint));
 }
 
-void SkDebugCanvas::onDrawEdgeAARect(const SkRect& rect, SkCanvas::QuadAAFlags aa, SkColor color,
-                                     SkBlendMode mode) {
-    this->addDrawCommand(new SkDrawEdgeAARectCommand(rect, aa, color, mode));
-}
-
 void SkDebugCanvas::onDrawRRect(const SkRRect& rrect, const SkPaint& paint) {
     this->addDrawCommand(new SkDrawRRectCommand(rrect, paint));
 }
@@ -455,6 +445,18 @@
     this->addDrawCommand(new SkDrawDrawableCommand(drawable, matrix));
 }
 
+void SkDebugCanvas::onDrawEdgeAAQuad(const SkRect& rect, const SkPoint clip[4],
+                                     QuadAAFlags aa, SkColor color, SkBlendMode mode) {
+    this->addDrawCommand(new SkDrawEdgeAAQuadCommand(rect, clip, aa, color, mode));
+}
+
+void SkDebugCanvas::onDrawEdgeAAImageSet(const ImageSetEntry set[], int count,
+                                         const SkPoint dstClips[], const SkMatrix preViewMatrices[],
+                                         const SkPaint* paint, SrcRectConstraint constraint) {
+    this->addDrawCommand(new SkDrawEdgeAAImageSetCommand(set, count, dstClips, preViewMatrices,
+                                                         paint, constraint));
+}
+
 void SkDebugCanvas::willRestore() {
     this->addDrawCommand(new SkRestoreCommand());
     this->INHERITED::willRestore();