#pragma once #include #include #include #include struct psf1 { uint16_t magic; uint8_t mode; uint8_t h; } __attribute__((packed)); struct psf2 { uint32_t magic; uint32_t version; uint32_t glyph_offset; uint32_t flags; uint32_t glyph_amt; uint32_t glyph_size; uint32_t h; uint32_t w; } __attribute__((packed)); extern struct psf2 font; extern void *font_data; void font_load(const char *path); void font_blit(uint32_t glyph, int x, int y); extern struct framebuf fb; extern struct rect dirty; void vdirty_mark(uint32_t x, uint32_t y); void flush(void); void scroll(void); struct point {uint32_t x, y;}; extern struct point cursor; void in_char(char c);