Use samplingoptions for bitmap shader
Change-Id: I64c67ddcac29b68cdd0d25e4af4153358939b0ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/343736
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/docs/examples/Canvas_drawPatch.cpp b/docs/examples/Canvas_drawPatch.cpp
index f5c0ef3..cb2c853 100644
--- a/docs/examples/Canvas_drawPatch.cpp
+++ b/docs/examples/Canvas_drawPatch.cpp
@@ -6,7 +6,6 @@
void draw(SkCanvas* canvas) {
// SkBitmap source = cmbkygk;
SkPaint paint;
- paint.setFilterQuality(kLow_SkFilterQuality);
paint.setAntiAlias(true);
SkPoint cubics[] = { { 3, 1 }, { 4, 2 }, { 5, 1 }, { 7, 3 },
/* { 7, 3 }, */ { 6, 4 }, { 7, 5 }, { 5, 7 },
@@ -14,7 +13,8 @@
/* { 1, 5 }, */ { 2, 4 }, { 1, 3 }, /* { 3, 1 } */ };
SkColor colors[] = { 0xbfff0000, 0xbf0000ff, 0xbfff00ff, 0xbf00ffff };
SkPoint texCoords[] = { { -30, -30 }, { 162, -30}, { 162, 162}, { -30, 162} };
- paint.setShader(source.makeShader());
+ paint.setShader(source.makeShader(SkSamplingOptions(SkFilterMode::kLinear,
+ SkMipmapMode::kNone)));
canvas->scale(15, 15);
for (auto blend : { SkBlendMode::kSrcOver, SkBlendMode::kModulate, SkBlendMode::kXor } ) {
canvas->drawPatch(cubics, colors, texCoords, blend, paint);
diff --git a/docs/examples/Canvas_drawPatch_2_b.cpp b/docs/examples/Canvas_drawPatch_2_b.cpp
index 6909f17..e06a713 100644
--- a/docs/examples/Canvas_drawPatch_2_b.cpp
+++ b/docs/examples/Canvas_drawPatch_2_b.cpp
@@ -6,14 +6,14 @@
void draw(SkCanvas* canvas) {
// SkBitmap source = checkerboard;
SkPaint paint;
- paint.setFilterQuality(kLow_SkFilterQuality);
paint.setAntiAlias(true);
SkPoint cubics[] = { { 3, 1 }, { 4, 2 }, { 5, 1 }, { 7, 3 },
/* { 7, 3 }, */ { 6, 4 }, { 7, 5 }, { 5, 7 },
/* { 5, 7 }, */ { 4, 6 }, { 3, 7 }, { 1, 5 },
/* { 1, 5 }, */ { 2, 4 }, { 1, 3 }, /* { 3, 1 } */ };
SkPoint texCoords[] = { { 0, 0 }, { 0, 62}, { 62, 62}, { 62, 0 } };
- paint.setShader(source.makeShader());
+ paint.setShader(source.makeShader(SkSamplingOptions(SkFilterMode::kLinear,
+ SkMipmapMode::kNone)));
canvas->scale(30, 30);
canvas->drawPatch(cubics, nullptr, texCoords, paint);
}
diff --git a/docs/examples/Shader_Methods_b.cpp b/docs/examples/Shader_Methods_b.cpp
index 1b63493..7b51c8e 100644
--- a/docs/examples/Shader_Methods_b.cpp
+++ b/docs/examples/Shader_Methods_b.cpp
@@ -9,7 +9,8 @@
bitmap.setInfo(SkImageInfo::MakeA8(5, 1), 5); // bitmap only contains alpha
uint8_t pixels[5] = { 0x22, 0x55, 0x88, 0xBB, 0xFF };
bitmap.setPixels(pixels);
- paint.setShader(bitmap.makeShader(SkTileMode::kMirror, SkTileMode::kMirror));
+ paint.setShader(bitmap.makeShader(SkTileMode::kMirror, SkTileMode::kMirror,
+ SkSamplingOptions()));
for (SkColor c : { SK_ColorRED, SK_ColorBLUE, SK_ColorGREEN } ) {
paint.setColor(c); // all components in color affect shader
canvas->drawCircle(50, 50, 50, paint);