Ignore:
Timestamp:
Nov 27, 2003, 10:56:30 PM (17 years ago)
Author:
Sam Hocevar
Message:
  • NOTES: + Added setab/setaf quotes from the XTerm terminfo. + Proposed a workaround for bright colours on any terminal.
  • src/caca.c: + 16 colour support for ncurses and conio.
  • src/graphics.c: + Ported to 16 colour support. + Added a missing <stdio.h> for BUFSIZ. + Disabled vsnprintf under DOS (only vsprintf exists).
  • examples/: + Don't abort if the caca.txt sprite was not found. + Ported to 16 colour support.
Location:
libcaca/trunk/examples
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/examples/demo.c

    r217 r226  
    6363    if(!sprite)
    6464        sprite = caca_load_sprite("examples/caca.txt");
    65     if(!sprite)
    66         return 1;
    6765
    6866    /* Main menu */
     
    133131            case 's':
    134132            case 'S':
    135                 demo = demo_sprites;
     133                if(sprite)
     134                    demo = demo_sprites;
    136135                break;
    137136            }
    138 
    139             if(demo)
    140                 caca_clear();
    141137
    142138        handle_event:
     
    148144
    149145            caca_refresh();
     146
     147            if(demo)
     148                caca_clear();
    150149        }
    151150        else if(event & CACA_EVENT_MOUSE_CLICK)
    152151        {
    153152            display_menu();
    154             caca_set_color(CACA_COLOR_RED);
     153            caca_set_color(CACA_COLOR_RED, CACA_COLOR_BLACK);
    155154            caca_putstr((event & 0xff00) >> 8, event & 0xff, "|\\");
    156155            caca_refresh();
     
    161160            demo();
    162161
    163             caca_set_color(CACA_COLOR_WHITE);
     162            caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
    164163            caca_draw_thin_box(1, 1, caca_get_width() - 2, caca_get_height() - 2);
    165164            caca_printf(4, 1, "[%i.%i fps]----",
     
    183182
    184183    caca_clear();
    185     caca_set_color(CACA_COLOR_WHITE);
     184    caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
    186185    caca_draw_thin_box(1, 1, xo, yo);
    187186
     
    196195    caca_putstr(4, 11, "'4': triangles");
    197196    caca_putstr(4, 12, "'5': ellipses");
    198     caca_putstr(4, 13, "'s': sprites");
    199     caca_putstr(4, 14, "'c': color");
    200 
    201     caca_putstr(4, 17, "settings:");
    202     caca_printf(4, 18, "'o': outline: %s",
     197    caca_putstr(4, 13, "'c': colour");
     198    if(sprite)
     199        caca_putstr(4, 14, "'s': sprites");
     200
     201    caca_putstr(4, 16, "settings:");
     202    caca_printf(4, 17, "'o': outline: %s",
    203203              outline == 0 ? "none" : outline == 1 ? "solid" : "thin");
    204     caca_printf(4, 19, "'b': drawing boundaries: %s",
     204    caca_printf(4, 18, "'b': drawing boundaries: %s",
    205205              bounds == 0 ? "screen" : "infinite");
    206     caca_printf(4, 20, "'d': %s dithering",
     206    caca_printf(4, 19, "'d': %s dithering",
    207207              dithering == 0 ? "no" : dithering == 1 ? "ordered" : "random");
    208208
     
    221221
    222222    /* Draw the sun */
    223     caca_set_color(CACA_COLOR_YELLOW);
     223    caca_set_color(CACA_COLOR_YELLOW, CACA_COLOR_BLACK);
    224224    xo = caca_get_width() / 4;
    225225    yo = caca_get_height() / 4 + 5 * sin(0.03*i);
     
    233233
    234234    j = 15 + sin(0.03*i) * 8;
    235     caca_set_color(CACA_COLOR_WHITE);
     235    caca_set_color(CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    236236    caca_fill_ellipse(xo, yo, j, j / 2, '#');
    237     caca_set_color(CACA_COLOR_YELLOW);
     237    caca_set_color(CACA_COLOR_YELLOW, CACA_COLOR_BLACK);
    238238    caca_draw_ellipse(xo, yo, j, j / 2, '#');
    239239
     
    251251    yc = caca_get_height() * 3 / 4 + cos(0.02*i) * 5;
    252252
    253     caca_set_color(CACA_COLOR_GREEN);
     253    caca_set_color(CACA_COLOR_GREEN, CACA_COLOR_BLACK);
    254254    caca_fill_triangle(xo, yo, xb, yb, xa, ya, '%');
    255     caca_set_color(CACA_COLOR_YELLOW);
     255    caca_set_color(CACA_COLOR_YELLOW, CACA_COLOR_BLACK);
    256256    caca_draw_thin_triangle(xo, yo, xb, yb, xa, ya);
    257257
    258     caca_set_color(CACA_COLOR_RED);
     258    caca_set_color(CACA_COLOR_RED, CACA_COLOR_BLACK);
    259259    caca_fill_triangle(xa, ya, xb, yb, xc, yc, '#');
    260     caca_set_color(CACA_COLOR_YELLOW);
     260    caca_set_color(CACA_COLOR_YELLOW, CACA_COLOR_BLACK);
    261261    caca_draw_thin_triangle(xa, ya, xb, yb, xc, yc);
    262262
    263     caca_set_color(CACA_COLOR_BLUE);
     263    caca_set_color(CACA_COLOR_BLUE, CACA_COLOR_BLACK);
    264264    caca_fill_triangle(xo, yo, xb, yb, xc, yc, '%');
    265     caca_set_color(CACA_COLOR_YELLOW);
     265    caca_set_color(CACA_COLOR_YELLOW, CACA_COLOR_BLACK);
    266266    caca_draw_thin_triangle(xo, yo, xb, yb, xc, yc);
    267267
     
    276276    yc = caca_get_height() - 3;
    277277
    278     caca_set_color(CACA_COLOR_CYAN);
     278    caca_set_color(CACA_COLOR_CYAN, CACA_COLOR_BLACK);
    279279    caca_draw_thin_triangle(xa, ya, xb, yb, xc, yc);
    280280
     
    293293    {
    294294        int delta = caca_rand(-5, 5);
    295         caca_set_color(caca_rand(0, 15));
     295        caca_set_color(caca_rand(0, 15), caca_rand(0, 15));
    296296        caca_putchar(caca_get_width() / 2
    297297                    + cos(0.02*j) * (delta + caca_get_width() / 4),
     
    312312    int ymax = caca_get_height() - 1;
    313313    int i;
     314    static char chars[10] =
     315    {
     316        '+', '-', '*', '#', 'X', '@', '%', '$', 'M', 'W'
     317    };
    314318
    315319    for(i = 1000; i--;)
    316320    {
    317321        /* Putpixel */
    318         caca_set_color(caca_rand(0, 15));
    319         caca_putchar(caca_rand(0, xmax), caca_rand(0, ymax), '#');
     322        caca_set_color(caca_rand(0, 15), caca_rand(0, 15));
     323        caca_putchar(caca_rand(0, xmax), caca_rand(0, ymax),
     324                     chars[caca_rand(0, 9)]);
    320325    }
    321326}
     
    323328static void demo_color(void)
    324329{
    325     int i;
     330    int i, j;
    326331    char buf[BUFSIZ];
    327332
     
    330335    {
    331336        sprintf(buf, "'%c': %i (%s)", 'a' + i, i, caca_get_color_name(i));
    332         caca_set_color(CACA_COLOR_WHITE);
    333         caca_putstr(4, i + 3, buf);
    334         caca_set_color(i);
    335         caca_putstr(40, i + 3, "XXXXXXXXXX-XX--X----------");
     337        caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
     338        caca_putstr(4, i + (i >= 8 ? 4 : 3), buf);
     339        for(j = 0; j < 16; j++)
     340        {
     341            caca_set_color(i, j);
     342            caca_putstr((j >= 8 ? 41 : 40) + j * 2, i + (i >= 8 ? 4 : 3), "# ");
     343        }
    336344    }
    337345}
     
    354362    }
    355363
    356     caca_set_color(caca_rand(0, 15));
     364    caca_set_color(caca_rand(0, 15), CACA_COLOR_BLACK);
    357365    if(outline > 1)
    358366        caca_draw_thin_line(xa, ya, xb, yb);
     
    378386    }
    379387
    380     caca_set_color(caca_rand(0, 15));
     388    caca_set_color(caca_rand(0, 15), caca_rand(0, 15));
    381389    caca_fill_box(xa, ya, xb, yb, '#');
    382390
    383     caca_set_color(caca_rand(0, 15));
     391    caca_set_color(caca_rand(0, 15), CACA_COLOR_BLACK);
    384392    if(outline == 2)
    385393        caca_draw_thin_box(xa, ya, xb, yb);
     
    409417    }
    410418
    411     caca_set_color(caca_rand(0, 15));
     419    caca_set_color(caca_rand(0, 15), caca_rand(0, 15));
    412420    caca_fill_ellipse(x, y, a, b, '#');
    413421
    414     caca_set_color(caca_rand(0, 15));
     422    caca_set_color(caca_rand(0, 15), CACA_COLOR_BLACK);
    415423    if(outline == 2)
    416424        caca_draw_thin_ellipse(x, y, a, b);
     
    439447    }
    440448
    441     caca_set_color(caca_rand(0, 15));
     449    caca_set_color(caca_rand(0, 15), caca_rand(0, 15));
    442450    caca_fill_triangle(xa, ya, xb, yb, xc, yc, '#');
    443451
    444     caca_set_color(caca_rand(0, 15));
     452    caca_set_color(caca_rand(0, 15), CACA_COLOR_BLACK);
    445453    if(outline == 2)
    446454        caca_draw_thin_triangle(xa, ya, xb, yb, xc, yc);
  • libcaca/trunk/examples/spritedit.c

    r199 r226  
    8282        caca_clear();
    8383
    84         caca_set_color(CACA_COLOR_WHITE);
     84        caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
    8585        caca_draw_thin_box(0, 0, caca_get_width() - 1, caca_get_height() - 1);
    8686
     
    102102        xb = xa + 1 + caca_get_sprite_width(sprite, frame);
    103103        yb = ya + 1 + caca_get_sprite_height(sprite, frame);
    104         caca_set_color(CACA_COLOR_BLACK);
     104        caca_set_color(CACA_COLOR_BLACK, CACA_COLOR_BLACK);
    105105        caca_fill_box(57 + xa, 10 + ya, 57 + xb, 10 + yb, ' ');
    106         caca_set_color(CACA_COLOR_WHITE);
     106        caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
    107107        caca_draw_thin_box(57 + xa, 10 + ya, 57 + xb, 10 + yb);
    108108        caca_draw_sprite(57, 10, sprite, frame);
Note: See TracChangeset for help on using the changeset viewer.