diff options
author | Ben Wagner <bungeman@google.com> | 2017-11-10 16:24:50 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-11-13 20:26:21 +0000 |
commit | 6b26deb8d6067589ce9b7853ab8e8d39de1a45de (patch) | |
tree | 831d213954cf73c939850b9650f186c18e459dce /samplecode | |
parent | 0030c5ed3ca61b195bc58cfb70a16c57319c6e41 (diff) |
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>
Diffstat (limited to 'samplecode')
-rw-r--r-- | samplecode/SampleAll.cpp | 9 | ||||
-rw-r--r-- | samplecode/SampleEffects.cpp | 9 |
2 files changed, 7 insertions, 11 deletions
diff --git a/samplecode/SampleAll.cpp b/samplecode/SampleAll.cpp index e1b85934b1..ea7d508979 100644 --- a/samplecode/SampleAll.cpp +++ b/samplecode/SampleAll.cpp @@ -208,13 +208,10 @@ static void apply_shader(SkPaint* paint, int index) { paint->setRasterizer(rastBuilder.detach()); } -#ifdef SK_SUPPORT_LEGACY_EMBOSSMASKFILTER - SkScalar dir[] = { SK_Scalar1, SK_Scalar1, SK_Scalar1 }; - paint->setMaskFilter(SkBlurMaskFilter::MakeEmboss( - SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(3)), dir, - SK_Scalar1/4, SkIntToScalar(4))); + paint->setMaskFilter(SkEmbossMaskFilter::Make( + SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(3)), + { { SK_Scalar1, SK_Scalar1, SK_Scalar1 }, 0, 128, 16*2 })); paint->setColor(SK_ColorBLUE); -#endif } class DemoView : public SampleView { diff --git a/samplecode/SampleEffects.cpp b/samplecode/SampleEffects.cpp index 8c6793eb67..49654983da 100644 --- a/samplecode/SampleEffects.cpp +++ b/samplecode/SampleEffects.cpp @@ -10,6 +10,7 @@ #include "SkCanvas.h" #include "SkColorMatrixFilter.h" #include "SkDiscretePathEffect.h" +#include "SkEmbossMaskFilter.h" #include "SkGradientShader.h" #include "SkPaint.h" #include "SkView.h" @@ -28,11 +29,9 @@ static void paint_proc1(SkPaint* paint) { } static void paint_proc2(SkPaint* paint) { -#ifdef SK_SUPPORT_LEGACY_EMBOSSMASKFILTER - SkScalar dir[3] = { 1, 1, 1}; - paint->setMaskFilter( - SkBlurMaskFilter::MakeEmboss(SkBlurMask::ConvertRadiusToSigma(1), dir, 0.1f, 0.05f)); -#endif + paint->setMaskFilter(SkEmbossMaskFilter::Make( + SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(1)), + { { SK_Scalar1, SK_Scalar1, SK_Scalar1 }, 0, 64, 16 })); } static void paint_proc3(SkPaint* paint) { |