Rev 4167 | Rev 4235 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4167 | Rev 4211 | ||
---|---|---|---|
Line 100... | Line 100... | ||
100 | { |
100 | { |
101 | while (*str) |
101 | while (*str) |
102 | putc_function(*(str++)); |
102 | putc_function(*(str++)); |
103 | } |
103 | } |
104 | 104 | ||
- | 105 | void serial_putchar(wchar_t ch) |
|
- | 106 | { |
|
- | 107 | (*putc_function)(ch); |
|
- | 108 | } |
|
- | 109 | ||
105 | void serial_goto(const unsigned int row, const unsigned int col) |
110 | void serial_goto(const unsigned int row, const unsigned int col) |
106 | { |
111 | { |
107 | if ((row > scr_height) || (col > scr_width)) |
112 | if ((row > scr_height) || (col > scr_width)) |
108 | return; |
113 | return; |
109 | 114 | ||
Line 254... | Line 259... | ||
254 | field = &data[j * w + i]; |
259 | field = &data[j * w + i]; |
255 | 260 | ||
256 | a1 = &field->attrs; |
261 | a1 = &field->attrs; |
257 | if (!attrs_same(*a0, *a1)) |
262 | if (!attrs_same(*a0, *a1)) |
258 | serial_set_attrs(a1); |
263 | serial_set_attrs(a1); |
259 | (*putc_function)(field->character); |
264 | serial_putchar(field->character); |
260 | a0 = a1; |
265 | a0 = a1; |
261 | } |
266 | } |
262 | } |
267 | } |
263 | } |
268 | } |
264 | 269 | ||
Line 274... | Line 279... | ||
274 | ipc_callid_t callid; |
279 | ipc_callid_t callid; |
275 | ipc_call_t call; |
280 | ipc_call_t call; |
276 | keyfield_t *interbuf = NULL; |
281 | keyfield_t *interbuf = NULL; |
277 | size_t intersize = 0; |
282 | size_t intersize = 0; |
278 | 283 | ||
279 | char c; |
284 | wchar_t c; |
280 | int col, row, w, h; |
285 | int col, row, w, h; |
281 | int fgcolor; |
286 | int fgcolor; |
282 | int bgcolor; |
287 | int bgcolor; |
283 | int flags; |
288 | int flags; |
284 | int style; |
289 | int style; |
Line 341... | Line 346... | ||
341 | col = IPC_GET_ARG3(call); |
346 | col = IPC_GET_ARG3(call); |
342 | if ((lastcol != col) || (lastrow != row)) |
347 | if ((lastcol != col) || (lastrow != row)) |
343 | serial_goto(row, col); |
348 | serial_goto(row, col); |
344 | lastcol = col + 1; |
349 | lastcol = col + 1; |
345 | lastrow = row; |
350 | lastrow = row; |
346 | (*putc_function)(c); |
351 | serial_putchar(c); |
347 | retval = 0; |
352 | retval = 0; |
348 | break; |
353 | break; |
349 | case FB_CURSOR_GOTO: |
354 | case FB_CURSOR_GOTO: |
350 | row = IPC_GET_ARG1(call); |
355 | row = IPC_GET_ARG1(call); |
351 | col = IPC_GET_ARG2(call); |
356 | col = IPC_GET_ARG2(call); |