Rev 1592 | Rev 1646 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1592 | Rev 1610 | ||
---|---|---|---|
Line 73... | Line 73... | ||
73 | 73 | ||
74 | static int active_console = 0; |
74 | static int active_console = 0; |
75 | 75 | ||
76 | static void vp_switch(int vp) |
76 | static void vp_switch(int vp) |
77 | { |
77 | { |
78 | nsend_call(fbphone,FB_VIEWPORT_SWITCH, vp); |
78 | async_msg(fbphone,FB_VIEWPORT_SWITCH, vp); |
79 | } |
79 | } |
80 | 80 | ||
81 | /** Create view port */ |
81 | /** Create view port */ |
82 | static int vp_create(unsigned int x, unsigned int y, |
82 | static int vp_create(unsigned int x, unsigned int y, |
83 | unsigned int width, unsigned int height) |
83 | unsigned int width, unsigned int height) |
Line 88... | Line 88... | ||
88 | NULL, NULL); |
88 | NULL, NULL); |
89 | } |
89 | } |
90 | 90 | ||
91 | static void clear(void) |
91 | static void clear(void) |
92 | { |
92 | { |
93 | nsend_call(fbphone, FB_CLEAR, 0); |
93 | async_msg(fbphone, FB_CLEAR, 0); |
94 | 94 | ||
95 | } |
95 | } |
96 | 96 | ||
97 | static void set_style(int fgcolor, int bgcolor) |
97 | static void set_style(int fgcolor, int bgcolor) |
98 | { |
98 | { |
99 | nsend_call_2(fbphone, FB_SET_STYLE, fgcolor, bgcolor); |
99 | async_msg_2(fbphone, FB_SET_STYLE, fgcolor, bgcolor); |
100 | } |
100 | } |
101 | 101 | ||
102 | /** Transparent putchar */ |
102 | /** Transparent putchar */ |
103 | static void tran_putch(char c, int row, int col) |
103 | static void tran_putch(char c, int row, int col) |
104 | { |
104 | { |
105 | nsend_call_3(fbphone, FB_TRANS_PUTCHAR, c, row, col); |
105 | async_msg_3(fbphone, FB_TRANS_PUTCHAR, c, row, col); |
106 | } |
106 | } |
107 | 107 | ||
108 | /** Redraw the button showing state of a given console */ |
108 | /** Redraw the button showing state of a given console */ |
109 | static void redraw_state(int consnum) |
109 | static void redraw_state(int consnum) |
110 | { |
110 | { |
Line 112... | Line 112... | ||
112 | int i; |
112 | int i; |
113 | enum butstate state = console_state[consnum]; |
113 | enum butstate state = console_state[consnum]; |
114 | 114 | ||
115 | vp_switch(cstatus_vp[consnum]); |
115 | vp_switch(cstatus_vp[consnum]); |
116 | if (ic_pixmaps[state] != -1) |
116 | if (ic_pixmaps[state] != -1) |
117 | nsend_call_2(fbphone, FB_VP_DRAW_PIXMAP, cstatus_vp[consnum], ic_pixmaps[state]); |
117 | async_msg_2(fbphone, FB_VP_DRAW_PIXMAP, cstatus_vp[consnum], ic_pixmaps[state]); |
118 | 118 | ||
119 | if (state != CONS_DISCONNECTED && state != CONS_KERNEL && state != CONS_DISCONNECTED_SEL) { |
119 | if (state != CONS_DISCONNECTED && state != CONS_KERNEL && state != CONS_DISCONNECTED_SEL) { |
120 | snprintf(data, 5, "%d", consnum+1); |
120 | snprintf(data, 5, "%d", consnum+1); |
121 | for (i=0;data[i];i++) |
121 | for (i=0;data[i];i++) |
122 | tran_putch(data[i], 1, 2+i); |
122 | tran_putch(data[i], 1, 2+i); |
Line 236... | Line 236... | ||
236 | if (shm == MAP_FAILED) |
236 | if (shm == MAP_FAILED) |
237 | return; |
237 | return; |
238 | 238 | ||
239 | memcpy(shm, logo, size); |
239 | memcpy(shm, logo, size); |
240 | /* Send area */ |
240 | /* Send area */ |
241 | rc = sync_send_2(fbphone, FB_PREPARE_SHM, (ipcarg_t)shm, 0, NULL, NULL); |
241 | rc = async_req_2(fbphone, FB_PREPARE_SHM, (ipcarg_t)shm, 0, NULL, NULL); |
242 | if (rc) |
242 | if (rc) |
243 | goto exit; |
243 | goto exit; |
244 | rc = sync_send_3(fbphone, IPC_M_AS_AREA_SEND, (ipcarg_t)shm, 0, PROTO_READ, NULL, NULL, NULL); |
244 | rc = async_req_3(fbphone, IPC_M_AS_AREA_SEND, (ipcarg_t)shm, 0, PROTO_READ, NULL, NULL, NULL); |
245 | if (rc) |
245 | if (rc) |
246 | goto drop; |
246 | goto drop; |
247 | /* Draw logo */ |
247 | /* Draw logo */ |
248 | nsend_call_2(fbphone, FB_DRAW_PPM, x, y); |
248 | async_msg_2(fbphone, FB_DRAW_PPM, x, y); |
249 | drop: |
249 | drop: |
250 | /* Drop area */ |
250 | /* Drop area */ |
251 | nsend_call(fbphone, FB_DROP_SHM, 0); |
251 | async_msg(fbphone, FB_DROP_SHM, 0); |
252 | exit: |
252 | exit: |
253 | /* Remove area */ |
253 | /* Remove area */ |
254 | munmap(shm, size); |
254 | munmap(shm, size); |
255 | } |
255 | } |
256 | 256 | ||
Line 295... | Line 295... | ||
295 | if (shm == MAP_FAILED) |
295 | if (shm == MAP_FAILED) |
296 | return -1; |
296 | return -1; |
297 | 297 | ||
298 | memcpy(shm, data, size); |
298 | memcpy(shm, data, size); |
299 | /* Send area */ |
299 | /* Send area */ |
300 | rc = sync_send_2(fbphone, FB_PREPARE_SHM, (ipcarg_t)shm, 0, NULL, NULL); |
300 | rc = async_req_2(fbphone, FB_PREPARE_SHM, (ipcarg_t)shm, 0, NULL, NULL); |
301 | if (rc) |
301 | if (rc) |
302 | goto exit; |
302 | goto exit; |
303 | rc = sync_send_3(fbphone, IPC_M_AS_AREA_SEND, (ipcarg_t)shm, 0, PROTO_READ, NULL, NULL, NULL); |
303 | rc = async_req_3(fbphone, IPC_M_AS_AREA_SEND, (ipcarg_t)shm, 0, PROTO_READ, NULL, NULL, NULL); |
304 | if (rc) |
304 | if (rc) |
305 | goto drop; |
305 | goto drop; |
306 | 306 | ||
307 | /* Obtain pixmap */ |
307 | /* Obtain pixmap */ |
308 | rc = sync_send(fbphone, FB_SHM2PIXMAP, 0, NULL); |
308 | rc = async_req(fbphone, FB_SHM2PIXMAP, 0, NULL); |
309 | if (rc < 0) |
309 | if (rc < 0) |
310 | goto drop; |
310 | goto drop; |
311 | pxid = rc; |
311 | pxid = rc; |
312 | drop: |
312 | drop: |
313 | /* Drop area */ |
313 | /* Drop area */ |
314 | nsend_call(fbphone, FB_DROP_SHM, 0); |
314 | async_msg(fbphone, FB_DROP_SHM, 0); |
315 | exit: |
315 | exit: |
316 | /* Remove area */ |
316 | /* Remove area */ |
317 | munmap(shm, size); |
317 | munmap(shm, size); |
318 | 318 | ||
319 | return pxid; |
319 | return pxid; |