static SkMaskFilter* make_mask_filter() { SkMaskFilter* maskFilter; switch (R(3)) { case 0: maskFilter = SkBlurMaskFilter::Create(make_blur_style(), make_scalar(), make_blur_mask_filter_flag()); case 1: { SkEmbossMaskFilter::Light light; for (int i = 0; i < 3; ++i) { light.fDirection[i] = make_scalar(); } light.fPad = R(65536); light.fAmbient = R(256); light.fSpecular = R(256); maskFilter = SkEmbossMaskFilter::Create(make_scalar(), light); } case 2: default: maskFilter = nullptr; break; } return maskFilter; }
static sk_sp<SkMaskFilter> make_mask_filter() { sk_sp<SkMaskFilter> maskFilter; uint8_t s; fuzz->nextRange(&s, 0, 2); switch (s) { case 0: { SkBlurStyle blur = make_blur_style(); SkScalar a = make_number(false); SkBlurMaskFilter::BlurFlags flags = make_blur_mask_filter_flag(); maskFilter = SkBlurMaskFilter::Make(blur, a, flags); break; } case 1: { SkScalar a = make_number(false); SkEmbossMaskFilter::Light light; fuzz->nextN(light.fDirection, 3); fuzz->nextRange(&light.fPad, 0, 65535); fuzz->nextRange(&light.fAmbient, 0, 255); fuzz->nextRange(&light.fSpecular, 0, 255); maskFilter = SkEmbossMaskFilter::Make(a, light); break; } case 2: default: break; } return maskFilter; }