blob: 41ef273b865af8f3863590ba41ba2a8ca7c1f371 [file]
/* SPDX-License-Identifier: GPL-2.0-or-later */
#ifndef __RENDER_BMP_H__
#define __RENDER_BMP_H__
#ifndef OFFSET_OF
#if (defined (__GNUC__) && __GNUC__ >= 4) || defined (__clang__)
#define OFFSET_OF(TYPE, Field) ((size_t) __builtin_offsetof(TYPE, Field))
#endif
#endif
#ifndef OFFSET_OF
#define OFFSET_OF(TYPE, Field) ((size_t) &(((TYPE *)0)->Field))
#endif
#pragma pack(1)
struct bmp_color_map {
uint8_t Blue;
uint8_t Green;
uint8_t Red;
uint8_t Reserved;
};
struct bmp_image_header {
char CharB; // 'B'
char CharM; // 'M'
uint32_t Size;
uint16_t Reserved[2];
uint32_t ImageOffset;
uint32_t HeaderSize;
uint32_t PixelWidth;
uint32_t PixelHeight;
uint16_t Planes;
uint16_t BitPerPixel; // 1, 4, 8, 24 or 32
uint32_t CompressionType;
uint32_t ImageSize; // Compressed image size in bytes
uint32_t XPixelsPerMeter;
uint32_t YPixelsPerMeter;
uint32_t NumberOfColors;
uint32_t ImportantColors;
};
struct blt_pixel {
uint8_t Blue;
uint8_t Green;
uint8_t Red;
uint8_t Reserved;
};
struct logo_coordinates {
uint32_t x;
uint32_t y;
};
#pragma pack()
#endif // __RENDER_BMP_H__