Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Unified Diff: src/core/SkColorSpace_A2B0.h

Issue 2389983002: Refactored SkColorSpace and added in a Lab PCS GM (Closed)
Patch Set: responding to comments Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/core/SkColorSpace_A2B0.h
diff --git a/src/core/SkColorSpace_A2B0.h b/src/core/SkColorSpace_A2B0.h
new file mode 100644
index 0000000000000000000000000000000000000000..02a8055baa24d73499da8ef7a93602f25ca0c049
--- /dev/null
+++ b/src/core/SkColorSpace_A2B0.h
@@ -0,0 +1,67 @@
+/*
+ * 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 SkColorSpace_A2B0_DEFINED
+#define SkColorSpace_A2B0_DEFINED
+
+#include "SkColorSpace_Base.h"
+
+class SkColorSpace_A2B0 : public SkColorSpace_Base {
+public:
+ const SkMatrix44* requestToXYZD50() const override { return nullptr; }
msarett 2016/10/07 01:48:36 Brief comment on why these return null?
raftias 2016/10/10 20:37:33 Done.
+
+ const SkMatrix44* requestFromXYZD50() const override { return nullptr; }
+
+ enum class PCS : uint8_t {
msarett 2016/10/07 01:48:36 Same enum class question as in SkColorSpace_Base
raftias 2016/10/10 20:37:32 Acknowledged.
+ kLAB,
+ kXYZ
+ };
+
+ PCS pcs() const { return fPCS; }
msarett 2016/10/07 01:48:35 Maybe lead with a summary comment about all the co
raftias 2016/10/10 20:37:32 Done.
+
+ SkGammaNamed aCurveNamed() const { return fACurveNamed; }
msarett 2016/10/07 01:48:35 Maybe bother trying to "name" the A, B, or M curve
raftias 2016/10/10 20:37:32 Like CLUTGamma, FinalGamma, MatrixGamma, or did yo
msarett 2016/10/11 13:40:30 Sorry I mean, let's not have GammaNamed getters (o
+
+ const SkGammas* aCurve() const { return fACurve.get(); }
+
+ SkGammaNamed mCurveNamed() const { return fMCurveNamed; }
+
+ const SkGammas* mCurve() const { return fMCurve.get(); }
+
+ SkGammaNamed bCurveNamed() const { return fBCurveNamed; }
+
+ const SkGammas* bCurve() const { return fBCurve.get(); }
+
+ const SkColorLookUpTable* colorLUT() const { return fColorLUT.get(); }
+
+ const SkMatrix44 toPCS() const { return fToPCS; }
msarett 2016/10/07 01:48:35 Maybe just call this "matrix"? I don't have an in
raftias 2016/10/10 20:37:32 Done.
+
+protected:
+ Type type() const override { return Type::kA2B0; }
+
+private:
+ SkColorSpace_A2B0(PCS pcs, sk_sp<SkColorLookUpTable> colorLUT,
+ SkGammaNamed aCurveNamed, sk_sp<SkGammas> aCurve,
+ SkGammaNamed mCurveNamed, sk_sp<SkGammas> mCurve,
+ SkGammaNamed bCurveNamed, sk_sp<SkGammas> bCurve,
+ const SkMatrix44& toPCS, sk_sp<SkData> profileData);
+
+ PCS fPCS;
+ sk_sp<SkColorLookUpTable> fColorLUT;
msarett 2016/10/07 01:48:36 My "convention" is to list these in the order that
raftias 2016/10/10 20:37:32 Done.
+ const SkGammaNamed fACurveNamed;
+ sk_sp<SkGammas> fACurve;
+ const SkGammaNamed fMCurveNamed;
+ sk_sp<SkGammas> fMCurve;
+ const SkGammaNamed fBCurveNamed;
+ sk_sp<SkGammas> fBCurve;
+ SkMatrix44 fToPCS;
+
+
+ friend class SkColorSpace;
+ typedef SkColorSpace_Base INHERITED;
+};
+
+#endif

Powered by Google App Engine
This is Rietveld 408576698