summaryrefslogtreecommitdiff
path: root/src/user/lib/draw/draw.h
blob: ba15840015461d750404e65d1725edb6d673e40f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once
#include <camellia/types.h>
#include <stddef.h>
#include <stdint.h>

struct framebuf {
	size_t len, width, height, pitch;
	uint8_t bpp;
	char *b;

	handle_t fd;
};

struct rect { uint32_t x1, y1, x2, y2; };
void dirty_reset(struct rect *d);
void dirty_mark(struct rect *d, uint32_t x, uint32_t y);
void dirty_flush(struct rect *d, struct framebuf *fb);

int fb_setup(struct framebuf *fb, const char *base);