From b4447c1c7bc8639774df6bd74428977908bff61e Mon Sep 17 00:00:00 2001 From: dzwdz Date: Tue, 2 Aug 2022 15:20:31 +0200 Subject: user/vterm: split into separate files --- src/user/app/vterm/vterm.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/user/app/vterm/vterm.h (limited to 'src/user/app/vterm/vterm.h') diff --git a/src/user/app/vterm/vterm.h b/src/user/app/vterm/vterm.h new file mode 100644 index 0000000..5e09105 --- /dev/null +++ b/src/user/app/vterm/vterm.h @@ -0,0 +1,42 @@ +#pragma once +#include +#include +#include + +#define eprintf(fmt, ...) fprintf(stderr, "vterm: "fmt"\n" __VA_OPT__(,) __VA_ARGS__) + + +struct psf { + 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 psf font; +extern void *font_data; +void font_load(const char *path); +void font_blit(uint32_t glyph, int x, int y); + + +struct framebuf { + size_t len, width, height, pitch; + char *b; +}; +extern struct framebuf fb; +extern handle_t fb_fd; + +struct rect { + uint32_t x1, y1, x2, y2; +}; +extern struct rect dirty; +void dirty_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); -- cgit v1.2.3