Index: gm/tileimagefilter.cpp |
diff --git a/gm/tileimagefilter.cpp b/gm/tileimagefilter.cpp |
index 093f12dd43ee1636f4f28561f073016cfbd506a6..10086c9c17ed734fd9abf113c9c15725b8d39eaa 100644 |
--- a/gm/tileimagefilter.cpp |
+++ b/gm/tileimagefilter.cpp |
@@ -6,9 +6,10 @@ |
*/ |
#include "sk_tool_utils.h" |
-#include "SkBitmapSource.h" |
#include "SkColorFilterImageFilter.h" |
#include "SkColorMatrixFilter.h" |
+#include "SkImage.h" |
+#include "SkImageSource.h" |
#include "SkTileImageFilter.h" |
#include "gm.h" |
@@ -34,13 +35,14 @@ protected: |
} |
void onOnceBeforeDraw() override { |
- fBitmap = sk_tool_utils::create_string_bitmap(50, 50, 0xD000D000, 10, 45, 50, "e"); |
- |
- fCheckerboard = sk_tool_utils::create_checkerboard_bitmap( |
- 80, 80, |
- sk_tool_utils::color_to_565(0xFFA0A0A0), |
- sk_tool_utils::color_to_565(0xFF404040), |
- 8); |
+ fBitmap.reset(SkImage::NewFromBitmap( |
+ sk_tool_utils::create_string_bitmap(50, 50, 0xD000D000, 10, 45, 50, "e"))); |
+ |
+ fCheckerboard.reset(SkImage::NewFromBitmap( |
+ sk_tool_utils::create_checkerboard_bitmap(80, 80, |
+ sk_tool_utils::color_to_565(0xFFA0A0A0), |
+ sk_tool_utils::color_to_565(0xFF404040), |
+ 8))); |
} |
void onDraw(SkCanvas* canvas) override { |
@@ -48,28 +50,28 @@ protected: |
int x = 0, y = 0; |
for (size_t i = 0; i < 4; i++) { |
- SkBitmap* bitmap = (i & 0x01) ? &fCheckerboard : &fBitmap; |
- SkRect srcRect = SkRect::MakeXYWH(SkIntToScalar(bitmap->width()/4), |
- SkIntToScalar(bitmap->height()/4), |
- SkIntToScalar(bitmap->width()/(i+1)), |
- SkIntToScalar(bitmap->height()/(i+1))); |
+ const SkImage* image = (i & 0x01) ? fCheckerboard : fBitmap; |
+ SkRect srcRect = SkRect::MakeXYWH(SkIntToScalar(image->width()/4), |
+ SkIntToScalar(image->height()/4), |
+ SkIntToScalar(image->width()/(i+1)), |
+ SkIntToScalar(image->height()/(i+1))); |
SkRect dstRect = SkRect::MakeXYWH(SkIntToScalar(i * 8), |
SkIntToScalar(i * 4), |
- SkIntToScalar(bitmap->width() - i * 12), |
- SkIntToScalar(bitmap->height()) - i * 12); |
- SkAutoTUnref<SkImageFilter> tileInput(SkBitmapSource::Create(*bitmap)); |
+ SkIntToScalar(image->width() - i * 12), |
+ SkIntToScalar(image->height()) - i * 12); |
+ SkAutoTUnref<SkImageFilter> tileInput(SkImageSource::Create(image)); |
SkAutoTUnref<SkImageFilter> filter( |
SkTileImageFilter::Create(srcRect, dstRect, tileInput)); |
canvas->save(); |
canvas->translate(SkIntToScalar(x), SkIntToScalar(y)); |
SkPaint paint; |
paint.setImageFilter(filter); |
- canvas->drawBitmap(fBitmap, 0, 0, &paint); |
+ canvas->drawImage(fBitmap, 0, 0, &paint); |
canvas->restore(); |
- x += bitmap->width() + MARGIN; |
- if (x + bitmap->width() > WIDTH) { |
+ x += image->width() + MARGIN; |
+ if (x + image->width() > WIDTH) { |
x = 0; |
- y += bitmap->height() + MARGIN; |
+ y += image->height() + MARGIN; |
} |
} |
@@ -78,10 +80,10 @@ protected: |
0, 0, SK_Scalar1, 0, 0, |
0, 0, 0, SK_Scalar1, 0 }; |
- SkRect srcRect = SkRect::MakeWH(SkIntToScalar(fBitmap.width()), |
- SkIntToScalar(fBitmap.height())); |
- SkRect dstRect = SkRect::MakeWH(SkIntToScalar(fBitmap.width() * 2), |
- SkIntToScalar(fBitmap.height() * 2)); |
+ SkRect srcRect = SkRect::MakeWH(SkIntToScalar(fBitmap->width()), |
+ SkIntToScalar(fBitmap->height())); |
+ SkRect dstRect = SkRect::MakeWH(SkIntToScalar(fBitmap->width() * 2), |
+ SkIntToScalar(fBitmap->height() * 2)); |
SkAutoTUnref<SkImageFilter> tile(SkTileImageFilter::Create(srcRect, dstRect, nullptr)); |
SkAutoTUnref<SkColorFilter> cf(SkColorMatrixFilter::Create(matrix)); |
@@ -92,13 +94,12 @@ protected: |
canvas->translate(SkIntToScalar(x), SkIntToScalar(y)); |
canvas->clipRect(dstRect); |
canvas->saveLayer(&dstRect, &paint); |
- canvas->drawBitmap(fBitmap, 0, 0); |
+ canvas->drawImage(fBitmap, 0, 0); |
canvas->restore(); |
canvas->restore(); |
} |
private: |
- SkBitmap fBitmap; |
- SkBitmap fCheckerboard; |
+ SkAutoTUnref<SkImage> fBitmap, fCheckerboard; |
typedef GM INHERITED; |
}; |