blob: 5e091050bd46d4740def2cb51fa4c8e0b358a00e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#pragma once
#include <camellia/types.h>
#include <stdint.h>
#include <stdio.h>
#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);
|