Index: ui/gfx/color_space.cc |
diff --git a/ui/gfx/color_space.cc b/ui/gfx/color_space.cc |
index 5c1825ea74bb3a4a5469a311dad483c879e31879..50a26ca53b87c3a82b09def0c00cbc1baf77e5d3 100644 |
--- a/ui/gfx/color_space.cc |
+++ b/ui/gfx/color_space.cc |
@@ -12,45 +12,66 @@ |
namespace gfx { |
-ColorSpace::ColorSpace() = default; |
+ColorSpace::ColorSpace() |
+ : primaries_(PrimaryID::UNSPECIFIED), |
+ transfer_(TransferID::UNSPECIFIED), |
+ matrix_(MatrixID::UNSPECIFIED), |
+ range_(RangeID::LIMITED) {} |
+ |
+ColorSpace::ColorSpace(PrimaryID primaries, |
+ TransferID transfer, |
+ MatrixID matrix, |
+ RangeID range) |
+ : primaries_(primaries), |
+ transfer_(transfer), |
+ matrix_(matrix), |
+ range_(range) { |
+ // TODO: Set profile_id_ |
+} |
// static |
ColorSpace ColorSpace::CreateSRGB() { |
ColorSpace color_space; |
- color_space.valid_ = true; |
- color_space.icc_profile_id_ = ICCProfile::kSRGBId; |
+ color_space.primaries_ = PrimaryID::BT709; |
Tom Sepez
2016/07/27 17:52:26
nit: Why not just a one-liner like
return ColorS
hubbe
2016/07/27 18:08:44
Done.
|
+ color_space.transfer_ = TransferID::IEC61966_2_1; |
+ color_space.matrix_ = MatrixID::RGB; |
+ color_space.range_ = RangeID::FULL; |
return color_space; |
} |
// static |
ColorSpace ColorSpace::CreateJpeg() { |
ColorSpace color_space; |
- color_space.valid_ = true; |
- color_space.icc_profile_id_ = ICCProfile::kJpegId; |
+ color_space.primaries_ = PrimaryID::BT709; |
+ color_space.transfer_ = TransferID::IEC61966_2_1; |
+ color_space.matrix_ = MatrixID::BT709; |
+ color_space.range_ = RangeID::FULL; |
return color_space; |
} |
// static |
ColorSpace ColorSpace::CreateREC601() { |
ColorSpace color_space; |
- color_space.valid_ = true; |
- color_space.icc_profile_id_ = ICCProfile::kRec601Id; |
+ color_space.primaries_ = PrimaryID::SMPTE170M; |
+ color_space.transfer_ = TransferID::SMPTE170M; |
+ color_space.matrix_ = MatrixID::SMPTE170M; |
+ color_space.range_ = RangeID::LIMITED; |
return color_space; |
} |
// static |
ColorSpace ColorSpace::CreateREC709() { |
ColorSpace color_space; |
- color_space.valid_ = true; |
- color_space.icc_profile_id_ = ICCProfile::kRec709Id; |
+ color_space.primaries_ = PrimaryID::BT709; |
+ color_space.transfer_ = TransferID::BT709; |
+ color_space.matrix_ = MatrixID::BT709; |
+ color_space.range_ = RangeID::LIMITED; |
return color_space; |
} |
bool ColorSpace::operator==(const ColorSpace& other) const { |
- // TODO(ccameron): The |icc_profile_id_| should eventually not factor in |
- // to equality comparison at all, because it's just an optimization, but |
- // for now there is no other data in this structure. |
- return valid_ == other.valid_ && icc_profile_id_ == other.icc_profile_id_; |
+ return primaries_ == other.primaries_ && transfer_ == other.transfer_ && |
+ matrix_ == other.matrix_ && range_ == other.range_; |
} |
} // namespace gfx |