aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode
diff options
context:
space:
mode:
authorGravatar Ben Wagner <bungeman@google.com>2017-11-10 16:24:50 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-14 17:38:34 +0000
commit339b84e78cc5d2ba17b36ba0efb2bdf5efa0c393 (patch)
treea93a474f0cb3f5e55b384c147bf4a8a83e23d454 /samplecode
parent58822d6994d33a823a29a4c6fa251ad1ce7267d6 (diff)
Alloc glyph image correctly for SkMask::k3D_Format.
Re-enable the code to test the emboss mask filter, updating it to use the new emboss mask filter factory. Add a test to ensure that embossed text is drawn correctly, as before glyphs did not allocate the proper amount of memory for the k3D_Format which the emboss mask filter produces. Fixes SkEmbossMask::Emboss to write the whole of the mul and add planes to avoid pixel differences and MemorySanitizer errors. Update the GPU to understand the k3D_Format and use just the alpha plane, ignoring the mul and add plane which it currently cannot support. Change-Id: I90edf34a918c06b0c6b24bfc43ce7031419eca41 Reviewed-on: https://skia-review.googlesource.com/70260 Reviewed-on: https://skia-review.googlesource.com/70962 Reviewed-on: https://skia-review.googlesource.com/71282 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
Diffstat (limited to 'samplecode')
-rw-r--r--samplecode/SampleAll.cpp9
-rw-r--r--samplecode/SampleEffects.cpp9
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) {