Changeset a8b2b5b in mainline


Ignore:
Timestamp:
2006-06-04T18:45:35Z (19 years ago)
Author:
Josef Cejka <malyzelenyhnus@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ec9623d
Parents:
d32af35
Message:

Support for console show/hide cursor.
Tetris without cursor.

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • console/console.c

    rd32af35 ra8b2b5b  
    248248                /* This call can preempt, but we are already at the end */
    249249                sync_send_2(fb_info.phone, FB_DRAW_TEXT_DATA, 0, 0, NULL, NULL);               
    250                 curs_visibility(1);
     250                curs_visibility(conn->screenbuffer.is_cursor_visible);
    251251        } else {
    252                 curs_visibility(0);
    253252                clrscr();
    254253               
     
    260259                        }
    261260               
    262                 curs_visibility(1);
     261                curs_visibility(conn->screenbuffer.is_cursor_visible);
    263262        }
    264263}
     
    381380                                set_style_col(arg1, arg2);
    382381                               
     382                        break;
     383                case CONSOLE_CURSOR_VISIBILITY:
     384                        arg1 = IPC_GET_ARG1(call);
     385                        connections[consnum].screenbuffer.is_cursor_visible = arg1;
     386                        if (consnum == active_console)
     387                                curs_visibility(arg1);
    383388                        break;
    384389                case CONSOLE_GETCHAR:
     
    394399                                continue;
    395400                        };
    396                         keybuffer_pop(&(connections[consnum].keybuffer), (char *)&arg1);
     401                        keybuffer_pop(&(connections[consnum].keybuffer), (int *)&arg1);
    397402                       
    398403                        break;
     
    465470        async_new_connection(phonehash, 0, NULL, keyboard_events);
    466471       
    467         sync_send_2(fb_info.phone, FB_CURSOR_GOTO, 0, 0, NULL, NULL);
    468         nsend_call(fb_info.phone, FB_CURSOR_VISIBILITY, 1);
     472        curs_goto(0,0);
     473        curs_visibility(connections[active_console].screenbuffer.is_cursor_visible);
    469474
    470475        /* Register at NS */
  • console/console.h

    rd32af35 ra8b2b5b  
    4141#define CONSOLE_FLUSH           1031
    4242#define CONSOLE_SET_STYLE       1032
     43#define CONSOLE_CURSOR_VISIBILITY       1033
    4344
    4445#endif
  • console/screenbuffer.c

    rd32af35 ra8b2b5b  
    6161        scr->style.fg_color = DEFAULT_FOREGROUND;
    6262        scr->style.bg_color = DEFAULT_BACKGROUND;
     63        scr->is_cursor_visible = 1;
    6364       
    6465        screenbuffer_clear(scr);
  • console/screenbuffer.h

    rd32af35 ra8b2b5b  
    5353        style_t style;                          /**< Current style */
    5454        unsigned int top_line;                  /**< Points to buffer[][] line that will be printed at screen as the first line */
     55        unsigned char is_cursor_visible;        /**< Cursor state - default is visible */
    5556} screenbuffer_t;
    5657
  • tetris/screen.c

    rd32af35 ra8b2b5b  
    114114{
    115115        con_phone = get_fd_phone(1);
     116        send_call(con_phone, CONSOLE_CURSOR_VISIBILITY, 0);
    116117        resume_normal();
    117118        scr_clear();
Note: See TracChangeset for help on using the changeset viewer.