aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/pictureimagegenerator.cpp
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2016-12-16 11:55:18 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-12-16 18:09:02 +0000
commit138ea97c1acaed4b968540220724dd5bf671e8db (patch)
treebd98e545885ec57bf16cc457e10766655b2fec22 /gm/pictureimagegenerator.cpp
parent8ced688a3a3489ac696e5ee2d10557b389fd4ebf (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.cpp11
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);