diff options
author | Brian Osman <brianosman@google.com> | 2016-12-16 11:55:18 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-12-16 18:09:02 +0000 |
commit | 138ea97c1acaed4b968540220724dd5bf671e8db (patch) | |
tree | bd98e545885ec57bf16cc457e10766655b2fec22 /gm/pictureimagegenerator.cpp | |
parent | 8ced688a3a3489ac696e5ee2d10557b389fd4ebf (diff) |
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 <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'gm/pictureimagegenerator.cpp')
-rw-r--r-- | gm/pictureimagegenerator.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
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<SkImageGenerator> 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); |