Changeset 10270a8 in mainline
- Timestamp:
- 2009-04-24T20:24:41Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ebfabf6
- Parents:
- c07544d3
- Location:
- uspace
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/include/ipc/fb.h
rc07544d3 r10270a8 67 67 FB_ANIM_START, 68 68 FB_ANIM_STOP, 69 FB_POINTER_MOVE 69 FB_POINTER_MOVE, 70 FB_SCREEN_GRAB, 71 FB_SCREEN_RELINQUISH 70 72 } fb_request_t; 71 73 -
uspace/srv/console/console.c
rc07544d3 r10270a8 142 142 } 143 143 144 static void screen_grab(void) 145 { 146 ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_GRAB); 147 } 148 149 static void screen_relinquish(void) 150 { 151 ipc_call_sync_0_0(fb_info.phone, FB_SCREEN_RELINQUISH); 152 } 153 144 154 static void set_style(int style) 145 155 { … … 331 341 curs_hide_sync(); 332 342 gcons_in_kernel(); 343 screen_relinquish(); 333 344 async_serialize_end(); 345 334 346 335 347 if (__SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE)) { … … 343 355 async_serialize_start(); 344 356 345 if (active_console == KERNEL_CONSOLE) 357 if (active_console == KERNEL_CONSOLE) { 358 screen_grab(); 346 359 gcons_redraw_console(); 360 } 347 361 348 362 active_console = newcons; -
uspace/srv/fb/ega.c
rc07544d3 r10270a8 392 392 retval = 0; 393 393 break; 394 394 case FB_SCREEN_GRAB: 395 case FB_SCREEN_RELINQUISH: 396 retval = EOK; 397 break; 395 398 default: 396 399 retval = EINVAL; -
uspace/srv/fb/fb.c
rc07544d3 r10270a8 1714 1714 retval = EOK; 1715 1715 break; 1716 case FB_SCREEN_GRAB: 1717 case FB_SCREEN_RELINQUISH: 1718 retval = EOK; 1719 break; 1716 1720 default: 1717 1721 retval = ENOENT; -
uspace/srv/fb/serial_console.c
rc07544d3 r10270a8 275 275 276 276 for (i = 0; i < w; i++) { 277 unsigned int col = x + i;278 unsigned int row = y + j;279 280 277 field = &data[j * w + i]; 281 278 … … 305 302 wchar_t c; 306 303 int col, row, w, h; 307 int fgcolor;308 int bgcolor;309 int flags;310 int style;311 304 int i; 312 305 306 attrs_t cur_attr; 313 307 314 308 if (client_connected) { … … 319 313 client_connected = 1; 320 314 ipc_answer_0(iid, EOK); 315 316 cur_attr.t = at_style; 317 cur_attr.a.s.style = STYLE_NORMAL; 321 318 322 319 /* Clear the terminal, set scrolling region … … 389 386 break; 390 387 case FB_SET_STYLE: 391 style = IPC_GET_ARG1(call); 392 serial_set_style(style); 388 cur_attr.t = at_style; 389 cur_attr.a.s.style = IPC_GET_ARG1(call); 390 cur_attr.a.i.bg_color = IPC_GET_ARG2(call); 391 serial_set_attrs(&cur_attr); 392 393 393 retval = 0; 394 394 break; 395 395 case FB_SET_COLOR: 396 fgcolor = IPC_GET_ARG1(call); 397 bgcolor = IPC_GET_ARG2(call); 398 flags = IPC_GET_ARG3(call); 399 400 serial_set_idx(fgcolor, bgcolor, flags); 396 cur_attr.t = at_idx; 397 cur_attr.a.i.fg_color = IPC_GET_ARG1(call); 398 cur_attr.a.i.bg_color = IPC_GET_ARG2(call); 399 cur_attr.a.i.flags = IPC_GET_ARG3(call); 400 serial_set_attrs(&cur_attr); 401 401 402 retval = 0; 402 403 break; 403 404 case FB_SET_RGB_COLOR: 404 fgcolor = IPC_GET_ARG1(call); 405 bgcolor = IPC_GET_ARG2(call); 406 407 serial_set_rgb(fgcolor, bgcolor); 405 cur_attr.t = at_rgb; 406 cur_attr.a.i.fg_color = IPC_GET_ARG1(call); 407 cur_attr.a.i.bg_color = IPC_GET_ARG2(call); 408 serial_set_attrs(&cur_attr); 409 408 410 retval = 0; 409 411 break; … … 425 427 retval = 0; 426 428 break; 429 case FB_SCREEN_GRAB: 430 serial_clrscr(); 431 serial_set_attrs(&cur_attr); 432 retval = 0; 433 break; 434 case FB_SCREEN_RELINQUISH: 435 serial_sgr(SGR_RESET); 436 serial_puts("\033[2J"); 437 serial_goto(0, 0); 438 serial_cursor_enable(); 439 retval = 0; 440 break; 427 441 default: 428 442 retval = ENOENT;
Note:
See TracChangeset
for help on using the changeset viewer.