From 046c79b468b4f70670743965d1c36fec0785e515 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Wed, 18 Jan 2023 22:14:51 -0500 Subject: [PATCH] LibGfx: Make DistinctFourCC compatible with BigEndian --- Userland/Libraries/LibGfx/ICCProfile.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibGfx/ICCProfile.h b/Userland/Libraries/LibGfx/ICCProfile.h index 4d8f2d143f..8f0f2171f6 100644 --- a/Userland/Libraries/LibGfx/ICCProfile.h +++ b/Userland/Libraries/LibGfx/ICCProfile.h @@ -26,13 +26,19 @@ enum class FourCCType { }; template -struct DistinctFourCC { - u32 value { 0 }; +struct [[gnu::packed]] DistinctFourCC { + explicit DistinctFourCC(u32 value) + : value(value) + { + } + explicit operator u32() const { return value; } char c0() const { return value >> 24; } char c1() const { return (value >> 16) & 0xff; } char c2() const { return (value >> 8) & 0xff; } char c3() const { return value & 0xff; } + + u32 value { 0 }; }; using PreferredCMMType = DistinctFourCC; // ICC v4, "7.2.3 Preferred CMM type field"