102 {{-1.f, -1.f, -1.f, 1.0f}, {-1.f, -1.f, -1.f, 1.0f}},
103 {{1.0f, 1.0f, 1.0f, 1.0f}, {1.0f, 1.0f, 0.5f, 1.0f}},
104 {{1.0f, 0.5f, 1.0f, 1.0f}, {1.0f, 0.5f, 0.5f, 1.0f}},
105 {{0.5f, 1.0f, 1.0f, 1.0f}, {0.5f, 1.0f, 0.5f, 1.0f}},
106 {{0.5f, 0.5f, 1.0f, 1.0f}, {0.5f, 0.5f, 0.5f, 1.0f}},
117 {{-1.f, -1.f, -1.f, 1.f}, {1.0f, 0.0f, 0.0f, 1.f}},
118 {{-1.f, -1.f, -1.f, 1.f}, {0.0f, 1.0f, 1.0f, 1.f}},
146 paint.setShader(shader);
152 constexpr float k10G = 1.353256028586302f;
154 constexpr float k05G = 0.6858361015012847f;
157 constexpr float kR10G = 1.3234778541409058f;
160 constexpr float kR05G = 0.371934685412575f;
162 {{kR10G, 1.0f, 1.0f, 1.0f}, {kR10G, 1.0f, 0.5f, 1.0f}},
163 {{kR10G, 0.5f, 1.0f, 1.0f}, {kR10G, 0.5f, 0.5f, 1.0f}},
164 {{kR05G, k10G, k10G, 1.0f}, {kR05G, k10G, k05G, 1.0f}},
165 {{kR05G, k05G, k10G, 1.0f}, {kR05G, k05G, k05G, 1.0f}},
167 for (
int y = 0;
y < 4; ++
y) {
168 for (
int x = 0;
x < 2; ++
x) {
170 const auto& expected = expectedColors[
y][
x];
173 "color (%.3f %.3f %.3f %.3f) does not match expected color (%.3f %.3f "
192 {{1.0f, 1.0f, 1.0f, 1.0f}, {1.0f, 1.0f, 0.5f, 1.0f}},
193 {{1.0f, 0.5f, 1.0f, 1.0f}, {1.0f, 0.5f, 0.5f, 1.0f}},
194 {{0.5f, 1.0f, 1.0f, 1.0f}, {0.5f, 1.0f, 0.5f, 1.0f}},
195 {{0.5f, 0.5f, 1.0f, 1.0f}, {0.5f, 0.5f, 0.5f, 1.0f}},
206 {{1.0f, 0.0f, 0.0f, 1.f}},
207 {{0.0f, 1.0f, 1.0f, 1.f}},
236 paint.setShader(shader);
242 constexpr float k10G = 0.7353569830524495f;
244 constexpr float k05G = 0.3607802138332792f;
247 constexpr float kR10G = 0.6651850846308363f;
250 constexpr float kR05G = 0.371934685412575f;
252 {{kR10G, 1.0f, 1.0f, 1.0f}, {kR10G, 1.0f, 0.5f, 1.0f}},
253 {{kR10G, 0.5f, 1.0f, 1.0f}, {kR10G, 0.5f, 0.5f, 1.0f}},
254 {{kR05G, k10G, k10G, 1.0f}, {kR05G, k10G, k05G, 1.0f}},
255 {{kR05G, k05G, k10G, 1.0f}, {kR05G, k05G, k05G, 1.0f}},
257 for (
int y = 0;
y < 4; ++
y) {
258 for (
int x = 0;
x < 2; ++
x) {
260 const auto& expected = expectedColors[
y][
x];
263 "color (%.3f %.3f %.3f %.3f) does not match expected color (%.3f %.3f "
288 constexpr SkColor4f kSdrColor = {0.25f, 0.5f, 1.f, 1.f};
294 constexpr SkColor4f kExpectedColor = {0.5f, 0.5f, 1.414f, 1.f};
302 sdrImage, gainmapImage, gainmapInfo, gainmapInfo.
fDisplayRatioHdr, dstColorSpace);
308 sdrImage, gainmapImage, gainmapInfo, gainmapInfo.
fDisplayRatioHdr, dstColorSpace);
315 sdrImage, gainmapImage, gainmapInfo, gainmapInfo.
fDisplayRatioHdr, dstColorSpace);
static SkColor4f draw_1x1_gainmap(sk_sp< SkImage > baseImage, sk_sp< SkImage > gainmapImage, const SkGainmapInfo &gainmapInfo, float dstRatio, sk_sp< SkColorSpace > dstColorSpace=SkColorSpace::MakeSRGB())
static sk_sp< SkShader > Make(const sk_sp< const SkImage > &baseImage, const SkRect &baseRect, const SkSamplingOptions &baseSamplingOptions, const sk_sp< const SkImage > &gainmapImage, const SkRect &gainmapRect, const SkSamplingOptions &gainmapSamplingOptions, const SkGainmapInfo &gainmapInfo, const SkRect &dstRect, float dstHdrRatio, sk_sp< SkColorSpace > dstColorSpace)