From 1eea9fcb2443192e9034eb520aff0564b0950364 Mon Sep 17 00:00:00 2001 From: mtklein Date: Fri, 23 Jan 2015 16:09:32 -0800 Subject: Revert of Fix Morphology effects sourcing outside of the crop rect. (patchset #6 id:100001 of https://codereview.chromium.org/781153002/) Reason for revert: Looks like this is causing memory leaks: http://build.chromium.org/p/client.skia/builders/Test-Ubuntu13.10-GCE-NoGPU-x86_64-Debug-ASAN/builds/1155/steps/dm/logs/stdio And causing crashes on Mac 10.6: http://build.chromium.org/p/client.skia/builders/Test-Mac10.6-MacMini4.1-GeForce320M-x86_64-Debug/builds/1417/steps/dm/logs/stdio Original issue's description: > Fix Morphology effects sourcing outside of the crop rect. > > BUG=skia:1766 > > Committed: https://skia.googlesource.com/skia/+/f6be925b5615f07039ce95c3433039694a8d1679 TBR=junov@google.com,junov@chromium.org,bsalomon@google.com,reed@google.com,cwallez@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:1766 Review URL: https://codereview.chromium.org/868973005 --- gm/imagefilterscropped.cpp | 37 ++----------------------------------- 1 file changed, 2 insertions(+), 35 deletions(-) (limited to 'gm/imagefilterscropped.cpp') diff --git a/gm/imagefilterscropped.cpp b/gm/imagefilterscropped.cpp index 58edcac034..49b0a97f97 100644 --- a/gm/imagefilterscropped.cpp +++ b/gm/imagefilterscropped.cpp @@ -12,9 +12,7 @@ #include "SkShader.h" #include "SkBlurImageFilter.h" -#include "SkMorphologyImageFilter.h" #include "SkColorFilterImageFilter.h" -#include "SkBitmapSource.h" #include "SkMergeImageFilter.h" #include "SkOffsetImageFilter.h" #include "SkTestImageFilters.h" @@ -100,28 +98,7 @@ protected: return SkString("imagefilterscropped"); } - virtual SkISize onISize() { return SkISize::Make(400, 880); } - - void make_checkerboard() { - fCheckerboard.allocN32Pixels(80, 80); - SkCanvas canvas(fCheckerboard); - canvas.clear(SK_ColorTRANSPARENT); - SkPaint darkPaint; - darkPaint.setColor(0xFF404040); - SkPaint lightPaint; - lightPaint.setColor(0xFFA0A0A0); - for (int y = 0; y < 80; y += 16) { - for (int x = 0; x < 80; x += 16) { - canvas.save(); - canvas.translate(SkIntToScalar(x), SkIntToScalar(y)); - canvas.drawRect(SkRect::MakeXYWH(0, 0, 8, 8), darkPaint); - canvas.drawRect(SkRect::MakeXYWH(8, 0, 8, 8), lightPaint); - canvas.drawRect(SkRect::MakeXYWH(0, 8, 8, 8), lightPaint); - canvas.drawRect(SkRect::MakeXYWH(8, 8, 8, 8), darkPaint); - canvas.restore(); - } - } - } + virtual SkISize onISize() { return SkISize::Make(400, 640); } void draw_frame(SkCanvas* canvas, const SkRect& r) { SkPaint paint; @@ -130,10 +107,6 @@ protected: canvas->drawRect(r, paint); } - virtual void onOnceBeforeDraw() SK_OVERRIDE{ - make_checkerboard(); - } - virtual void onDraw(SkCanvas* canvas) { void (*drawProc[])(SkCanvas*, const SkRect&, SkImageFilter*) = { draw_sprite, draw_bitmap, draw_path, draw_paint, draw_text @@ -148,6 +121,7 @@ protected: SkIntToScalar(-10), SkIntToScalar(-10))); SkAutoTUnref cfOffset(SkColorFilterImageFilter::Create(cf.get(), offset.get())); + SkImageFilter* filters[] = { NULL, SkColorFilterImageFilter::Create(cf.get(), NULL, &cropRect), @@ -155,10 +129,6 @@ protected: SkBlurImageFilter::Create(8.0f, 0.0f, NULL, &cropRect), SkBlurImageFilter::Create(0.0f, 8.0f, NULL, &cropRect), SkBlurImageFilter::Create(8.0f, 8.0f, NULL, &cropRect), - SkErodeImageFilter::Create(1, 1, NULL, &cropRect), - SkErodeImageFilter::Create(8, 0, SkErodeImageFilter::Create(0, 8, NULL, &cropRect), &cropRect), - SkErodeImageFilter::Create(0, 8, SkErodeImageFilter::Create(8, 0, NULL, &cropRect), &cropRect), - SkErodeImageFilter::Create(8, 8, NULL, &cropRect), SkMergeImageFilter::Create(NULL, cfOffset.get(), SkXfermode::kSrcOver_Mode, &cropRect), SkBlurImageFilter::Create(8.0f, 8.0f, NULL, &bogusRect), SkColorFilterImageFilter::Create(cf.get(), NULL, &bogusRect), @@ -173,8 +143,6 @@ protected: for (size_t j = 0; j < SK_ARRAY_COUNT(drawProc); ++j) { canvas->save(); for (size_t i = 0; i < SK_ARRAY_COUNT(filters); ++i) { - SkPaint paint; - canvas->drawBitmap(fCheckerboard, 0, 0); drawProc[j](canvas, r, filters[i]); canvas->translate(0, DY); } @@ -188,7 +156,6 @@ protected: } private: - SkBitmap fCheckerboard; typedef GM INHERITED; }; -- cgit v1.2.3