Changeset 9805cde in mainline for uspace/srv/fb/ega.c


Ignore:
Timestamp:
2009-01-01T13:31:23Z (16 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
  • TabularUnified uspace/srv/fb/ega.c

    r666773c r9805cde  
    5050#include <ipc/services.h>
    5151#include <libarch/ddi.h>
     52#include <console/style.h>
     53#include <console/color.h>
    5254
    5355#include "ega.h"
     
    6567#define EGA_IO_SIZE 2
    6668
    67 int ega_normal_color=0x0f;
    68 int ega_inverted_color=0xf0;
     69int ega_normal_color = 0x0f;
     70int ega_inverted_color = 0xf0;
    6971
    7072#define NORMAL_COLOR            ega_normal_color       
     
    155157        for (i = 0; i < scr_width * scr_height; i++) {
    156158                scr_addr[i * 2] = data[i].character;
     159                /* FIXME
    157160                scr_addr[i * 2 + 1] = EGA_STYLE(data[i].style.fg_color,
    158161                    data[i].style.bg_color);
     162                */
    159163        }
    160164}
     
    276280                        break;
    277281                case FB_SET_STYLE:
     282                        retval = 0;
     283                        switch (IPC_GET_ARG1(call)) {
     284                        case STYLE_NORMAL: style = INVERTED_COLOR; break;
     285                        case STYLE_EMPHASIS: style = INVERTED_COLOR | 4; break;
     286                        default: retval = EINVAL;
     287                        }
     288                        break;
     289                case FB_SET_COLOR:
     290                        fgcolor = IPC_GET_ARG1(call);
     291                        bgcolor = IPC_GET_ARG2(call);
     292                        style = (fgcolor & 7) | ((bgcolor & 7) << 4);
     293                        if (IPC_GET_ARG3(call) & CATTR_BRIGHT)
     294                                style = style | 0x08;
     295                        retval = 0;
     296                        break;
     297                case FB_SET_RGB_COLOR:
    278298                        fgcolor = IPC_GET_ARG1(call);
    279299                        bgcolor = IPC_GET_ARG2(call);
     
    318338        if(sysinfo_value("fb.blinking"))
    319339        {
    320                         ega_normal_color&=0x77;
    321                         ega_inverted_color&=0x77;
     340                        ega_normal_color &= 0x77;
     341                        ega_inverted_color &= 0x77;
    322342        }
    323343        style = NORMAL_COLOR;
Note: See TracChangeset for help on using the changeset viewer.