Add SkImageFilters::Blend rename for Xfermode filter
This better matches SkShaders::Blend and SkColorFilters::Blend factories.
Bug: skia:9310
Change-Id: I02a3fe488a446b803df96518caacff1fdf536e9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/324623
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
diff --git a/gm/crbug_905548.cpp b/gm/crbug_905548.cpp
index 2406e8f..bbf2eac 100644
--- a/gm/crbug_905548.cpp
+++ b/gm/crbug_905548.cpp
@@ -28,7 +28,7 @@
auto blurred = SkImageFilters::Blur(15, 15, imageSource);
auto eroded = SkImageFilters::Erode(0, 0, blurred);
- auto blended = SkImageFilters::Xfermode(SkBlendMode::kDstOut, eroded, imageSource, nullptr);
+ auto blended = SkImageFilters::Blend(SkBlendMode::kDstOut, eroded, imageSource, nullptr);
SkPaint paint;
paint.setImageFilter(blended);
diff --git a/gm/imagefilters.cpp b/gm/imagefilters.cpp
index d35d205..329ccea 100644
--- a/gm/imagefilters.cpp
+++ b/gm/imagefilters.cpp
@@ -257,7 +257,7 @@
// If edge detector sees the mask filter, it'll have alpha and then blend with the original
// image; otherwise the mask filter will apply late (incorrectly) and none of the original
// image will be visible.
- sk_sp<SkImageFilter> edgeBlend = SkImageFilters::Xfermode(SkBlendMode::kSrcOver,
+ sk_sp<SkImageFilter> edgeBlend = SkImageFilters::Blend(SkBlendMode::kSrcOver,
SkImageFilters::Image(image), edgeDetector);
SkPaint testMaskPaint;
@@ -266,8 +266,8 @@
SkPaint expectedMaskPaint;
expectedMaskPaint.setImageFilter(SkImageFilters::Compose(edgeBlend,
- SkImageFilters::Xfermode(SkBlendMode::kSrcIn,
- SkImageFilters::Shader(alphaMaskShader))));
+ SkImageFilters::Blend(SkBlendMode::kSrcIn,
+ SkImageFilters::Shader(alphaMaskShader))));
canvas->save();
canvas->translate(0, image->height());
diff --git a/gm/imagefiltersgraph.cpp b/gm/imagefiltersgraph.cpp
index 6ed23e1..6c47388 100644
--- a/gm/imagefiltersgraph.cpp
+++ b/gm/imagefiltersgraph.cpp
@@ -71,8 +71,8 @@
sk_sp<SkImageFilter> colorMorph(SkImageFilters::ColorFilter(std::move(matrixFilter),
std::move(morph)));
SkPaint paint;
- paint.setImageFilter(SkImageFilters::Xfermode(SkBlendMode::kSrcOver,
- std::move(colorMorph)));
+ paint.setImageFilter(SkImageFilters::Blend(SkBlendMode::kSrcOver,
+ std::move(colorMorph)));
DrawClippedImage(canvas, fImage.get(), paint);
canvas->translate(SkIntToScalar(100), 0);
@@ -100,7 +100,7 @@
SkIRect cropRect = SkIRect::MakeWH(95, 100);
SkPaint paint;
paint.setImageFilter(
- SkImageFilters::Xfermode(SkBlendMode::kSrcIn, std::move(blur), nullptr, &cropRect));
+ SkImageFilters::Blend(SkBlendMode::kSrcIn, std::move(blur), nullptr, &cropRect));
DrawClippedImage(canvas, fImage.get(), paint);
canvas->translate(SkIntToScalar(100), 0);
}
diff --git a/gm/imagefilterstransformed.cpp b/gm/imagefilterstransformed.cpp
index d2a0622..4a4dda9 100644
--- a/gm/imagefilterstransformed.cpp
+++ b/gm/imagefilterstransformed.cpp
@@ -135,7 +135,7 @@
sk_sp<SkImageFilter> filters[] = {
nullptr,
SkImageFilters::Blur(6, 0, nullptr),
- SkImageFilters::Xfermode(SkBlendMode::kSrcOver, nullptr),
+ SkImageFilters::Blend(SkBlendMode::kSrcOver, nullptr),
};
for (auto& filter : filters) {
diff --git a/gm/imagemakewithfilter.cpp b/gm/imagemakewithfilter.cpp
index 958b1d0..03b214f 100644
--- a/gm/imagemakewithfilter.cpp
+++ b/gm/imagemakewithfilter.cpp
@@ -98,9 +98,9 @@
nullptr, cropRect);
}
-static sk_sp<SkImageFilter> xfermode_factory(sk_sp<SkImage> auxImage, const SkIRect* cropRect) {
+static sk_sp<SkImageFilter> blend_factory(sk_sp<SkImage> auxImage, const SkIRect* cropRect) {
sk_sp<SkImageFilter> background = SkImageFilters::Image(std::move(auxImage));
- return SkImageFilters::Xfermode(
+ return SkImageFilters::Blend(
SkBlendMode::kModulate, std::move(background), nullptr, cropRect);
}
@@ -233,7 +233,7 @@
erode_factory,
displacement_factory,
arithmetic_factory,
- xfermode_factory,
+ blend_factory,
convolution_factory,
matrix_factory,
alpha_threshold_factory,
@@ -249,7 +249,7 @@
"Erode",
"Displacement",
"Arithmetic",
- "Xfer Mode",
+ "Xfer Mode", // "blend"
"Convolution",
"Matrix Xform",
"Alpha Threshold",
diff --git a/gm/xfermodeimagefilter.cpp b/gm/xfermodeimagefilter.cpp
index 5f69249..efd2a62 100644
--- a/gm/xfermodeimagefilter.cpp
+++ b/gm/xfermodeimagefilter.cpp
@@ -92,7 +92,7 @@
int x = 0, y = 0;
sk_sp<SkImageFilter> background(SkImageFilters::Image(fCheckerboard));
for (size_t i = 0; i < SK_ARRAY_COUNT(gModes); i++) {
- paint.setImageFilter(SkImageFilters::Xfermode(gModes[i], background));
+ paint.setImageFilter(SkImageFilters::Blend(gModes[i], background));
DrawClippedBitmap(canvas, fBitmap, paint, x, y);
x += fBitmap.width() + MARGIN;
if (x + fBitmap.width() > WIDTH) {
@@ -109,7 +109,7 @@
y += fBitmap.height() + MARGIN;
}
// Test nullptr mode
- paint.setImageFilter(SkImageFilters::Xfermode(SkBlendMode::kSrcOver, background));
+ paint.setImageFilter(SkImageFilters::Blend(SkBlendMode::kSrcOver, background));
DrawClippedBitmap(canvas, fBitmap, paint, x, y);
x += fBitmap.width() + MARGIN;
if (x + fBitmap.width() > WIDTH) {
@@ -123,7 +123,7 @@
sk_sp<SkImageFilter> foreground(SkImageFilters::Image(std::move(bitmapImage)));
sk_sp<SkImageFilter> offsetForeground(SkImageFilters::Offset(4, -4, foreground));
sk_sp<SkImageFilter> offsetBackground(SkImageFilters::Offset(4, 4, background));
- paint.setImageFilter(SkImageFilters::Xfermode(
+ paint.setImageFilter(SkImageFilters::Blend(
SkBlendMode::kSrcOver, offsetBackground, offsetForeground));
DrawClippedPaint(canvas, clipRect, paint, x, y);
x += fBitmap.width() + MARGIN;
@@ -132,7 +132,7 @@
y += fBitmap.height() + MARGIN;
}
// Test offsets on Darken (uses shader blend)
- paint.setImageFilter(SkImageFilters::Xfermode(
+ paint.setImageFilter(SkImageFilters::Blend(
SkBlendMode::kDarken, offsetBackground, offsetForeground));
DrawClippedPaint(canvas, clipRect, paint, x, y);
x += fBitmap.width() + MARGIN;
@@ -153,8 +153,8 @@
offsets[i][1],
fBitmap.width() + offsets[i][2],
fBitmap.height() + offsets[i][3]);
- paint.setImageFilter(SkImageFilters::Xfermode(sampledModes[i], offsetBackground,
- offsetForeground, &cropRect));
+ paint.setImageFilter(SkImageFilters::Blend(sampledModes[i], offsetBackground,
+ offsetForeground, &cropRect));
DrawClippedPaint(canvas, clipRect, paint, x, y);
x += fBitmap.width() + MARGIN;
if (x + fBitmap.width() > WIDTH) {
@@ -165,8 +165,7 @@
// Test small bg, large fg with Screen (uses shader blend)
SkIRect cropRect = SkIRect::MakeXYWH(10, 10, 60, 60);
sk_sp<SkImageFilter> cropped(SkImageFilters::Offset(0, 0, foreground, &cropRect));
- paint.setImageFilter(SkImageFilters::Xfermode(SkBlendMode::kScreen, cropped, background,
- nullptr));
+ paint.setImageFilter(SkImageFilters::Blend(SkBlendMode::kScreen, cropped, background));
DrawClippedPaint(canvas, clipRect, paint, x, y);
x += fBitmap.width() + MARGIN;
if (x + fBitmap.width() > WIDTH) {
@@ -174,8 +173,7 @@
y += fBitmap.height() + MARGIN;
}
// Test small fg, large bg with Screen (uses shader blend)
- paint.setImageFilter(SkImageFilters::Xfermode(SkBlendMode::kScreen, background, cropped,
- nullptr));
+ paint.setImageFilter(SkImageFilters::Blend(SkBlendMode::kScreen, background, cropped));
DrawClippedPaint(canvas, clipRect, paint, x, y);
x += fBitmap.width() + MARGIN;
if (x + fBitmap.width() > WIDTH) {
@@ -186,8 +184,8 @@
// This tests that SkXfermodeImageFilter correctly applies the compositing mode to
// the region outside the foreground.
SkIRect cropRectFull = SkIRect::MakeXYWH(0, 0, 80, 80);
- paint.setImageFilter(SkImageFilters::Xfermode(SkBlendMode::kSrcIn, background, cropped,
- &cropRectFull));
+ paint.setImageFilter(SkImageFilters::Blend(SkBlendMode::kSrcIn, background, cropped,
+ &cropRectFull));
DrawClippedPaint(canvas, clipRect, paint, x, y);
x += fBitmap.width() + MARGIN;
if (x + fBitmap.width() > WIDTH) {