#pragma once #include "render/Color.h" class Framebuffer { public: void init(void* fb_address, int fb_type, int fb_scanline, int fb_width, int fb_height); void set_pixel(uint32_t x, uint32_t y, Color color); Color get_pixel(uint32_t x, uint32_t y); void paint_rect(uint32_t x, uint32_t y, uint32_t w, uint32_t h, Color color); void paint_rect(uint32_t x, uint32_t y, uint32_t w, uint32_t h, Color* colors); void clear(Color color); int width() { return m_fb_width; } int height() { return m_fb_height; } private: void* m_fb_address; int m_fb_type; int m_fb_scanline; int m_fb_width; int m_fb_height; }; extern Framebuffer framebuffer0;