Add support for drawImageLattice in SKIA debugger
Add support in SKIA debugger for SkCanvas.drawImageLattice calls.
Test: Tested with an SKP from android settings app.
Change-Id: I3f39f353dca8a3a2854241e7ef995d4d8c635f3e
Reviewed-on: https://skia-review.googlesource.com/6882
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
diff --git a/tools/debugger/SkDrawCommand.h b/tools/debugger/SkDrawCommand.h
index 880c2aa..266fc99 100644
--- a/tools/debugger/SkDrawCommand.h
+++ b/tools/debugger/SkDrawCommand.h
@@ -35,6 +35,7 @@
kDrawClear_OpType,
kDrawDRRect_OpType,
kDrawImage_OpType,
+ kDrawImageLattice_OpType,
kDrawImageRect_OpType,
kDrawOval_OpType,
kDrawPaint_OpType,
@@ -131,6 +132,7 @@
static Json::Value MakeJsonPath(const SkPath& path);
static Json::Value MakeJsonRegion(const SkRegion& region);
static Json::Value MakeJsonPaint(const SkPaint& paint, UrlDataManager& urlDataManager);
+ static Json::Value MakeJsonLattice(const SkCanvas::Lattice& lattice);
static void flatten(const SkFlattenable* flattenable, Json::Value* target,
UrlDataManager& urlDataManager);
@@ -364,6 +366,23 @@
typedef SkDrawCommand INHERITED;
};
+class SkDrawImageLatticeCommand : public SkDrawCommand {
+public:
+ SkDrawImageLatticeCommand(const SkImage* image, const SkCanvas::Lattice& lattice,
+ const SkRect& dst, const SkPaint* paint);
+ void execute(SkCanvas* canvas) const override;
+ bool render(SkCanvas* canvas) const override;
+ Json::Value toJSON(UrlDataManager& urlDataManager) const override;
+
+private:
+ sk_sp<const SkImage> fImage;
+ SkCanvas::Lattice fLattice;
+ SkRect fDst;
+ SkTLazy<SkPaint> fPaint;
+
+ typedef SkDrawCommand INHERITED;
+};
+
class SkDrawImageRectCommand : public SkDrawCommand {
public:
SkDrawImageRectCommand(const SkImage* image, const SkRect* src, const SkRect& dst,