Changeset 9805cde in mainline for uspace/srv/console/screenbuffer.c


Ignore:
Timestamp:
2009-01-01T13:31:23Z (15 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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/console/screenbuffer.c

    r666773c r9805cde  
    3434
    3535#include <screenbuffer.h>
     36#include <console/style.h>
    3637#include <malloc.h>
    3738#include <unistd.h>
     
    5051
    5152        field->character = c;
    52         field->style = scr->style;
     53        field->attrs = scr->attrs;
    5354}
    5455
     
    6869        scr->size_x = size_x;
    6970        scr->size_y = size_y;
    70         scr->style.fg_color = DEFAULT_FOREGROUND;
    71         scr->style.bg_color = DEFAULT_BACKGROUND;
     71        scr->attrs.t = at_style;
     72        scr->attrs.a.s.style = STYLE_NORMAL;
    7273        scr->is_cursor_visible = 1;
    7374       
     
    8687        for (i = 0; i < (scr->size_x * scr->size_y); i++) {
    8788                scr->buffer[i].character = ' ';
    88                 scr->buffer[i].style = scr->style;
     89                scr->buffer[i].attrs = scr->attrs;
    8990        }
    9091
     
    104105        for (i = 0; i < scr->size_x; i++) {
    105106                scr->buffer[i + line * scr->size_x].character = ' ';
    106                 scr->buffer[i + line * scr->size_x].style = scr->style;
     107                scr->buffer[i + line * scr->size_x].attrs = scr->attrs;
    107108        }
    108109}
     
    137138 * @param bg_color
    138139 */
    139 void screenbuffer_set_style(screenbuffer_t *scr, unsigned int fg_color, unsigned int bg_color)
     140void screenbuffer_set_style(screenbuffer_t *scr, int style)
    140141{
    141         scr->style.fg_color = fg_color;
    142         scr->style.bg_color = bg_color;
     142        scr->attrs.t = at_style;
     143        scr->attrs.a.s.style = style;
     144}
     145
     146/** Set new color.
     147 * @param scr
     148 * @param fg_color
     149 * @param bg_color
     150 */
     151void screenbuffer_set_color(screenbuffer_t *scr, unsigned int fg_color, unsigned int bg_color, unsigned int flags)
     152{
     153        scr->attrs.t = at_idx;
     154        scr->attrs.a.i.fg_color = fg_color;
     155        scr->attrs.a.i.bg_color = bg_color;
     156        scr->attrs.a.i.flags = flags;
     157}
     158
     159/** Set new RGB color.
     160 * @param scr
     161 * @param fg_color
     162 * @param bg_color
     163 */
     164void screenbuffer_set_rgb_color(screenbuffer_t *scr, unsigned int fg_color, unsigned int bg_color)
     165{
     166        scr->attrs.t = at_rgb;
     167        scr->attrs.a.r.fg_color = fg_color;
     168        scr->attrs.a.r.bg_color = bg_color;
    143169}
    144170
Note: See TracChangeset for help on using the changeset viewer.