From 9dc527b3be9d493dcf8cf1baf78477373eb5990d Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Mon, 26 Apr 2021 12:37:34 +0200 Subject: Enable psf font for framebuffer display --- src/drivers/framebuffer.hpp | 53 ++++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 30 deletions(-) (limited to 'src/drivers/framebuffer.hpp') 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 -- cgit v1.2.3