| Index: ui/gfx/color_space.cc
|
| diff --git a/ui/gfx/color_space.cc b/ui/gfx/color_space.cc
|
| index 8bb9bddca8882614957505d47eceb70e18d15af9..0456dff1f51ab522674ee913ef5aa9b62eaa48b7 100644
|
| --- a/ui/gfx/color_space.cc
|
| +++ b/ui/gfx/color_space.cc
|
| @@ -12,6 +12,33 @@
|
|
|
| namespace gfx {
|
|
|
| +ColorSpace::PrimaryID ColorSpace::PrimaryIDFromInt(int primary_id) {
|
| + if (primary_id < 0 || primary_id > static_cast<int>(PrimaryID::LAST))
|
| + return PrimaryID::UNKNOWN;
|
| + if (primary_id > static_cast<int>(PrimaryID::LAST_STANDARD_VALUE) &&
|
| + primary_id < 1000)
|
| + return PrimaryID::UNKNOWN;
|
| + return static_cast<PrimaryID>(primary_id);
|
| +}
|
| +
|
| +ColorSpace::TransferID ColorSpace::TransferIDFromInt(int transfer_id) {
|
| + if (transfer_id < 0 || transfer_id > static_cast<int>(TransferID::LAST))
|
| + return TransferID::UNKNOWN;
|
| + if (transfer_id > static_cast<int>(TransferID::LAST_STANDARD_VALUE) &&
|
| + transfer_id < 1000)
|
| + return TransferID::UNKNOWN;
|
| + return static_cast<TransferID>(transfer_id);
|
| +}
|
| +
|
| +ColorSpace::MatrixID ColorSpace::MatrixIDFromInt(int matrix_id) {
|
| + if (matrix_id < 0 || matrix_id > static_cast<int>(MatrixID::LAST))
|
| + return MatrixID::UNKNOWN;
|
| + if (matrix_id > static_cast<int>(MatrixID::LAST_STANDARD_VALUE) &&
|
| + matrix_id < 1000)
|
| + return MatrixID::UNKNOWN;
|
| + return static_cast<MatrixID>(matrix_id);
|
| +}
|
| +
|
| ColorSpace::ColorSpace() {
|
| memset(custom_primary_matrix_, 0, sizeof(custom_primary_matrix_));
|
| }
|
| @@ -28,6 +55,15 @@ ColorSpace::ColorSpace(PrimaryID primaries,
|
| // TODO: Set profile_id_
|
| }
|
|
|
| +ColorSpace::ColorSpace(int primaries, int transfer, int matrix, RangeID range)
|
| + : primaries_(PrimaryIDFromInt(primaries)),
|
| + transfer_(TransferIDFromInt(transfer)),
|
| + matrix_(MatrixIDFromInt(matrix)),
|
| + range_(range) {
|
| + memset(custom_primary_matrix_, 0, sizeof(custom_primary_matrix_));
|
| + // TODO: Set profile_id_
|
| +}
|
| +
|
| // static
|
| ColorSpace ColorSpace::CreateSRGB() {
|
| return ColorSpace(PrimaryID::BT709, TransferID::IEC61966_2_1, MatrixID::RGB,
|
|
|