diff options
Diffstat (limited to 'src/drivers/framebuffer.hpp')
| -rw-r--r-- | src/drivers/framebuffer.hpp | 53 |
1 files changed, 23 insertions, 30 deletions
diff --git a/src/drivers/framebuffer.hpp b/src/drivers/framebuffer.hpp index fb09d6f..958a44b 100644 --- a/src/drivers/framebuffer.hpp +++ b/src/drivers/framebuffer.hpp @@ -1,33 +1,26 @@ #pragma once -#include "core/types.hpp" - -typedef enum VIDEO_COLORS { - BLACK=0, BLUE=1, GREEN=2,CYAN=3, RED=4,PURPLE=5,BROWN=6,GRAY=7, - DARK_GRAY=8,LIGHT_BLUE=9,LIGHT_GREEN=10,LIGHT_CYAN=11,LIGHT_RED=12,LIGHT_PURPLE=13,YELLOW=14,WHITE=15 - -} VIDEO_COLORS; - -typedef struct VIDEO_STATE { - u8 *mem; - u8 col; - u8 line; - u8 bg; - u8 fg; -} VIDEO_STATE; - -/** - * Print char - */ -void putchar(char); - -/** - * Scroll the framebuffer from one line - */ -void scrollup(); - -/** - * Clear all char from the framebuffer - */ -void clear(); +#include "include/boucane.hpp" +typedef struct { + u32 pitch; + u32 depth; + u64 location; + u32 width; + u32 height; +} __attribute__((packed)) FB_CFG; + +typedef struct { + u32 x,y; + u8 r,g,b,a; +} __attribute__((packed)) FB_PIXEL; + +extern FB_CFG fb_cfg; + +void framebuffer_init(FB_CFG config); + +void framebuffer_draw(FB_PIXEL p); + +void framebuffer_scrollup(u32 npixel); + +void framebuffer_clear();
\ No newline at end of file |
