summaryrefslogtreecommitdiffstats
path: root/image/BMPHeaders.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:44:51 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:44:51 +0000
commit9e3c08db40b8916968b9f30096c7be3f00ce9647 (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /image/BMPHeaders.h
parentInitial commit. (diff)
downloadthunderbird-upstream.tar.xz
thunderbird-upstream.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'image/BMPHeaders.h')
-rw-r--r--image/BMPHeaders.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/image/BMPHeaders.h b/image/BMPHeaders.h
new file mode 100644
index 0000000000..2b58f6054c
--- /dev/null
+++ b/image/BMPHeaders.h
@@ -0,0 +1,53 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef mozilla_image_BMPHeaders_h
+#define mozilla_image_BMPHeaders_h
+
+#include <stddef.h>
+#include <stdint.h>
+
+namespace mozilla {
+namespace image {
+namespace bmp {
+
+// The length of the file header as defined in the BMP spec.
+static const size_t FILE_HEADER_LENGTH = 14;
+
+// This lengths of the info header for the different BMP versions.
+struct InfoHeaderLength {
+ enum {
+ WIN_V2 = 12,
+ WIN_V3 = 40,
+ WIN_V4 = 108,
+ WIN_V5 = 124,
+
+ // OS2_V1 is omitted; it's the same as WIN_V2.
+ OS2_V2_MIN = 16, // Minimum allowed value for OS2v2.
+ OS2_V2_MAX = 64, // Maximum allowed value for OS2v2.
+
+ WIN_ICO = WIN_V3,
+ };
+};
+
+enum class InfoColorSpace : uint32_t {
+ CALIBRATED_RGB = 0x00000000,
+ SRGB = 0x73524742,
+ WIN = 0x57696E20,
+ LINKED = 0x4C494E4B,
+ EMBEDDED = 0x4D424544,
+};
+
+enum class InfoColorIntent : uint32_t {
+ BUSINESS = 0x00000001,
+ GRAPHICS = 0x00000002,
+ IMAGES = 0x00000004,
+ ABS_COLORIMETRIC = 0x00000008,
+};
+
+} // namespace bmp
+} // namespace image
+} // namespace mozilla
+
+#endif // mozilla_image_BMPHeaders_h