1 | interface fb extends service {
|
---|
2 | /* Get screen resolution */
|
---|
3 | ipcarg_t get_resolution(out ipcarg_t width, out ipcarg_t height);
|
---|
4 |
|
---|
5 | /* Yield screen */
|
---|
6 | ipcarg_t screen_yield(void);
|
---|
7 |
|
---|
8 | /* Reclaim screen */
|
---|
9 | ipcarg_t screen_reclaim(void);
|
---|
10 |
|
---|
11 | /* Set mouse cursor position on screen */
|
---|
12 | ipcarg_t pointer_move(in ipcarg_t x, in ipcarg_t y);
|
---|
13 |
|
---|
14 | /* Create new viewport */
|
---|
15 | ipcarg_t viewport_create(in ipcarg_t origin, in ipcarg_t dimension);
|
---|
16 |
|
---|
17 | /* Get viewport size in character cells */
|
---|
18 | ipcarg_t get_csize(out ipcarg_t width, out ipcarg_t height);
|
---|
19 |
|
---|
20 | /* Clear viewport character buffer */
|
---|
21 | ipcarg_t clear(void);
|
---|
22 |
|
---|
23 | /* Scroll viewport character buffer */
|
---|
24 | ipcarg_t scroll(in ipcarg_t lines);
|
---|
25 |
|
---|
26 | /* Set active viewport */
|
---|
27 | ipcarg_t viewport_switch(in ipcarg_t index);
|
---|
28 |
|
---|
29 | /* Delete viewport */
|
---|
30 | ipcarg_t viewport_delete(in ipcarg_t index);
|
---|
31 |
|
---|
32 | /* Get color capabilities of the screen */
|
---|
33 | ipcarg_t get_color_cap(void);
|
---|
34 |
|
---|
35 | /* Set abstract text style */
|
---|
36 | ipcarg_t set_style(in ipcarg_t style);
|
---|
37 |
|
---|
38 | /* Set EGA-based text color */
|
---|
39 | ipcarg_t set_color(in ipcarg_t fg_color, in ipcarg_t bg_color, in ipcarg_t atrr);
|
---|
40 |
|
---|
41 | /* Set RGB-based text color */
|
---|
42 | ipcarg_t set_rgb_color(in ipcarg_t fg_color, in ipcarg_t bg_color);
|
---|
43 |
|
---|
44 | /* Put a character to a given position in viewport character buffer */
|
---|
45 | ipcarg_t putchar(in ipcarg_t char, in ipcarg_t col, in ipcarg_t row);
|
---|
46 |
|
---|
47 | /* Set character cursor visibility in viewport */
|
---|
48 | ipcarg_t cursor_visibility(in ipcarg_t visible);
|
---|
49 |
|
---|
50 | /* Set character cursor position in viewport */
|
---|
51 | ipcarg_t cursor_goto(in ipcarg_t col, in ipcarg_t row);
|
---|
52 |
|
---|
53 | /* Prepare memory sharing of bitmaps */
|
---|
54 | ipcarg_t prepare_shm(in ipcarg_t as_area_base);
|
---|
55 |
|
---|
56 | /* Share bitmap or text data */
|
---|
57 | ipcarg_t ipc_m_share_out(in ipcarg_t as_area_base, in ipcarg_t as_area_size, out ipcarg_t dst_as_area);
|
---|
58 |
|
---|
59 | /* Drop memory sharing */
|
---|
60 | ipcarg_t drop_shm(void);
|
---|
61 |
|
---|
62 | /* Draw PPM data from shared memory to viewport */
|
---|
63 | ipcarg_t draw_ppm(in ipcarg_t x, in ipcarg_t y);
|
---|
64 |
|
---|
65 | /* Put characters from shared memory to viewport */
|
---|
66 | ipcarg_t draw_text_data(in ipcarg_t x, in ipcarg_t y, in ipcarg_t width, in ipcarg_t height);
|
---|
67 |
|
---|
68 | /* Convert PPM data from shared memory to pixmap */
|
---|
69 | ipcarg_t shm2pixmap(void);
|
---|
70 |
|
---|
71 | /* Save viewport contents to a pixmap */
|
---|
72 | ipcarg_t vp2pixmap(in ipcarg_t vp_index);
|
---|
73 |
|
---|
74 | /* Draw pixmap to viewport */
|
---|
75 | ipcarg_t vp_draw_pixmap(in ipcarg_t vp_index, in ipcarg_t pm_index);
|
---|
76 |
|
---|
77 | /* Discard pixmap */
|
---|
78 | ipcarg_t drop_pixmap(in ipcarg_t pm_index);
|
---|
79 |
|
---|
80 | /* Create new (empty) animation for a viewport */
|
---|
81 | ipcarg_t anim_create(in ipcarg_t vp_index);
|
---|
82 |
|
---|
83 | /* Append a pixmap to an animation */
|
---|
84 | ipcarg_t anim_addpixmap(in ipcarg_t anim_index, in ipcarg_t pm_index);
|
---|
85 |
|
---|
86 | /* Change a viewport associated with an animation */
|
---|
87 | ipcarg_t anim_chgvp(in ipcarg_t anim_index, in ipcarg_t vp_index);
|
---|
88 |
|
---|
89 | /* Start animation playback */
|
---|
90 | ipcarg_t anim_start(in ipcarg_t anim_index);
|
---|
91 |
|
---|
92 | /* Stop animation playback */
|
---|
93 | ipcarg_t anim_stop(in ipcarg_t anim_index);
|
---|
94 |
|
---|
95 | /* Delete animation */
|
---|
96 | ipcarg_t anim_drop(in ipcarg_t anim_index);
|
---|
97 | protocol:
|
---|
98 | [fb.bp]
|
---|
99 | };
|
---|
100 |
|
---|
101 | frame fb {
|
---|
102 | provides:
|
---|
103 | fb fb;
|
---|
104 | requires:
|
---|
105 | [/uspace/lib/libc/requires]
|
---|
106 | ns ns;
|
---|
107 | protocol:
|
---|
108 | [/uspace/lib/libc/protocol] |
|
---|
109 | [fb_server.bp]
|
---|
110 | };
|
---|