| Index: src/core/SkColorSpace_Base.h
|
| diff --git a/src/core/SkColorSpace_Base.h b/src/core/SkColorSpace_Base.h
|
| index 36cc47779a8d3a8f374809bb58b626cfbb7bb1c4..8737c44af5af211786f34d7d7f0b9d220076d613 100644
|
| --- a/src/core/SkColorSpace_Base.h
|
| +++ b/src/core/SkColorSpace_Base.h
|
| @@ -169,18 +169,32 @@ struct SkColorLookUpTable : public SkRefCnt {
|
|
|
| class SkColorSpace_Base : public SkColorSpace {
|
| public:
|
| - SkGammaNamed gammaNamed() const { return fGammaNamed; }
|
| - const SkGammas* gammas() const { return fGammas.get(); }
|
|
|
| - const SkColorLookUpTable* colorLUT() const { return fColorLUT.get(); }
|
| -
|
| - const SkMatrix44& toXYZD50() const { return fToXYZD50; }
|
| - const SkMatrix44& fromXYZD50() const;
|
| + /**
|
| + * Describes color space gamut as a transformation to XYZ D50.
|
| + * Returns nullptr if color gamut cannot be described in terms of XYZ D50.
|
| + */
|
| + virtual const SkMatrix44* toXYZD50() const = 0;
|
|
|
| /**
|
| - * Create an SkColorSpace with the same gamut as this color space, but with linear gamma.
|
| + * Describes color space gamut as a transformation from XYZ D50
|
| + * Returns nullptr if color gamut cannot be described in terms of XYZ D50.
|
| */
|
| - sk_sp<SkColorSpace> makeLinearGamma();
|
| + virtual const SkMatrix44* fromXYZD50() const = 0;
|
| +
|
| + virtual bool onGammaCloseToSRGB() const = 0;
|
| +
|
| + virtual bool onGammaIsLinear() const = 0;
|
| +
|
| +protected:
|
| + SkColorSpace_Base(sk_sp<SkData> profileData);
|
| +
|
| + enum class Type : uint8_t {
|
| + kXYZTRC,
|
| + kA2B0
|
| + };
|
| +
|
| + virtual Type type() const = 0;
|
|
|
| private:
|
|
|
| @@ -195,23 +209,15 @@ private:
|
|
|
| static sk_sp<SkColorSpace> NewRGB(SkGammaNamed gammaNamed, const SkMatrix44& toXYZD50);
|
|
|
| - SkColorSpace_Base(SkGammaNamed gammaNamed, const SkMatrix44& toXYZ);
|
| -
|
| - SkColorSpace_Base(sk_sp<SkColorLookUpTable> colorLUT, SkGammaNamed gammaNamed,
|
| - sk_sp<SkGammas> gammas, const SkMatrix44& toXYZ, sk_sp<SkData> profileData);
|
| -
|
| - sk_sp<SkColorLookUpTable> fColorLUT;
|
| - const SkGammaNamed fGammaNamed;
|
| - sk_sp<SkGammas> fGammas;
|
| - sk_sp<SkData> fProfileData;
|
|
|
| - const SkMatrix44 fToXYZD50;
|
| - mutable SkMatrix44 fFromXYZD50;
|
| - mutable SkOnce fFromXYZOnce;
|
| + sk_sp<SkData> fProfileData;
|
|
|
| friend class SkColorSpace;
|
| + friend class SkColorSpace_XYZTRC;
|
| + friend class SkColorSpaceXform;
|
| friend class ColorSpaceXformTest;
|
| friend class ColorSpaceTest;
|
| + friend class LabPCSDemoGM;
|
| typedef SkColorSpace INHERITED;
|
| };
|
|
|
|
|