From 138ea97c1acaed4b968540220724dd5bf671e8db Mon Sep 17 00:00:00 2001 From: Brian Osman Date: Fri, 16 Dec 2016 11:55:18 -0500 Subject: Add color space to picture image as a creation parameter This gives a picture image a preferred "native" color space, which facilitates caching and other things. BUG=skia: Change-Id: I95988c14d17f96d7d870b3d1c3b723c36e2c170d Reviewed-on: https://skia-review.googlesource.com/6158 Reviewed-by: Mike Reed Reviewed-by: Florin Malita Commit-Queue: Brian Osman --- gm/pictureimagegenerator.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'gm/pictureimagegenerator.cpp') diff --git a/gm/pictureimagegenerator.cpp b/gm/pictureimagegenerator.cpp index ab4c808fd1..b247af2f7a 100644 --- a/gm/pictureimagegenerator.cpp +++ b/gm/pictureimagegenerator.cpp @@ -138,6 +138,7 @@ protected: { SkISize::Make(200, 100), -1, -1, 0.5f }, }; + auto srgbColorSpace = SkColorSpace::MakeNamed(SkColorSpace::kSRGB_Named); const unsigned kDrawsPerRow = 4; const SkScalar kDrawSize = 250; @@ -154,10 +155,14 @@ protected: } std::unique_ptr gen( SkImageGenerator::NewFromPicture(configs[i].size, fPicture.get(), &m, - p.getAlpha() != 255 ? &p : nullptr)); + p.getAlpha() != 255 ? &p : nullptr, + srgbColorSpace)); + + SkImageInfo bmInfo = gen->getInfo().makeColorSpace( + sk_ref_sp(canvas->imageInfo().colorSpace())); + SkBitmap bm; - SkAssertResult(gen->tryGenerateBitmap(&bm, SkImageInfo::MakeN32Premul(configs[i].size), - nullptr)); + SkAssertResult(gen->tryGenerateBitmap(&bm, bmInfo, nullptr)); const SkScalar x = kDrawSize * (i % kDrawsPerRow); const SkScalar y = kDrawSize * (i / kDrawsPerRow); -- cgit v1.2.3