static void test_encode(skiatest::Reporter* reporter, SkImage* image) { const SkIRect ir = SkIRect::MakeXYWH(5, 5, 10, 10); SkAutoTUnref<SkData> origEncoded(image->encode()); REPORTER_ASSERT(reporter, origEncoded); REPORTER_ASSERT(reporter, origEncoded->size() > 0); SkAutoTUnref<SkImage> decoded(SkImage::NewFromEncoded(origEncoded)); REPORTER_ASSERT(reporter, decoded); assert_equal(reporter, image, nullptr, decoded); // Now see if we can instantiate an image from a subset of the surface/origEncoded decoded.reset(SkImage::NewFromEncoded(origEncoded, &ir)); REPORTER_ASSERT(reporter, decoded); assert_equal(reporter, image, &ir, decoded); }
static void test_encode(skiatest::Reporter* reporter, GrContext* ctx) { const SkIRect ir = SkIRect::MakeXYWH(5, 5, 10, 10); SkAutoTUnref<SkImage> orig(make_image(ctx, 20, 20, ir)); SkAutoTUnref<SkData> origEncoded(orig->encode()); REPORTER_ASSERT(reporter, origEncoded); REPORTER_ASSERT(reporter, origEncoded->size() > 0); SkAutoTUnref<SkImage> decoded(SkImage::NewFromEncoded(origEncoded)); REPORTER_ASSERT(reporter, decoded); assert_equal(reporter, orig, NULL, decoded); // Now see if we can instantiate an image from a subset of the surface/origEncoded decoded.reset(SkImage::NewFromEncoded(origEncoded, &ir)); REPORTER_ASSERT(reporter, decoded); assert_equal(reporter, orig, &ir, decoded); }