add gm for clipShader in a layer
Change-Id: I3435ccbf0f391a08dfde9d0cb40ce797144c6b9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276616
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
diff --git a/gm/complexclip.cpp b/gm/complexclip.cpp
index faceb6b..6e22dc0 100644
--- a/gm/complexclip.cpp
+++ b/gm/complexclip.cpp
@@ -246,3 +246,19 @@
canvas->restore();
canvas->restore();
}
+
+DEF_SIMPLE_GM(clip_shader_layer, canvas, 430, 320) {
+ auto img = GetResourceAsImage("images/yellow_rose.png");
+ auto sh = img->makeShader();
+
+ SkRect r = SkRect::MakeIWH(img->width(), img->height());
+
+ canvas->translate(10, 10);
+ // now add the cool clip
+ canvas->clipRect(r);
+ canvas->clipShader(sh);
+ // now draw a layer with the same image, and watch it get restored w/ the clip
+ canvas->saveLayer(&r, nullptr);
+ canvas->drawColor(0xFFFF0000);
+ canvas->restore();
+}