add more docs/examples from named fiddles.
ignore offscreen, srgb, and animated fiddles for now.
Change-Id: I923131b684865698e6cda138b004930e11f504d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263713
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
diff --git a/docs/examples/blur_alpha_img.cpp b/docs/examples/blur_alpha_img.cpp
new file mode 100644
index 0000000..880f018
--- /dev/null
+++ b/docs/examples/blur_alpha_img.cpp
@@ -0,0 +1,36 @@
+// Copyright 2020 Google LLC.
+// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
+#include "tools/fiddle/examples.h"
+REG_FIDDLE(blur_alpha_img, 256, 256, false, 0) {
+sk_sp<SkImage> foo() {
+ int w = 240, h = 240;
+ SkScalar scale = 10.0f;
+ SkPath path;
+ static const int8_t pts[] = {2, 2, 1, 3, 0, 3, 2, 1, 3, 1, 4, 0, 4, 1,
+ 5, 1, 4, 2, 4, 3, 2, 5, 2, 4, 3, 3, 2, 3};
+ path.moveTo(2 * scale, 3 * scale);
+ for (size_t i = 0; i < sizeof(pts) / sizeof(pts[0]); i += 2) {
+ path.lineTo(pts[i] * scale, pts[i + 1] * scale);
+ }
+ path.close();
+ SkMatrix matrix = SkMatrix::MakeScale(4 * scale);
+ SkPaint paint;
+ paint.setPathEffect(SkPath2DPathEffect::Make(matrix, path));
+ paint.setAntiAlias(true);
+ SkRect bounds{-4 * scale, -4 * scale, (float)w, (float)h};
+ SkBitmap bm;
+ bm.allocPixels(SkImageInfo::MakeA8(w, h));
+ SkCanvas c(bm);
+ c.clear(0);
+ c.drawRect(bounds, paint);
+ return SkImage::MakeFromBitmap(bm);
+}
+
+void draw(SkCanvas* canvas) {
+ auto a8img = foo();
+ SkPaint paint;
+ paint.setMaskFilter(SkMaskFilter::MakeBlur(kNormal_SkBlurStyle, 2.0f, 0));
+ paint.setColor(0xFF008000);
+ canvas->drawImage(a8img, 8, 8, &paint);
+}
+} // END FIDDLE