void onDraw(const int loops, SkCanvas* canvas) override { SkRect r = getFilterRect(); SkPaint paint; paint.setColor(SK_ColorRED); for (int i = 0; i < loops; i++) { for (float brightness = -1.0f; brightness <= 1.0f; brightness += 0.4f) { SkAutoTUnref<SkImageFilter> dim(make_brightness(-brightness)); SkAutoTUnref<SkImageFilter> bright(make_brightness(brightness, dim)); paint.setImageFilter(bright); canvas->drawRect(r, paint); } } }
void onDraw(const int loops, SkCanvas* canvas) override { SkRect r = getFilterRect(); SkPaint paint; paint.setColor(SK_ColorRED); for (int i = 0; i < loops; i++) { SkAutoTUnref<SkImageFilter> brightness(make_brightness(1.0f)); paint.setImageFilter(brightness); canvas->drawRect(r, paint); } }
virtual void onDraw(SkCanvas* canvas) { SkRect r = SkRect::MakeWH(FILTER_WIDTH, FILTER_HEIGHT); SkPaint paint; paint.setColor(SK_ColorRED); canvas->save(); for (float brightness = -1.0f; brightness <= 1.0f; brightness += 0.2f) { SkAutoTUnref<SkImageFilter> dim(make_brightness(-brightness)); SkAutoTUnref<SkImageFilter> bright(make_brightness(brightness, dim)); paint.setImageFilter(bright); drawClippedRect(canvas, r, paint); canvas->translate(FILTER_WIDTH + MARGIN, 0); } canvas->restore(); canvas->translate(0, FILTER_HEIGHT + MARGIN); { SkAutoTUnref<SkImageFilter> brightness(make_brightness(0.9f)); SkAutoTUnref<SkImageFilter> grayscale(make_grayscale(brightness)); paint.setImageFilter(grayscale); drawClippedRect(canvas, r, paint); canvas->translate(FILTER_WIDTH + MARGIN, 0); } { SkAutoTUnref<SkImageFilter> grayscale(make_grayscale()); SkAutoTUnref<SkImageFilter> brightness(make_brightness(0.9f, grayscale)); paint.setImageFilter(brightness); drawClippedRect(canvas, r, paint); canvas->translate(FILTER_WIDTH + MARGIN, 0); } { SkAutoTUnref<SkImageFilter> blue(make_mode_blue()); SkAutoTUnref<SkImageFilter> brightness(make_brightness(1.0f, blue)); paint.setImageFilter(brightness); drawClippedRect(canvas, r, paint); canvas->translate(FILTER_WIDTH + MARGIN, 0); } { SkAutoTUnref<SkImageFilter> brightness(make_brightness(1.0f)); SkAutoTUnref<SkImageFilter> blue(make_mode_blue(brightness)); paint.setImageFilter(blue); drawClippedRect(canvas, r, paint); canvas->translate(FILTER_WIDTH + MARGIN, 0); } { SkAutoTUnref<SkImageFilter> blur(make_blur(3.0f)); SkAutoTUnref<SkImageFilter> brightness(make_brightness(0.5f, blur)); paint.setImageFilter(brightness); drawClippedRect(canvas, r, paint, 3); canvas->translate(FILTER_WIDTH + MARGIN, 0); } { SkAutoTUnref<SkImageFilter> blue(make_mode_blue()); paint.setImageFilter(blue.get()); drawClippedRect(canvas, r, paint, 5); canvas->translate(FILTER_WIDTH + MARGIN, 0); } }