Changeset 10270a8 in mainline for uspace/srv/fb/serial_console.c


Ignore:
Timestamp:
2009-04-24T20:24:41Z (15 years ago)
Author:
Jiri Svoboda <jirik.svoboda@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ebfabf6
Parents:
c07544d3
Message:

Better switch to kcon on serial console — relinquish/reclaim screen before/after switching to kcon.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fb/serial_console.c

    rc07544d3 r10270a8  
    275275
    276276                for (i = 0; i < w; i++) {
    277                         unsigned int col = x + i;
    278                         unsigned int row = y + j;
    279 
    280277                        field = &data[j * w + i];
    281278
     
    305302        wchar_t c;
    306303        int col, row, w, h;
    307         int fgcolor;
    308         int bgcolor;
    309         int flags;
    310         int style;
    311304        int i;
    312305
     306        attrs_t cur_attr;
    313307       
    314308        if (client_connected) {
     
    319313        client_connected = 1;
    320314        ipc_answer_0(iid, EOK);
     315
     316        cur_attr.t = at_style;
     317        cur_attr.a.s.style = STYLE_NORMAL;
    321318       
    322319        /* Clear the terminal, set scrolling region
     
    389386                        break;
    390387                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
    393393                        retval = 0;
    394394                        break;
    395395                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
    401402                        retval = 0;
    402403                        break;
    403404                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
    408410                        retval = 0;
    409411                        break;
     
    425427                        retval = 0;
    426428                        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;
    427441                default:
    428442                        retval = ENOENT;
Note: See TracChangeset for help on using the changeset viewer.