diff options
author | msarett <msarett@google.com> | 2016-05-23 09:29:29 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-05-23 09:29:29 -0700 |
commit | 8cc209111876b7c78b5ec577c9221d8ed5e21024 (patch) | |
tree | 741998d90dcda0765375e79eedc28e119b8cc980 /src/core/SkColorSpacePriv.h | |
parent | a0af771612db5ae36b74f1f536bfb335ecd0ec99 (diff) |
Make SkColorSpace a public API
I've trimmed uniqueID for now, and added some comments.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1996973002
Review-Url: https://codereview.chromium.org/1996973002
Diffstat (limited to 'src/core/SkColorSpacePriv.h')
-rw-r--r-- | src/core/SkColorSpacePriv.h | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/src/core/SkColorSpacePriv.h b/src/core/SkColorSpacePriv.h deleted file mode 100644 index a6274c7823..0000000000 --- a/src/core/SkColorSpacePriv.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright 2016 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef SkColorSpacePriv_DEFINED -#define SkColorSpacePriv_DEFINED - -struct SkGammaCurve { - bool isValue() const { - bool result = (0.0f != fValue); - SkASSERT(!result || (0 == fTableSize)); - SkASSERT(!result || (0.0f == fG)); - return result; - } - - bool isTable() const { - bool result = (0 != fTableSize); - SkASSERT(!result || (0.0f == fValue)); - SkASSERT(!result || (0.0f == fG)); - SkASSERT(!result || fTable); - return result; - } - - bool isParametric() const { - bool result = (0.0f != fG); - SkASSERT(!result || (0.0f == fValue)); - SkASSERT(!result || (0 == fTableSize)); - return result; - } - - // We have three different ways to represent gamma. - // (1) A single value: - float fValue; - - // (2) A lookup table: - uint32_t fTableSize; - std::unique_ptr<float[]> fTable; - - // (3) Parameters for a curve: - // Y = (aX + b)^g + c for X >= d - // Y = eX + f otherwise - float fG; - float fA; - float fB; - float fC; - float fD; - float fE; - float fF; - - SkGammaCurve() { - memset(this, 0, sizeof(struct SkGammaCurve)); - } - - SkGammaCurve(float value) - : fValue(value) - , fTableSize(0) - , fTable(nullptr) - , fG(0.0f) - , fA(0.0f) - , fB(0.0f) - , fC(0.0f) - , fD(0.0f) - , fE(0.0f) - , fF(0.0f) - {} -}; - -struct SkGammas : public SkRefCnt { -public: - bool isValues() const { - return fRed.isValue() && fGreen.isValue() && fBlue.isValue(); - } - - const SkGammaCurve fRed; - const SkGammaCurve fGreen; - const SkGammaCurve fBlue; - - SkGammas(float red, float green, float blue) - : fRed(red) - , fGreen(green) - , fBlue(blue) - {} - - SkGammas(SkGammaCurve red, SkGammaCurve green, SkGammaCurve blue) - : fRed(std::move(red)) - , fGreen(std::move(green)) - , fBlue(std::move(blue)) - {} - - SkGammas() {} - - friend class SkColorSpace; -}; - -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)); - } -}; - -#endif |