Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(718)

Unified Diff: tests/CachedDecodingPixelRefTest.cpp

Issue 68973005: Expand pixelref to return SkImageInfo and rowbytes (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: new convention: require SkImageInfo in constructor Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/CachedDecodingPixelRefTest.cpp
diff --git a/tests/CachedDecodingPixelRefTest.cpp b/tests/CachedDecodingPixelRefTest.cpp
index 2d8a0e70737a66c376987caf9c2adb055026f054..6c8a0e93f7e5c30932cddde12d749f4f65c06e13 100644
--- a/tests/CachedDecodingPixelRefTest.cpp
+++ b/tests/CachedDecodingPixelRefTest.cpp
@@ -66,7 +66,7 @@ static bool simple_bitmap_factory(SkBitmapFactory::DecodeProc proc,
dst->setConfig(SkImageInfoToBitmapConfig(info), info.fWidth,
info.fHeight, 0, info.fAlphaType);
SkAutoTUnref<SkLazyPixelRef> ref(SkNEW_ARGS(SkLazyPixelRef,
- (data, proc, NULL)));
+ (info, data, proc, NULL)));
dst->setPixelRef(ref);
return true;
}
@@ -205,8 +205,18 @@ DEF_TEST(LazyCachedPixelRef, reporter) {
}
class TestPixelRef : public SkCachingPixelRef {
+ static SkImageInfo cons_up_info() {
+ SkImageInfo info;
+ info.fWidth = 10;
+ info.fHeight = 10;
+ info.fColorType = kRGBA_8888_SkColorType;
+ info.fAlphaType = kOpaque_SkAlphaType;
+ return info;
+ }
public:
- TestPixelRef(int x) : fX(x) { }
+ TestPixelRef(int x)
+ : INHERITED(cons_up_info())
+ , fX(x) { }
virtual ~TestPixelRef() { }
static bool Install(SkBitmap* destination, int x) {
SkAutoTUnref<TestPixelRef> ref(SkNEW_ARGS(TestPixelRef, (x)));
@@ -214,21 +224,9 @@ public:
}
SK_DECLARE_UNFLATTENABLE_OBJECT()
protected:
- virtual bool onDecodeInfo(SkImageInfo* info) SK_OVERRIDE {
- if (fX == 0) {
- return false;
- }
- SkASSERT(info);
- info->fWidth = 10;
- info->fHeight = 10;
- info->fColorType = kRGBA_8888_SkColorType;
- info->fAlphaType = kOpaque_SkAlphaType;
- return true;
- }
- virtual bool onDecodePixels(const SkImageInfo& info,
- void* pixels,
+ virtual bool onDecodePixels(void* pixels,
size_t rowBytes) SK_OVERRIDE {
- return false;
+ return fX != 0;
}
private:
int fX; // controls where the failure happens
@@ -237,13 +235,20 @@ private:
DEF_TEST(CachingPixelRef, reporter) {
SkBitmap lazy;
- // test the error handling
- REPORTER_ASSERT(reporter, !TestPixelRef::Install(&lazy, 0));
- // onDecodeInfo should succeed, allowing installation
- REPORTER_ASSERT(reporter, TestPixelRef::Install(&lazy, 1));
- SkAutoLockPixels autoLockPixels(lazy); // now pixels are good.
- // onDecodePixels should fail, so getting pixels will fail.
- REPORTER_ASSERT(reporter, NULL == lazy.getPixels());
+
+ {
+ REPORTER_ASSERT(reporter, TestPixelRef::Install(&lazy, 1));
+ SkAutoLockPixels autoLockPixels(lazy); // now pixels are good.
+ // onDecodePixels should succeed.
+ REPORTER_ASSERT(reporter, NULL != lazy.getPixels());
+ }
+ {
+ // onDecodeInfo should succeed, allowing installation
+ REPORTER_ASSERT(reporter, TestPixelRef::Install(&lazy, 0));
+ SkAutoLockPixels autoLockPixels(lazy); // now pixels are bad.
+ // onDecodePixels should fail.
+ REPORTER_ASSERT(reporter, NULL == lazy.getPixels());
+ }
}
static void compare_with_SkDecodingImageGenerator(skiatest::Reporter* reporter,

Powered by Google App Engine
This is Rietveld 408576698