Ignore:
File:
1 edited

Legend:

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

    rbdf06ad r4122410  
    11/*
    2  * Copyright (c) 2024 Jiri Svoboda
    32 * Copyright (c) 2011 Martin Decky
    43 * All rights reserved.
     
    3231 */
    3332
    34 #include <codepage/cp437.h>
    3533#include <errno.h>
    3634#include <sysinfo.h>
     
    9088                break;
    9189        case CHAR_ATTR_RGB:
    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);
     90                attr = (attrs.val.rgb.bgcolor < attrs.val.rgb.fgcolor) ?
     91                    ega.style_inverted : ega.style_normal;
    9992                break;
    10093        }
     
    113106{
    114107        uint8_t glyph;
    115         errno_t rc;
    116 
    117         rc = cp437_encode(field->ch, &glyph);
    118         if (rc != EOK)
     108
     109        if (ascii_check(field->ch))
     110                glyph = field->ch;
     111        else
    119112                glyph = '?';
    120113
Note: See TracChangeset for help on using the changeset viewer.