Ignore:
Timestamp:
Apr 6, 2006, 3:41:56 PM (14 years ago)
Author:
Sam Hocevar
Message:
  • Store colour information on 32 bits, for future 12-bit colour support.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/caca/driver_x11.c

    r689 r724  
    260260        for(x = 0; x < kk->qq->width; x += len)
    261261        {
    262             uint8_t *attr = kk->qq->attr + x + y * kk->qq->width;
     262            uint32_t *attr = kk->qq->attr + x + y * kk->qq->width;
     263            uint8_t bg = _cucul_rgba32_to_ansi4bg(*attr);
    263264
    264265            len = 1;
    265266            while(x + len < kk->qq->width
    266                    && (attr[len] >> 4) == (attr[0] >> 4))
     267                   && _cucul_rgba32_to_ansi4bg(attr[len]) == bg)
    267268                len++;
    268269
    269270            XSetForeground(kk->drv.p->dpy, kk->drv.p->gc,
    270                            kk->drv.p->colors[attr[0] >> 4]);
     271                           kk->drv.p->colors[_cucul_rgba32_to_ansi4bg(*attr)]);
    271272            XFillRectangle(kk->drv.p->dpy, kk->drv.p->pixmap, kk->drv.p->gc,
    272273                           x * kk->drv.p->font_width, y * kk->drv.p->font_height,
     
    284285        for(x = 0; x < kk->qq->width; x++, chars++)
    285286        {
    286             uint8_t *attr = kk->qq->attr + x + y * kk->qq->width;
     287            uint32_t *attr = kk->qq->attr + x + y * kk->qq->width;
    287288
    288289            /* Skip spaces */
     
    291292
    292293            XSetForeground(kk->drv.p->dpy, kk->drv.p->gc,
    293                            kk->drv.p->colors[*attr & 0xf]);
     294                           kk->drv.p->colors[_cucul_rgba32_to_ansi4fg(*attr)]);
    294295
    295296            /* Plain ASCII, no problem. */
Note: See TracChangeset for help on using the changeset viewer.