mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 05:07:45 +00:00
LibGfx: Use ICC::Profile::try_for_each_tag in icc main loop
I didn't use it in out_curve(), out_parametric_curve() since it wouldn't be necessary if I printed the indent with a loop instead of String::repeated() there.
This commit is contained in:
parent
937d018fc6
commit
04d519f1f1
1 changed files with 11 additions and 10 deletions
|
@ -192,7 +192,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||||
|
|
||||||
outln("tags:");
|
outln("tags:");
|
||||||
HashMap<Gfx::ICC::TagData*, Gfx::ICC::TagSignature> tag_data_to_first_signature;
|
HashMap<Gfx::ICC::TagData*, Gfx::ICC::TagSignature> tag_data_to_first_signature;
|
||||||
profile->for_each_tag([&tag_data_to_first_signature](auto tag_signature, auto tag_data) {
|
TRY(profile->try_for_each_tag([&tag_data_to_first_signature](auto tag_signature, auto tag_data) -> ErrorOr<void> {
|
||||||
if (auto name = tag_signature_spec_name(tag_signature); name.has_value())
|
if (auto name = tag_signature_spec_name(tag_signature); name.has_value())
|
||||||
out("{} ({}): ", *name, tag_signature);
|
out("{} ({}): ", *name, tag_signature);
|
||||||
else
|
else
|
||||||
|
@ -204,7 +204,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||||
auto it = tag_data_to_first_signature.find(tag_data);
|
auto it = tag_data_to_first_signature.find(tag_data);
|
||||||
if (it != tag_data_to_first_signature.end()) {
|
if (it != tag_data_to_first_signature.end()) {
|
||||||
outln(" (see {} above)", it->value);
|
outln(" (see {} above)", it->value);
|
||||||
return;
|
return {};
|
||||||
}
|
}
|
||||||
tag_data_to_first_signature.set(tag_data, tag_signature);
|
tag_data_to_first_signature.set(tag_data, tag_signature);
|
||||||
|
|
||||||
|
@ -259,8 +259,8 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||||
if (auto const& optional_clut = a_to_b.clut(); optional_clut.has_value()) {
|
if (auto const& optional_clut = a_to_b.clut(); optional_clut.has_value()) {
|
||||||
auto const& clut = optional_clut.value();
|
auto const& clut = optional_clut.value();
|
||||||
outln(" color lookup table: {} grid points, {}",
|
outln(" color lookup table: {} grid points, {}",
|
||||||
MUST(String::join(" x "sv, clut.number_of_grid_points_in_dimension)),
|
TRY(String::join(" x "sv, clut.number_of_grid_points_in_dimension)),
|
||||||
MUST(clut.values.visit(
|
TRY(clut.values.visit(
|
||||||
[](Vector<u8> const& v) { return String::formatted("{} u8 entries", v.size()); },
|
[](Vector<u8> const& v) { return String::formatted("{} u8 entries", v.size()); },
|
||||||
[](Vector<u16> const& v) { return String::formatted("{} u16 entries", v.size()); })));
|
[](Vector<u16> const& v) { return String::formatted("{} u16 entries", v.size()); })));
|
||||||
} else {
|
} else {
|
||||||
|
@ -311,8 +311,8 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||||
if (auto const& optional_clut = b_to_a.clut(); optional_clut.has_value()) {
|
if (auto const& optional_clut = b_to_a.clut(); optional_clut.has_value()) {
|
||||||
auto const& clut = optional_clut.value();
|
auto const& clut = optional_clut.value();
|
||||||
outln(" color lookup table: {} grid points, {}",
|
outln(" color lookup table: {} grid points, {}",
|
||||||
MUST(String::join(" x "sv, clut.number_of_grid_points_in_dimension)),
|
TRY(String::join(" x "sv, clut.number_of_grid_points_in_dimension)),
|
||||||
MUST(clut.values.visit(
|
TRY(clut.values.visit(
|
||||||
[](Vector<u8> const& v) { return String::formatted("{} u8 entries", v.size()); },
|
[](Vector<u8> const& v) { return String::formatted("{} u8 entries", v.size()); },
|
||||||
[](Vector<u16> const& v) { return String::formatted("{} u16 entries", v.size()); })));
|
[](Vector<u16> const& v) { return String::formatted("{} u16 entries", v.size()); })));
|
||||||
} else {
|
} else {
|
||||||
|
@ -350,7 +350,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||||
const auto& pcs = named_colors.pcs_coordinates(i);
|
const auto& pcs = named_colors.pcs_coordinates(i);
|
||||||
|
|
||||||
// FIXME: Display decoded values? (See ICC v4 6.3.4.2 and 10.8.)
|
// FIXME: Display decoded values? (See ICC v4 6.3.4.2 and 10.8.)
|
||||||
out(" \"{}\", PCS coordinates: 0x{:04x} 0x{:04x} 0x{:04x}", MUST(named_colors.color_name(i)), pcs.xyz.x, pcs.xyz.y, pcs.xyz.z);
|
out(" \"{}\", PCS coordinates: 0x{:04x} 0x{:04x} 0x{:04x}", TRY(named_colors.color_name(i)), pcs.xyz.x, pcs.xyz.y, pcs.xyz.z);
|
||||||
if (auto number_of_device_coordinates = named_colors.number_of_device_coordinates(); number_of_device_coordinates > 0) {
|
if (auto number_of_device_coordinates = named_colors.number_of_device_coordinates(); number_of_device_coordinates > 0) {
|
||||||
out(", device coordinates:");
|
out(", device coordinates:");
|
||||||
for (size_t j = 0; j < number_of_device_coordinates; ++j)
|
for (size_t j = 0; j < number_of_device_coordinates; ++j)
|
||||||
|
@ -394,9 +394,9 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||||
} else if (tag_data->type() == Gfx::ICC::TextDescriptionTagData::Type) {
|
} else if (tag_data->type() == Gfx::ICC::TextDescriptionTagData::Type) {
|
||||||
auto& text_description = static_cast<Gfx::ICC::TextDescriptionTagData&>(*tag_data);
|
auto& text_description = static_cast<Gfx::ICC::TextDescriptionTagData&>(*tag_data);
|
||||||
outln(" ascii: \"{}\"", text_description.ascii_description());
|
outln(" ascii: \"{}\"", text_description.ascii_description());
|
||||||
out_optional(" unicode", MUST(text_description.unicode_description().map([](auto description) { return String::formatted("\"{}\"", description); })));
|
out_optional(" unicode", TRY(text_description.unicode_description().map([](auto description) { return String::formatted("\"{}\"", description); })));
|
||||||
outln(" unicode language code: 0x{}", text_description.unicode_language_code());
|
outln(" unicode language code: 0x{}", text_description.unicode_language_code());
|
||||||
out_optional(" macintosh", MUST(text_description.macintosh_description().map([](auto description) { return String::formatted("\"{}\"", description); })));
|
out_optional(" macintosh", TRY(text_description.macintosh_description().map([](auto description) { return String::formatted("\"{}\"", description); })));
|
||||||
} else if (tag_data->type() == Gfx::ICC::TextTagData::Type) {
|
} else if (tag_data->type() == Gfx::ICC::TextTagData::Type) {
|
||||||
outln(" text: \"{}\"", static_cast<Gfx::ICC::TextTagData&>(*tag_data).text());
|
outln(" text: \"{}\"", static_cast<Gfx::ICC::TextTagData&>(*tag_data).text());
|
||||||
} else if (tag_data->type() == Gfx::ICC::ViewingConditionsTagData::Type) {
|
} else if (tag_data->type() == Gfx::ICC::ViewingConditionsTagData::Type) {
|
||||||
|
@ -408,7 +408,8 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
||||||
for (auto& xyz : static_cast<Gfx::ICC::XYZTagData&>(*tag_data).xyzs())
|
for (auto& xyz : static_cast<Gfx::ICC::XYZTagData&>(*tag_data).xyzs())
|
||||||
outln(" {}", xyz);
|
outln(" {}", xyz);
|
||||||
}
|
}
|
||||||
});
|
return {};
|
||||||
|
}));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue