diff options
author | reed <reed@google.com> | 2015-12-16 08:27:10 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-16 08:27:10 -0800 |
commit | 32704674f64cb6a14356dfebe060cd3484c06cc7 (patch) | |
tree | 7a72757624ed59f421c931ce5c02e7644f4987d3 /gm/imagefilterscropped.cpp | |
parent | 4657ce2324ea197507c4ba728d81138f56da13b1 (diff) |
Revert of remove drawSprite from canvas (patchset #4 id:60001 of https://codereview.chromium.org/1534443003/ )
Reason for revert:
need to remove an override in chrome
Original issue's description:
> remove drawSprite from canvas
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4657ce2324ea197507c4ba728d81138f56da13b1
TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1529803004
Diffstat (limited to 'gm/imagefilterscropped.cpp')
-rw-r--r-- | gm/imagefilterscropped.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/gm/imagefilterscropped.cpp b/gm/imagefilterscropped.cpp index 4c6ef62356..745e8984db 100644 --- a/gm/imagefilterscropped.cpp +++ b/gm/imagefilterscropped.cpp @@ -65,6 +65,29 @@ static void draw_bitmap(SkCanvas* canvas, const SkRect& r, SkImageFilter* imf) { canvas->drawBitmap(bm, 0, 0, &paint); } +static void draw_sprite(SkCanvas* canvas, const SkRect& r, SkImageFilter* imf) { + SkPaint paint; + + SkIRect bounds; + r.roundOut(&bounds); + + SkBitmap bm; + bm.allocN32Pixels(bounds.width(), bounds.height()); + bm.eraseColor(SK_ColorRED); + SkCanvas c(bm); + + SkIRect cropRect = SkIRect::MakeXYWH(10, 10, 44, 44); + paint.setColor(SK_ColorGREEN); + c.drawRect(SkRect::Make(cropRect), paint); + + paint.setImageFilter(imf); + SkPoint loc = { r.fLeft, r.fTop }; + canvas->getTotalMatrix().mapPoints(&loc, 1); + canvas->drawSprite(bm, + SkScalarRoundToInt(loc.fX), SkScalarRoundToInt(loc.fY), + &paint); +} + /////////////////////////////////////////////////////////////////////////////// class ImageFiltersCroppedGM : public skiagm::GM { @@ -112,7 +135,7 @@ protected: virtual void onDraw(SkCanvas* canvas) override { void (*drawProc[])(SkCanvas*, const SkRect&, SkImageFilter*) = { - draw_bitmap, draw_path, draw_paint, draw_text + draw_sprite, draw_bitmap, draw_path, draw_paint, draw_text }; SkAutoTUnref<SkColorFilter> cf( |