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;
}
Example #2
0
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;
}