diff options
author | robertphillips <robertphillips@google.com> | 2015-06-04 11:15:27 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-04 11:15:27 -0700 |
commit | 270fe6aad558cf60f182b440cd0c452340f96428 (patch) | |
tree | 38623c5289edb2dec186dde4cff40f53ab54be0b /gm/bigtileimagefilter.cpp | |
parent | 99a69eb152840c56e54244c3953f901be1d7d7bc (diff) |
Revert of Fix dst bound reported by SkTileImageFilter (patchset #3 id:40001 of https://codereview.chromium.org/1152553006/)
Reason for revert:
Blink
Original issue's description:
> Fix dst bound reported by SkTileImageFilter
>
> In the example from the bug we had the filter DAG:
>
> color filter (table)
> 0: xfermode filter (arith)
> 0: tile filter [0,80,34,114] -> [0,80,800,480]
> 0: color filter (table)
> 0: bitmap src 34x34 -> [0,80,34,114]
> 1: color filter (table)
> 0: picture filter [0, 80, 800, 480]
>
> computeFastBounds was coming out of the DAG with a bound of [0,80,34,114] which didn't represent the pixels that would be drawn.
>
> This CL updates SkTileImageFilter to correctly set the bound for the pixels it will hit.
>
> BUG=493783
>
> Committed: https://skia.googlesource.com/skia/+/05be93bbdf09576f7903130e3b106b0a8c7c4b4e
>
> Committed: https://skia.googlesource.com/skia/+/0be685755f942baea26c66a87226b569fc17e960
TBR=reed@google.com,senorblanco@google.com,senorblanco@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=493783
Review URL: https://codereview.chromium.org/1156583004
Diffstat (limited to 'gm/bigtileimagefilter.cpp')
-rw-r--r-- | gm/bigtileimagefilter.cpp | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/gm/bigtileimagefilter.cpp b/gm/bigtileimagefilter.cpp deleted file mode 100644 index 97de0d2042..0000000000 --- a/gm/bigtileimagefilter.cpp +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2015 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "SkBitmapSource.h" -#include "SkTileImageFilter.h" -#include "gm.h" - -namespace skiagm { - -class BigTileImageFilterGM : public GM { -public: - BigTileImageFilterGM() { - this->setBGColor(0xFF000000); - } - -protected: - - SkString onShortName() override { - return SkString("bigtileimagefilter"); - } - - SkISize onISize() override{ - return SkISize::Make(kWidth, kHeight); - } - - void onOnceBeforeDraw() override { - fBitmap.allocN32Pixels(kBitmapSize, kBitmapSize); - - SkCanvas canvas(fBitmap); - canvas.clear(0xFF000000); - - SkPaint paint; - paint.setColor(SK_ColorRED); - paint.setStrokeWidth(3); - paint.setStyle(SkPaint::kStroke_Style); - - canvas.drawCircle(SkScalarHalf(kBitmapSize), SkScalarHalf(kBitmapSize), - SkScalarHalf(kBitmapSize), paint); - } - - void onDraw(SkCanvas* canvas) override { - canvas->clear(SK_ColorBLACK); - - SkPaint p; - - SkAutoTUnref<SkBitmapSource> bms(SkBitmapSource::Create(fBitmap)); - SkAutoTUnref<SkTileImageFilter> tif(SkTileImageFilter::Create( - SkRect::MakeWH(SkIntToScalar(kBitmapSize), SkIntToScalar(kBitmapSize)), - SkRect::MakeWH(SkIntToScalar(kWidth), SkIntToScalar(kHeight)), - bms)); - p.setImageFilter(tif); - - SkRect bound = SkRect::MakeWH(SkIntToScalar(kWidth), SkIntToScalar(kHeight)); - canvas->saveLayer(&bound, &p); - canvas->restore(); - } - -private: - static const int kWidth = 512; - static const int kHeight = 512; - static const int kBitmapSize = 64; - - SkBitmap fBitmap; - - typedef GM INHERITED; -}; - -////////////////////////////////////////////////////////////////////////////// - -DEF_GM( return SkNEW(BigTileImageFilterGM); ) - -} |