| Index: src/core/SkColorSpace.h
|
| diff --git a/src/core/SkColorSpace.h b/src/core/SkColorSpace.h
|
| index 777be9da2b4ebaae9e918197517775adb2a82777..e14ab1c3c03aa72990e6b9c02de409d6b1a4d4a4 100644
|
| --- a/src/core/SkColorSpace.h
|
| +++ b/src/core/SkColorSpace.h
|
| @@ -35,6 +35,27 @@ struct SkFloat3x3 {
|
| void dump() const;
|
| };
|
|
|
| +struct SkColorLookUpTable {
|
| + static const uint8_t kMaxChannels = 16;
|
| +
|
| + uint8_t fInputChannels;
|
| + uint8_t fOutputChannels;
|
| + uint8_t fGridPoints[kMaxChannels];
|
| + std::unique_ptr<float[]> fTable;
|
| +
|
| + SkColorLookUpTable() {
|
| + memset(this, 0, sizeof(struct SkColorLookUpTable));
|
| + }
|
| +
|
| + SkColorLookUpTable(SkColorLookUpTable&& that)
|
| + : fInputChannels(that.fInputChannels)
|
| + , fOutputChannels(that.fOutputChannels)
|
| + , fTable(std::move(that.fTable))
|
| + {
|
| + memcpy(fGridPoints, that.fGridPoints, kMaxChannels);
|
| + }
|
| +};
|
| +
|
| struct SkPM4f;
|
| void SkApply3x3ToPM4f(const SkFloat3x3&, const SkPM4f src[], SkPM4f dst[], int count);
|
|
|
| @@ -57,6 +78,7 @@ public:
|
|
|
| SkFloat3 gamma() const { return fGamma; }
|
| SkFloat3x3 xyz() const { return fToXYZD50; }
|
| + SkFloat3 xyzOffset() const { return fToXYZOffset; }
|
| Named named() const { return fNamed; }
|
| uint32_t uniqueID() const { return fUniqueID; }
|
|
|
| @@ -75,14 +97,19 @@ public:
|
| static void Test();
|
| void dump() const;
|
|
|
| -protected:
|
| - SkColorSpace(const SkFloat3x3& toXYZ, const SkFloat3& gamma, Named);
|
| -
|
| private:
|
| - const SkFloat3x3 fToXYZD50;
|
| - const SkFloat3 fGamma;
|
| - const uint32_t fUniqueID;
|
| - const Named fNamed;
|
| + SkColorSpace(const SkFloat3& gamma, const SkFloat3x3& toXYZ, Named);
|
| +
|
| + SkColorSpace(SkColorLookUpTable colorLUT, const SkFloat3& gamma, const SkFloat3x3& toXYZ,
|
| + const SkFloat3& toXYZOffset);
|
| +
|
| + const SkColorLookUpTable fColorLUT;
|
| + const SkFloat3 fGamma;
|
| + const SkFloat3x3 fToXYZD50;
|
| + const SkFloat3 fToXYZOffset;
|
| +
|
| + const uint32_t fUniqueID;
|
| + const Named fNamed;
|
| };
|
|
|
| #endif
|
|
|