Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/output/port/ega.c

    r4122410 rbdf06ad  
    11/*
     2 * Copyright (c) 2024 Jiri Svoboda
    23 * Copyright (c) 2011 Martin Decky
    34 * All rights reserved.
     
    3132 */
    3233
     34#include <codepage/cp437.h>
    3335#include <errno.h>
    3436#include <sysinfo.h>
     
    8890                break;
    8991        case CHAR_ATTR_RGB:
    90                 attr = (attrs.val.rgb.bgcolor < attrs.val.rgb.fgcolor) ?
    91                     ega.style_inverted : ega.style_normal;
     92                attr =
     93                    ((RED(attrs.val.rgb.fgcolor) >= 0x80) ? 0x40 : 0) |
     94                    ((GREEN(attrs.val.rgb.fgcolor) >= 0x80) ? 0x20 : 0) |
     95                    ((BLUE(attrs.val.rgb.fgcolor) >= 0x80) ? 0x10 : 0) |
     96                    ((RED(attrs.val.rgb.bgcolor) >= 0x80) ? 0x04 : 0) |
     97                    ((GREEN(attrs.val.rgb.bgcolor) >= 0x80) ? 0x02 : 0) |
     98                    ((BLUE(attrs.val.rgb.bgcolor) >= 0x80) ? 0x01 : 0);
    9299                break;
    93100        }
     
    106113{
    107114        uint8_t glyph;
    108 
    109         if (ascii_check(field->ch))
    110                 glyph = field->ch;
    111         else
     115        errno_t rc;
     116
     117        rc = cp437_encode(field->ch, &glyph);
     118        if (rc != EOK)
    112119                glyph = '?';
    113120
Note: See TracChangeset for help on using the changeset viewer.