1 /*
2  * Copyright 2017 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #include "src/gpu/GrColorInfo.h"
9 
10 #include "src/core/SkColorSpacePriv.h"
11 
GrColorInfo(GrColorType colorType,SkAlphaType alphaType,sk_sp<SkColorSpace> colorSpace)12 GrColorInfo::GrColorInfo(
13         GrColorType colorType, SkAlphaType alphaType, sk_sp<SkColorSpace> colorSpace)
14         : fColorSpace(std::move(colorSpace)), fColorType(colorType), fAlphaType(alphaType) {
15     // sRGB sources are very common (SkColor, etc...), so we cache that transformation
16     fColorXformFromSRGB = GrColorSpaceXform::Make(sk_srgb_singleton(), kUnpremul_SkAlphaType,
17                                                   fColorSpace.get(),   kUnpremul_SkAlphaType);
18 }
19 
GrColorInfo(const SkColorInfo & ci)20 GrColorInfo::GrColorInfo(const SkColorInfo& ci)
21         : GrColorInfo(SkColorTypeToGrColorType(ci.colorType()),
22                       ci.alphaType(),
23                       ci.refColorSpace()) {}
24 
25 GrColorInfo::GrColorInfo(const GrColorInfo&) = default;
26 GrColorInfo& GrColorInfo::operator=(const GrColorInfo&) = default;
27