1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 12:07:45 +00:00

LibGfx: Move ICC MeasurementHeader to BinaryFormat.h

This commit is contained in:
Nico Weber 2023-02-17 22:10:01 -05:00 committed by Andreas Kling
parent a1de65c34f
commit 8e5392f9c0
2 changed files with 10 additions and 10 deletions

View file

@ -130,6 +130,16 @@ struct CLUTHeader {
}; };
static_assert(AssertSize<CLUTHeader, 20>()); static_assert(AssertSize<CLUTHeader, 20>());
// Table 49 — measurementType structure
struct MeasurementHeader {
BigEndian<MeasurementTagData::StandardObserver> standard_observer;
XYZNumber tristimulus_value_for_measurement_backing;
BigEndian<MeasurementTagData::MeasurementGeometry> measurement_geometry;
BigEndian<u16Fixed16Number> measurement_flare;
BigEndian<MeasurementTagData::StandardIlluminant> standard_illuminant;
};
static_assert(AssertSize<MeasurementHeader, 28>());
// ICC v4, 10.15 multiLocalizedUnicodeType // ICC v4, 10.15 multiLocalizedUnicodeType
struct MultiLocalizedUnicodeRawRecord { struct MultiLocalizedUnicodeRawRecord {
BigEndian<u16> language_code; BigEndian<u16> language_code;

View file

@ -551,16 +551,6 @@ ErrorOr<NonnullRefPtr<MeasurementTagData>> MeasurementTagData::from_bytes(Readon
VERIFY(tag_type(bytes) == Type); VERIFY(tag_type(bytes) == Type);
TRY(check_reserved(bytes)); TRY(check_reserved(bytes));
// Table 49 — measurementType structure
struct MeasurementHeader {
BigEndian<StandardObserver> standard_observer;
XYZNumber tristimulus_value_for_measurement_backing;
BigEndian<MeasurementGeometry> measurement_geometry;
BigEndian<u16Fixed16Number> measurement_flare;
BigEndian<StandardIlluminant> standard_illuminant;
};
static_assert(AssertSize<MeasurementHeader, 28>());
if (bytes.size() < 2 * sizeof(u32) + sizeof(MeasurementHeader)) if (bytes.size() < 2 * sizeof(u32) + sizeof(MeasurementHeader))
return Error::from_string_literal("ICC::Profile: measurementTag has not enough data"); return Error::from_string_literal("ICC::Profile: measurementTag has not enough data");