summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Userland/Libraries/LibGfx/ICC/Profile.cpp26
-rw-r--r--Userland/Libraries/LibGfx/ICC/Tags.h16
2 files changed, 40 insertions, 2 deletions
diff --git a/Userland/Libraries/LibGfx/ICC/Profile.cpp b/Userland/Libraries/LibGfx/ICC/Profile.cpp
index f4d5a8cedc..22b731a54b 100644
--- a/Userland/Libraries/LibGfx/ICC/Profile.cpp
+++ b/Userland/Libraries/LibGfx/ICC/Profile.cpp
@@ -1247,6 +1247,32 @@ ErrorOr<void> Profile::check_tag_types()
// "Permitted tag types: viewingConditionsType"
// FIXME
+ // FIXME: Add validation for v2-only tags:
+ // - ICC v2, 6.4.14 crdInfoTag
+ // "Tag Type: crdInfoType"
+ // - ICC v2, 6.4.17 deviceSettingsTag
+ // "Tag Type: deviceSettingsType"
+ // - ICC v2, 6.4.24 mediaBlackPointTag
+ // "Tag Type: XYZType"
+ // - ICC v2, 6.4.34 ps2CRD0Tag
+ // "Tag Type: dataType"
+ // - ICC v2, 6.4.35 ps2CRD1Tag
+ // "Tag Type: dataType"
+ // - ICC v2, 6.4.36 ps2CRD2Tag
+ // "Tag Type: dataType"
+ // - ICC v2, 6.4.37 ps2CRD3Tag
+ // "Tag Type: dataType"
+ // - ICC v2, 6.4.38 ps2CSATag
+ // "Tag Type: dataType"
+ // - ICC v2, 6.4.39 ps2RenderingIntentTag
+ // "Tag Type: dataType"
+ // - ICC v2, 6.4.42 screeningDescTag
+ // "Tag Type: textDescriptionType"
+ // - ICC v2, 6.4.43 screeningTag
+ // "Tag Type: screeningType"
+ // - ICC v2, 6.4.45 ucrbgTag
+ // "Tag Type: ucrbgType"
+
return {};
}
diff --git a/Userland/Libraries/LibGfx/ICC/Tags.h b/Userland/Libraries/LibGfx/ICC/Tags.h
index cbe26f5e32..6f95efdc4f 100644
--- a/Userland/Libraries/LibGfx/ICC/Tags.h
+++ b/Userland/Libraries/LibGfx/ICC/Tags.h
@@ -13,7 +13,6 @@
namespace Gfx::ICC {
// ICC v4, 9.2 Tag listing
-// FIXME: Add v2-only tags too.
#define ENUMERATE_TAG_SIGNATURES(TAG) \
TAG(AToB0Tag, 0x41324230 /* 'A2B0' */) \
TAG(AToB1Tag, 0x41324231 /* 'A2B1' */) \
@@ -65,7 +64,20 @@ namespace Gfx::ICC {
TAG(saturationRenderingIntentGamutTag, 0x72696732 /* 'rig2' */) \
TAG(technologyTag, 0x74656368 /* 'tech' */) \
TAG(viewingCondDescTag, 0x76756564 /* 'vued' */) \
- TAG(viewingConditionsTag, 0x76696577 /* 'view' */)
+ TAG(viewingConditionsTag, 0x76696577 /* 'view' */) \
+ /* The following tags are v2-only */ \
+ TAG(crdInfoTag, 0x63726469 /* 'crdi' */) \
+ TAG(deviceSettingsTag, 0x64657673 /* 'devs' */) \
+ TAG(mediaBlackPointTag, 0x626B7074 /* 'bkpt' */) \
+ TAG(ps2CRD0Tag, 0x70736430 /* 'psd0' */) \
+ TAG(ps2CRD1Tag, 0x70736431 /* 'psd1' */) \
+ TAG(ps2CRD2Tag, 0x70736432 /* 'psd2' */) \
+ TAG(ps2CRD3Tag, 0x70736433 /* 'psd3' */) \
+ TAG(ps2CSATag, 0x70733273 /* 'ps2s' */) \
+ TAG(ps2RenderingIntentTag, 0x70733269 /* 'ps2i' */) \
+ TAG(screeningDescTag, 0x73637264 /* 'scrd' */) \
+ TAG(screeningTag, 0x7363726E /* 'scrn' */) \
+ TAG(ucrbgTag, 0x62666420 /* 'bfd ' */)
#define TAG(name, id) constexpr inline TagSignature name { id };
ENUMERATE_TAG_SIGNATURES(TAG)