Revert "Revert "Add experimental API to draw a set of SkImages in one SkCanvas call.""

This reverts commit 8d5b41b5530e8a6dea440bf87c1094d5f070accd.

Bug: skia:8444
Change-Id: I29b52c6fe9475c6113ec954b7918cf591111846c
Reviewed-on: https://skia-review.googlesource.com/c/161627
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/tools/debugger/SkDrawCommand.h b/tools/debugger/SkDrawCommand.h
index 2acc504..9a84e9a 100644
--- a/tools/debugger/SkDrawCommand.h
+++ b/tools/debugger/SkDrawCommand.h
@@ -43,6 +43,7 @@
         kDrawImageLattice_OpType,
         kDrawImageNine_OpType,
         kDrawImageRect_OpType,
+        kDrawImageSet_OpType,
         kDrawOval_OpType,
         kDrawArc_OpType,
         kDrawPaint_OpType,
@@ -363,6 +364,22 @@
     typedef SkDrawCommand INHERITED;
 };
 
+class SkDrawImageSetCommand : public SkDrawCommand {
+public:
+    SkDrawImageSetCommand(const SkCanvas::ImageSetEntry[], int count, float alpha, SkFilterQuality,
+                          SkBlendMode);
+    void execute(SkCanvas* canvas) const override;
+
+private:
+    SkAutoTArray<SkCanvas::ImageSetEntry> fSet;
+    int fCount;
+    float fAlpha;
+    SkFilterQuality fFilterQuality;
+    SkBlendMode fMode;
+
+    typedef SkDrawCommand INHERITED;
+};
+
 class SkDrawOvalCommand : public SkDrawCommand {
 public:
     SkDrawOvalCommand(const SkRect& oval, const SkPaint& paint);