| Index: gm/imagesource.cpp
|
| diff --git a/gm/bitmapsource.cpp b/gm/imagesource.cpp
|
| similarity index 54%
|
| copy from gm/bitmapsource.cpp
|
| copy to gm/imagesource.cpp
|
| index 155785b200b482bae46889beb230b25395a7628e..f4574d267c6f7b5a18f63aa9ed7b9878e54fd60b 100644
|
| --- a/gm/bitmapsource.cpp
|
| +++ b/gm/imagesource.cpp
|
| @@ -7,24 +7,25 @@
|
|
|
| #include "gm.h"
|
|
|
| -#include "SkBitmapSource.h"
|
| +#include "SkImage.h"
|
| +#include "SkImageSource.h"
|
|
|
| -// This GM exercises the SkBitmapSource ImageFilter class.
|
| +// This GM exercises the SkImageSource ImageFilter class.
|
|
|
| -class BitmapSourceGM : public skiagm::GM {
|
| +class ImageSourceGM : public skiagm::GM {
|
| public:
|
| - BitmapSourceGM() {
|
| - }
|
| + ImageSourceGM() { }
|
|
|
| protected:
|
| SkString onShortName() override {
|
| - return SkString("bitmapsource");
|
| + return SkString("imagesource");
|
| }
|
|
|
| SkISize onISize() override { return SkISize::Make(500, 150); }
|
|
|
| void onOnceBeforeDraw() override {
|
| - fBitmap = sk_tool_utils::create_string_bitmap(100, 100, 0xFFFFFFFF, 20, 70, 96, "e");
|
| + SkBitmap bm = sk_tool_utils::create_string_bitmap(100, 100, 0xFFFFFFFF, 20, 70, 96, "e");
|
| + fImage.reset(SkImage::NewFromBitmap(bm));
|
| }
|
|
|
| static void FillRectFiltered(SkCanvas* canvas, const SkRect& clipRect, SkImageFilter* filter) {
|
| @@ -42,36 +43,38 @@ protected:
|
| SkRect srcRect = SkRect::MakeXYWH(20, 20, 30, 30);
|
| SkRect dstRect = SkRect::MakeXYWH(0, 10, 60, 60);
|
| SkRect clipRect = SkRect::MakeXYWH(0, 0, 100, 100);
|
| - SkRect bounds;
|
| - fBitmap.getBounds(&bounds);
|
| - SkAutoTUnref<SkImageFilter> bitmapSource(SkBitmapSource::Create(fBitmap));
|
| - SkAutoTUnref<SkImageFilter> bitmapSourceSrcRect(SkBitmapSource::Create(fBitmap, srcRect, srcRect));
|
| - SkAutoTUnref<SkImageFilter> bitmapSourceSrcRectDstRect(SkBitmapSource::Create(fBitmap, srcRect, dstRect));
|
| - SkAutoTUnref<SkImageFilter> bitmapSourceDstRectOnly(SkBitmapSource::Create(fBitmap, bounds, dstRect));
|
| + SkRect bounds = SkRect::MakeIWH(fImage->width(), fImage->height());
|
| + SkAutoTUnref<SkImageFilter> imageSource(SkImageSource::Create(fImage));
|
| + SkAutoTUnref<SkImageFilter> imageSourceSrcRect(
|
| + SkImageSource::Create(fImage, srcRect, srcRect, kHigh_SkFilterQuality));
|
| + SkAutoTUnref<SkImageFilter> imageSourceSrcRectDstRect(
|
| + SkImageSource::Create(fImage, srcRect, dstRect, kHigh_SkFilterQuality));
|
| + SkAutoTUnref<SkImageFilter> imageSourceDstRectOnly(
|
| + SkImageSource::Create(fImage, bounds, dstRect, kHigh_SkFilterQuality));
|
|
|
| // Draw an unscaled bitmap.
|
| - FillRectFiltered(canvas, clipRect, bitmapSource);
|
| + FillRectFiltered(canvas, clipRect, imageSource);
|
| canvas->translate(SkIntToScalar(100), 0);
|
|
|
| // Draw an unscaled subset of the source bitmap (srcRect -> srcRect).
|
| - FillRectFiltered(canvas, clipRect, bitmapSourceSrcRect);
|
| + FillRectFiltered(canvas, clipRect, imageSourceSrcRect);
|
| canvas->translate(SkIntToScalar(100), 0);
|
|
|
| // Draw a subset of the bitmap scaled to a destination rect (srcRect -> dstRect).
|
| - FillRectFiltered(canvas, clipRect, bitmapSourceSrcRectDstRect);
|
| + FillRectFiltered(canvas, clipRect, imageSourceSrcRectDstRect);
|
| canvas->translate(SkIntToScalar(100), 0);
|
|
|
| // Draw the entire bitmap scaled to a destination rect (bounds -> dstRect).
|
| - FillRectFiltered(canvas, clipRect, bitmapSourceDstRectOnly);
|
| + FillRectFiltered(canvas, clipRect, imageSourceDstRectOnly);
|
| canvas->translate(SkIntToScalar(100), 0);
|
| }
|
| }
|
|
|
| private:
|
| - SkBitmap fBitmap;
|
| + SkAutoTUnref<SkImage> fImage;
|
| typedef GM INHERITED;
|
| };
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| -DEF_GM( return new BitmapSourceGM; )
|
| +DEF_GM( return new ImageSourceGM; )
|
|
|