#include "bmp.hpp" #include "libs/string.hpp" #include "drivers/framebuffer.hpp" void bmp_draw(u8* bmp_data, int posx, int posy){ BMP_HEADER header; memcpy(bmp_data, &header, sizeof(BMP_HEADER)); if(header.signature!=0x4d42){ printk("Invalid BMP data\n"); return; } // Do not forget, each row is 32bits aligned u32 Bpp=header.bpp/8; u32 lineW=header.width*Bpp; while((lineW&0x3)!=0){ lineW++; } for(u32 y=0;y