Chromium Code Reviews| 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 |