deferred canvas
tries to eliminate unneeded clipRects and concats (and their associated save/restores).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2120333002
Review-Url: https://codereview.chromium.org/2120333002
diff --git a/tests/CanvasTest.cpp b/tests/CanvasTest.cpp
index 70c2c04..82e065f 100644
--- a/tests/CanvasTest.cpp
+++ b/tests/CanvasTest.cpp
@@ -813,3 +813,25 @@
REPORTER_ASSERT(reporter, canvas.getClipBounds(&clip1) == filterCanvas.getClipBounds(&clip2));
REPORTER_ASSERT(reporter, clip1 == clip2);
}
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+#include "SkDeferredCanvas.h"
+#include "SkDumpCanvas.h"
+
+DEF_TEST(DeferredCanvas, r) {
+ SkDebugfDumper dumper;
+ SkDumpCanvas dumpC(&dumper);
+
+ SkDeferredCanvas canvas(&dumpC);
+
+ SkPaint paint;
+// paint.setShader(SkShader::MakeColorShader(SK_ColorRED));
+
+ canvas.save();
+ canvas.clipRect(SkRect::MakeWH(55, 55));
+ canvas.translate(10, 20);
+ canvas.drawRect(SkRect::MakeWH(50, 50), paint);
+ canvas.restore();
+}
+