From 48347d1923dc2cc6baa81bd9a372f7f77dbde137 Mon Sep 17 00:00:00 2001 From: Lucas CHOLLET Date: Tue, 9 Jan 2024 21:26:40 -0500 Subject: [PATCH] LibGfx/TIFF: Make ExifMetadata inherit from Metadata --- Userland/Libraries/LibGfx/TIFFGenerator.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibGfx/TIFFGenerator.py b/Userland/Libraries/LibGfx/TIFFGenerator.py index 7bf35d258f..ad95ac0e7a 100755 --- a/Userland/Libraries/LibGfx/TIFFGenerator.py +++ b/Userland/Libraries/LibGfx/TIFFGenerator.py @@ -333,12 +333,27 @@ def generate_getter(tag: Tag) -> str: def generate_metadata_class(tags: List[Tag]) -> str: getters = '\n'.join([generate_getter(tag) for tag in tags]) - output = fR"""class ExifMetadata {{ + output = fR"""class ExifMetadata : public Metadata {{ public: + virtual ~ExifMetadata() = default; + {getters} private: friend {HANDLE_TAG_SIGNATURE_TIFF_NAMESPACE}; + virtual void fill_main_tags() const override {{ + if (model().has_value()) + m_main_tags.set("Model"sv, model().value()); + if (make().has_value()) + m_main_tags.set("Manufacturer"sv, make().value()); + if (software().has_value()) + m_main_tags.set("Software"sv, software().value()); + if (date_time().has_value()) + m_main_tags.set("Creation Time"sv, date_time().value()); + if (artist().has_value()) + m_main_tags.set("Author"sv, artist().value()); + }} + void add_entry(StringView key, Vector&& value) {{ m_data.set(key, move(value)); }} @@ -359,6 +374,7 @@ def generate_metadata_file(tags: List[Tag]) -> str: #include #include #include +#include namespace Gfx {{