aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/emboss.cpp
diff options
context:
space:
mode:
authorGravatar Ben Wagner <bungeman@google.com>2017-11-13 20:41:14 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-13 20:43:06 +0000
commit3ae1a307f61ea15cfd0fafded64a4405deba0dba (patch)
tree6d3301566c471259f53ca69c4e7dbd44168338ab /gm/emboss.cpp
parent5254ccc1815e1b1bfa066a1ce193ddfdfcf16a55 (diff)
Revert "Alloc glyph image correctly for SkMask::k3D_Format."
This reverts commit 6b26deb8d6067589ce9b7853ab8e8d39de1a45de. Reason for revert: GPU bots failing Original change's description: > Alloc glyph image correctly for SkMask::k3D_Format. > > This removes the no longer used outside Skia > SK_SUPPORT_LEGACY_EMBOSSMASKFILTER define, and either deletes the code > it guards or updates it to use the new emboss mask filter factory. This > re-enables the code to test the emboss mask filter. Also added is a test > to ensure that embossed text is drawn correctly, as before this glyphs > did not allocate the proper amount of memory for the k3D_Format which > this mask filter produces. This also fixes SkEmbossMask::Emboss to write > the whole of the mul and add planes to avoid pixel differences and > MemorySanitizer errors. > > Change-Id: Ib492c72a19d6a27d140e3cd48179a3ca9ce313f5 > Reviewed-on: https://skia-review.googlesource.com/70260 > Commit-Queue: Ben Wagner <bungeman@google.com> > Reviewed-by: Herb Derby <herb@google.com> TBR=djsollen@google.com,bungeman@google.com,herb@google.com,reed@google.com Change-Id: I8a9db6c00e0cb84bdd4833474a9ffffa6ecc606c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/70920 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
Diffstat (limited to 'gm/emboss.cpp')
-rw-r--r--gm/emboss.cpp32
1 files changed, 7 insertions, 25 deletions
diff --git a/gm/emboss.cpp b/gm/emboss.cpp
index a8483d0882..c14c9d9278 100644
--- a/gm/emboss.cpp
+++ b/gm/emboss.cpp
@@ -6,11 +6,11 @@
*/
#include "gm.h"
-#include "SkBlurMask.h"
+#include "SkBlurMaskFilter.h"
#include "SkCanvas.h"
#include "SkColorFilter.h"
-#include "SkEmbossMaskFilter.h"
+#ifdef SK_SUPPORT_LEGACY_EMBOSSMASKFILTER
static SkBitmap make_bm() {
SkBitmap bm;
bm.allocN32Pixels(100, 100);
@@ -41,36 +41,17 @@ protected:
SkPaint paint;
SkBitmap bm = make_bm();
canvas->drawBitmap(bm, 10, 10, &paint);
- canvas->translate(bm.width() + SkIntToScalar(10), 0);
- paint.setMaskFilter(SkEmbossMaskFilter::Make(
- SkBlurMask::ConvertRadiusToSigma(3),
- { { SK_Scalar1, SK_Scalar1, SK_Scalar1 }, 0, 128, 16*2 }));
- canvas->drawBitmap(bm, 10, 10, &paint);
+ const SkScalar dir[] = { 1, 1, 1 };
+ paint.setMaskFilter(SkBlurMaskFilter::MakeEmboss(3, dir, 0.3f, 0.1f));
canvas->translate(bm.width() + SkIntToScalar(10), 0);
+ canvas->drawBitmap(bm, 10, 10, &paint);
// this combination of emboss+colorfilter used to crash -- so we exercise it to
// confirm that we have a fix.
paint.setColorFilter(SkColorFilter::MakeModeFilter(0xFFFF0000, SkBlendMode::kSrcATop));
- canvas->drawBitmap(bm, 10, 10, &paint);
canvas->translate(bm.width() + SkIntToScalar(10), 0);
-
- paint.setAntiAlias(true);
- paint.setStyle(SkPaint::kStroke_Style);
- paint.setStrokeWidth(SkIntToScalar(10));
- paint.setMaskFilter(SkEmbossMaskFilter::Make(
- SkBlurMask::ConvertRadiusToSigma(4),
- { { SK_Scalar1, SK_Scalar1, SK_Scalar1 }, 0, 128, 16*2 }));
- paint.setColorFilter(nullptr);
- paint.setShader(SkShader::MakeColorShader(SK_ColorBLUE));
- paint.setDither(true);
- canvas->drawCircle(SkIntToScalar(50), SkIntToScalar(50),
- SkIntToScalar(30), paint);
- canvas->translate(SkIntToScalar(100), 0);
-
- paint.setStyle(SkPaint::kFill_Style);
- paint.setTextSize(50);
- canvas->drawText("Hello", 5, 0, 50, paint);
+ canvas->drawBitmap(bm, 10, 10, &paint);
}
private:
@@ -78,3 +59,4 @@ private:
};
DEF_GM(return new EmbossGM;)
+#endif