From 9f16b032d38613ca95e321e1d1e652c43129c68b Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sat, 15 Aug 2020 17:42:36 +0200 Subject: Added libgui --- libgui/inc/vesa.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 libgui/inc/vesa.h (limited to 'libgui/inc') diff --git a/libgui/inc/vesa.h b/libgui/inc/vesa.h new file mode 100644 index 0000000..e34cdc0 --- /dev/null +++ b/libgui/inc/vesa.h @@ -0,0 +1,57 @@ +// MIT License, Copyright (c) 2020 Marvin Borner + +#ifndef VBE_H +#define VBE_H + +#include + +struct vbe { + u16 attributes; + u8 window_a; + u8 window_b; + u16 granularity; + u16 window_size; + u16 segment_a; + u16 segment_b; + u32 win_func_ptr; + u16 pitch; + u16 width; + u16 height; + u8 w_char; + u8 y_char; + u8 planes; + u8 bpp; + u8 banks; + u8 memory_model; + u8 bank_size; + u8 image_pages; + u8 reserved0; + + u8 red_mask; + u8 red_position; + u8 green_mask; + u8 green_position; + u8 blue_mask; + u8 blue_position; + u8 reserved_mask; + u8 reserved_position; + u8 direct_color_attributes; + + u32 framebuffer; + u32 off_screen_mem_off; + u16 off_screen_mem_size; + u8 reserved1[206]; +}; + +struct vbe *vbe; +int vbe_width; +int vbe_height; +int vbe_bpl; +int vbe_pitch; +u8 *fb; + +void vesa_fill(const u32 color[3]); +void vesa_set_pixel(u16 x, u16 y, const u32 color[3]); +void vesa_init(struct vbe *info); + +#endif -- cgit v1.2.3