Example #1
0
void
vbeclrscr(gfxpix32 pix)
{
    uint8_t *ptr = vbepixadr(0, 0);
    long     incr = vbescreen.pixsize;
    long     n = vbescreen.w * vbescreen.h;
    long     nbpp = vbescreen.nbpp;
    long     lim;

    if (nbpp == 24) {
        while (n) {
            lim = min(n, 4);
            switch (lim) {
                case 4:
                    vbeputpix(pix, &ptr[3 * incr]);
                case 3:
                    vbeputpix(pix, &ptr[2 * incr]);
                case 2:
                    vbeputpix(pix, &ptr[incr]);
                case 1:
                    vbeputpix(pix, ptr);
                    
                    break;
            }
            n -= lim;
            ptr += lim * incr;
        }
    }

    return;
}
Example #2
0
void
vbeclrscr(uint32_t pix)
{
    long x;
    long y;

    for (x = 0 ; x < vbescreen.w ; x++) {
        for (y = 0 ; y < vbescreen.h ; y++) {
            vbeputpix(pix, x, y);
        }
    }

    return;
}
Example #3
0
/* draw character without background (transparent) */
void
vbedrawcharfg(unsigned char c, int x, int y, argb32_t fg, argb32_t bg)
{
    int      _cy;
    int      _yofs;
    uint8_t *_gp = (uint8_t *)vgafontbuf + ((int)c << 4);
    uint8_t  _g;

    for (_cy = 0 ; _cy < VGAGLYPHH >> 1; _cy++) {
        _g = *_gp;
        _yofs = y + _cy;
        if (_g & 0x01) {
            vbeputpix(fg, x + 7, _yofs);
        }
        if (_g & 0x02) {
            vbeputpix(fg, x + 6, _yofs);
        }
        if (_g & 0x04) {
            vbeputpix(fg, x + 5, _yofs);
        }
        if (_g & 0x08) {
            vbeputpix(fg, x + 4, _yofs);
        }
        if (_g & 0x10) {
            vbeputpix(fg, x + 3, _yofs);
        }
        if (_g & 0x20) {
            vbeputpix(fg, x + 2, _yofs);
        }
        if (_g & 0x40) {
            vbeputpix(fg, x + 1, _yofs);
        }
        if (_g & 0x80) {
            vbeputpix(fg, x + 0, _yofs);
        }
        _gp++;
    }

    return;
}