-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathepd.h
59 lines (48 loc) · 1.13 KB
/
epd.h
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#ifndef _EPD_H_
#define _EPD_H_
struct epd_driver;
struct epd_frame_size {
size_t line;
size_t col;
};
struct epd_frame {
size_t nrline;
size_t nrdot;
unsigned int bytes_per_line;
u8 data[];
};
struct epd_ops {
int (*draw_frame)(struct epd_driver *drv);
};
struct epd_driver {
char const *name;
char const *desc;
struct epd_frame_size const *framesz;
struct epd_ops ops;
};
struct epd;
/**
* epd_get_cur_fb - Get current/displayed framebuffer
* @epd: epaper display driver to get frambuffer from
*/
struct epd_frame *epd_get_cur_fb(struct epd *epd);
/**
* epd_get_alt_fb - Get alternative framebuffer.
* @epd: epaper display driver to get framebuffer form
*
* Return the temporary alternative framebuffer that will be the one
* displayed at next screen update.
*/
struct epd_frame *epd_get_alt_fb(struct epd *epd);
/**
* epd_create - Create a new epaper display driver
* @dev: Parent device
* @drv: epaper display driver description
*/
struct epd *epd_create(struct device *dev, struct epd_driver *drv);
/**
* Release a epaper display driver
* @epd: epaper display driver to release
*/
void epd_put(struct epd *epd);
#endif