BMPHeaders.h 957 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* This Source Code Form is subject to the terms of the Mozilla Public
  2. * License, v. 2.0. If a copy of the MPL was not distributed with this
  3. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  4. #ifndef mozilla_image_BMPHeaders_h
  5. #define mozilla_image_BMPHeaders_h
  6. #include <stddef.h>
  7. #include <stdint.h>
  8. namespace mozilla {
  9. namespace image {
  10. namespace bmp {
  11. // The length of the file header as defined in the BMP spec.
  12. static const size_t FILE_HEADER_LENGTH = 14;
  13. // This lengths of the info header for the different BMP versions.
  14. struct InfoHeaderLength {
  15. enum {
  16. WIN_V2 = 12,
  17. WIN_V3 = 40,
  18. WIN_V4 = 108,
  19. WIN_V5 = 124,
  20. // OS2_V1 is omitted; it's the same as WIN_V2.
  21. OS2_V2_MIN = 16, // Minimum allowed value for OS2v2.
  22. OS2_V2_MAX = 64, // Maximum allowed value for OS2v2.
  23. WIN_ICO = WIN_V3,
  24. };
  25. };
  26. } // namespace bmp
  27. } // namespace image
  28. } // namespace mozilla
  29. #endif // mozilla_image_BMPHeaders_h