Files
RockOS/kernel/drivers/vga/vga.h
2026-07-15 23:02:24 -05:00

47 lines
947 B
C

#ifndef DVGA_H
#define DVGA_H
#include <vfs.h>
#include <lib/font.h>
#define VGA_FRAMEBUFFER 0xF0000000
typedef struct {
uint8_t b;
uint8_t g;
uint8_t r;
uint8_t a;
} vga_color_t;
extern vga_color_t VGA_COLOR_BLACK;
extern vga_color_t VGA_COLOR_RED;
extern vga_color_t VGA_COLOR_GREEN;
extern vga_color_t VGA_COLOR_BLUE;
void vga_init(
uint32_t fb_paddr,
uint32_t fb_width,
uint32_t fb_height,
uint32_t fb_pitch,
uint8_t fb_bpp,
uint8_t red_mask_sz,
uint8_t red_field_pos,
uint8_t green_mask_sz,
uint8_t green_field_pos,
uint8_t blue_mask_sz,
uint8_t blue_field_pos
);
uint32_t vga_get_framebuffer();
uint32_t vga_get_width();
uint32_t vga_get_height();
uint32_t vga_get_pitch();
uint8_t vga_get_bpp();
void vga_clear_scrn(uint32_t color);
uint32_t vga_write(vfs_node_t* node, uint32_t offset, uint32_t size, uint8_t* buf);
void test_draw_vertical_line(uint32_t x, uint32_t y_start, uint32_t y_end, uint32_t color);
#endif