GitOS
Loading...
Searching...
No Matches
BMPFile.hpp
Go to the documentation of this file.
1//
2// Created by root on 2/12/25.
3//
5#pragma once
6#include <stdint-gcc.h>
8class BMPFile
10 public:
11 BMPFile(uint8_t* data, uint32_t sz);
12 bool has_color_table() const;
13 const uint32_t* get_raster() const;
14
15 uint32_t get_pixel(uint32_t x, uint32_t y) const;
16 uint32_t get_width() const;
17 uint32_t get_height() const;
18
19 private:
20 struct BITMAPFILEHEADER
21 {
22 char signature[2];
23 uint32_t file_size;
24 uint32_t reserved;
25 uint32_t offset;
26 } __attribute__((__packed__));
27 struct BITMAPINFOHEADER
28 {
29 uint32_t size;
30 uint32_t width;
31 uint32_t height;
32 uint16_t planes;
33 uint16_t bit_count;
34 uint32_t compression;
35 uint32_t image_size;
36 uint32_t x_pixels_per_meter;
37 uint32_t y_pixels_per_meter;
38 uint32_t colors_used;
39 uint32_t colors_important;
40 } __attribute__((__packed__));
41
42 const BITMAPFILEHEADER* m_file_header;
43 const BITMAPINFOHEADER* m_info_header;
44 const uint32_t* m_color_table;
45 const uint32_t* m_raster_data;
46};
uint32_t offset
Definition BMPFile.hpp:3
uint32_t file_size
Definition BMPFile.hpp:1
bool has_color_table() const
Definition BMPFile.cpp:56
const uint32_t * get_raster() const
Definition BMPFile.cpp:61
BMPFile(uint8_t *data, uint32_t sz)
Definition BMPFile.cpp:13
uint32_t get_width() const
Definition BMPFile.cpp:97
uint32_t get_pixel(uint32_t x, uint32_t y) const
Definition BMPFile.cpp:66
uint32_t get_height() const
Definition BMPFile.cpp:102
struct fat_directory __attribute__
uint8_t reserved
Definition fat16.h:3
uint8_t signature
Definition fat16.h:2
uint8_t * data
Definition window.h:0