#ifndef FBLIB_H #define FBLIB_H #include #include #include #include #include "fbfont.h" struct s_color { unsigned char r; unsigned char g; unsigned char b; }; typedef struct s_color color; struct s_screen { char *buffer; unsigned int width; unsigned int height; unsigned char bpp; // bits per pixel unsigned char step; // byte-wise step per pixel unsigned int line; // line length unsigned int screensize; }; typedef struct s_screen screen; void put_pixel(screen fb, int x, int y, int r, int g, int b); void clear_screen(screen fb); void draw_line(screen fb, int x0, int y0, int x1, int y1, int r, int g, int b); void draw_rect(screen fb, int x0, int y0, int w, int h, int r, int g, int b); void fill_rect(screen fb, int x, int y, int w, int h, int r, int g, int b); void draw_circle(screen fb, int x0, int y0, int radius, int r, int g, int b); void fill_circle(screen fb, int x0, int y0, int radius, int r, int g, int b); void render_string(screen fb, fbfont font, char *text, int x, int y, int r, int g, int b); #endif