26 using std::ostringstream;
30 parse_color_space_string(
const string &str) {
31 if (cmp_nocase_uh(str,
"linear") == 0 ||
32 cmp_nocase_uh(str,
"linear-rgb") == 0 ||
33 cmp_nocase_uh(str,
"lrgb") == 0) {
36 }
else if (cmp_nocase_uh(str,
"srgb") == 0) {
39 }
else if (cmp_nocase_uh(str,
"scrgb") == 0) {
42 }
else if (cmp_nocase_uh(str,
"unspecified") == 0) {
43 return CS_unspecified;
45 }
else if (cmp_nocase_uh(str,
"non-color") == 0) {
51 <<
"Invalid color_space string: " << str <<
"\n";
56 format_color_space(ColorSpace cs) {
63 operator << (ostream &out, ColorSpace cs) {
66 return out <<
"linear";
72 return out <<
"scRGB";
75 return out <<
"unspecified";
79 <<
"Invalid color_space value: " << (int)cs <<
"\n";
85 operator >> (istream &in, ColorSpace &cs) {
88 cs = parse_color_space_string(word);