Changeset 9805cde in mainline for uspace/app


Ignore:
Timestamp:
2009-01-01T13:31:23Z (17 years ago)
Author:
Jiri Svoboda <jirik.svoboda@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7122bc7
Parents:
666773c
Message:

Console color support overhaul. Create C library console interface.

Location:
uspace/app
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bdsh/input.c

    r666773c r9805cde  
    3434#include <string.h>
    3535#include <io/stream.h>
     36#include <console.h>
    3637
    3738#include "config.h"
     
    165166        size_t len = 0;
    166167
     168        console_set_style(STYLE_EMPHASIS);
    167169        printf("%s", usr->prompt);
     170        console_set_style(STYLE_NORMAL);
     171
    168172        read_line(line, INPUT_MAX);
    169173        len = strlen(line);
  • uspace/app/tester/console/console1.c

    r666773c r9805cde  
    3333#include "../tester.h"
    3434
    35 #include <ipc/console.h>
     35#include <console.h>
    3636
    37 static void set_style(int fgcolor, int bgcolor)
    38 {
    39         int con_phone = get_cons_phone();
    40         async_msg_2(con_phone, CONSOLE_SET_STYLE, fgcolor, bgcolor);
    41 }
     37const char *color_name[] = {
     38        [COLOR_BLACK] = "black",
     39        [COLOR_BLUE] = "blue",
     40        [COLOR_GREEN] = "green",
     41        [COLOR_CYAN] = "cyan",
     42        [COLOR_RED] = "red",
     43        [COLOR_MAGENTA] = "magenta",
     44        [COLOR_YELLOW] = "yellow",
     45        [COLOR_WHITE] = "white"
     46};
    4247
    4348char * test_console1(bool quiet)
    4449{
    45         set_style(0xff0000, 0xf0f0f0);
    46         printf("Red on white background.\n");
    47         set_style(0x008080, 0x000080);
    48         printf("Cyan on blue background.\n");
    49         set_style(0x000000, 0xf0f0f0);
    50         printf("Black on white background.\n");
     50        int i, j;
     51
     52        printf("Style test: ");
     53        console_set_style(STYLE_NORMAL);
     54        printf("normal ");
     55        console_set_style(STYLE_EMPHASIS);
     56        printf("emphasized");
     57        console_set_style(STYLE_NORMAL);
     58        printf(".\n");
     59
     60        printf("Foreground color test:\n");
     61        for (j = 0; j < 2; j++) {
     62                for (i = COLOR_BLACK; i <= COLOR_WHITE; i++) {
     63                        console_set_color(i, COLOR_WHITE,
     64                            j ? CATTR_BRIGHT : 0);
     65                        printf(" %s ", color_name[i]);
     66                }
     67                console_set_color(COLOR_BLACK, COLOR_WHITE, 0);
     68                putchar('\n');
     69        }
     70
     71        printf("Background color test:\n");
     72        for (j = 0; j < 2; j++) {
     73                for (i = COLOR_BLACK; i <= COLOR_WHITE; i++) {
     74                        console_set_color(COLOR_WHITE, i,
     75                            j ? CATTR_BRIGHT : 0);
     76                        printf(" %s ", color_name[i]);
     77                }
     78                console_set_color(COLOR_BLACK, COLOR_WHITE, 0);
     79                putchar('\n');
     80        }
     81
     82        printf("Now let's test RGB colors:\n");
     83
     84        for (i = 0; i < 255; i += 16) {
     85                console_set_rgb_color(0xffffff, i << 16);
     86                putchar('X');
     87        }
     88        console_set_color(COLOR_BLACK, COLOR_WHITE, 0);
     89        putchar('\n');
     90
     91        for (i = 0; i < 255; i += 16) {
     92                console_set_rgb_color(0xffffff, i << 8);
     93                putchar('X');
     94        }
     95        console_set_color(COLOR_BLACK, COLOR_WHITE, 0);
     96        putchar('\n');
     97
     98        for (i = 0; i < 255; i += 16) {
     99                console_set_rgb_color(0xffffff, i);
     100                putchar('X');
     101        }
     102        console_set_color(COLOR_BLACK, COLOR_WHITE, 0);
     103        putchar('\n');
    51104
    52105        printf("[press a key]\n");
  • uspace/app/tetris/screen.c

    r666773c r9805cde  
    5252#include <unistd.h>
    5353#include <io/stream.h>
    54 
     54#include <console.h>
    5555
    5656#include <async.h>
     
    7777
    7878
    79 
    80 static void set_style(int fgcolor, int bgcolor)
    81 {
    82         async_msg_2(con_phone, CONSOLE_SET_STYLE, fgcolor, bgcolor);
    83 }
    84 
    8579static void start_standout(void)
    8680{
    87         set_style(0xf0f0f0, 0);
     81        console_set_rgb_color(0xf0f0f0, 0);
    8882}
    8983
    9084static void resume_normal(void)
    9185{
    92         set_style(0, 0xf0f0f0);
    93 }
    94 
     86        console_set_rgb_color(0, 0xf0f0f0);
     87}
    9588
    9689void clear_screen(void)
  • uspace/app/trace/trace.c

    r666773c r9805cde  
    667667        proto_add_oper(p, CONSOLE_FLUSH, o);
    668668
     669        arg_def[0] = V_INTEGER;
     670        o = oper_new("set_style", 1, arg_def, V_INTEGER, 0, resp_def);
     671        proto_add_oper(p, CONSOLE_SET_STYLE, o);
     672        arg_def[0] = V_INTEGER; arg_def[1] = V_INTEGER; arg_def[2] = V_INTEGER;
     673        o = oper_new("set_color", 3, arg_def, V_INTEGER, 0, resp_def);
     674        proto_add_oper(p, CONSOLE_SET_COLOR, o);
    669675        arg_def[0] = V_INTEGER; arg_def[1] = V_INTEGER;
    670         o = oper_new("set_style", 2, arg_def, V_INTEGER, 0, resp_def);
    671         proto_add_oper(p, CONSOLE_SET_STYLE, o);
     676        o = oper_new("set_rgb_color", 2, arg_def, V_INTEGER, 0, resp_def);
     677        proto_add_oper(p, CONSOLE_SET_RGB_COLOR, o);
    672678        o = oper_new("cursor_visibility", 1, arg_def, V_VOID, 0, resp_def);
    673679        proto_add_oper(p, CONSOLE_CURSOR_VISIBILITY, o);
Note: See TracChangeset for help on using the changeset viewer.