Ignore:
Timestamp:
Mar 5, 2006, 7:43:13 PM (15 years ago)
Author:
Sam Hocevar
Message:

A new low-level text management library (canvas for ultrafast compositing

of unicode letters) is now separated from the higher level rendering and I/O
(that is, libcaca). This commit totally breaks the API, but once everything
is polished I will think about source-level backward compatibility. Most
drivers are broken, but X11 still sorta works.

The new design is much more object-oriented and allows having several

active renderers at the same time, changing renderers on the fly, and more
important, having no renderer at all (useful for converters, or when you
want to do your own renderer).

And in case you are still wondering, the libcucul acronym has "Unicode"

because I want to support at least a subset of Unicode. There are awesome
glyphs in it, including the ones inherited from Codepage 437 such as
"gray 25%" that are used in DOS and Win32 ANSI art.

Location:
libcaca/trunk/test
Files:
8 edited
1 moved

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/test

    • Property svn:ignore
      •  

        old new  
        55colors.exe
        66colors
         7demo.exe
         8demo
        79dithering.exe
        810dithering
  • libcaca/trunk/test/Makefile.am

    r475 r524  
    11# $Id$
    22
    3 noinst_PROGRAMS = colors dithering event hsv optipal spritedit
     3noinst_PROGRAMS = colors demo dithering event hsv optipal spritedit
    44
    55colors_SOURCES = colors.c
    66colors_LDADD = ../src/libcaca.la @CACA_LIBS@
    77colors_CPPFLAGS = -I$(top_srcdir)/src
     8
     9demo_SOURCES = demo.c
     10demo_LDADD = ../src/libcaca.la @CACA_LIBS@ @MATH_LIBS@
     11demo_CPPFLAGS = -I$(top_srcdir)/src -DDATADIR=\"$(pkgdatadir)\"
    812
    913dithering_SOURCES = dithering.c
     
    2024
    2125optipal_SOURCES = optipal.c
    22 optipal_LDADD = ../src/libcaca.la @CACA_LIBS@
     26optipal_LDADD = ../src/libcucul.la @CUCUL_LIBS@
    2327optipal_CPPFLAGS = -I$(top_srcdir)/src
    2428
  • libcaca/trunk/test/colors.c

    r522 r524  
    1616#include <stdio.h>
    1717
     18#include "cucul.h"
    1819#include "caca.h"
    1920
    2021int main(int argc, char **argv)
    2122{
     23    cucul_t *qq;
     24    caca_t *kk;
    2225    int i, j;
    2326
    24     if(caca_init())
     27    qq = cucul_init();
     28    if(!qq)
    2529        return 1;
    2630
    27     caca_clear();
     31    kk = caca_attach(qq);
     32    if(!kk)
     33        return 1;
     34
     35    cucul_clear(qq);
    2836    for(i = 0; i < 16; i++)
    2937    {
    30         caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
    31         caca_printf(4, i + (i >= 8 ? 4 : 3), "'%c': %i (%s)",
    32                     'a' + i, i, caca_get_color_name(i));
     38        cucul_set_color(qq, CUCUL_COLOR_LIGHTGRAY, CUCUL_COLOR_BLACK);
     39        cucul_printf(qq, 4, i + (i >= 8 ? 4 : 3), "'%c': %i (%s)",
     40                     'a' + i, i, cucul_get_color_name(i));
    3341        for(j = 0; j < 16; j++)
    3442        {
    35             caca_set_color(i, j);
    36             caca_putstr((j >= 8 ? 41 : 40) + j * 2, i + (i >= 8 ? 4 : 3), "# ");
     43            cucul_set_color(qq, i, j);
     44            cucul_putstr(qq, (j >= 8 ? 41 : 40) + j * 2, i + (i >= 8 ? 4 : 3),
     45                         "# ");
    3746        }
    3847    }
    3948
    40     caca_refresh();
    41     caca_wait_event(CACA_EVENT_KEY_PRESS);
    42     caca_end();
     49    caca_refresh(kk);
     50    caca_wait_event(kk, CACA_EVENT_KEY_PRESS);
     51
     52    caca_detach(kk);
     53    cucul_end(qq);
    4354
    4455    return 0;
  • libcaca/trunk/test/demo.c

    r522 r524  
    3636int outline = 0;
    3737int dithering = 0;
    38 struct caca_sprite *sprite = NULL;
     38struct cucul_sprite *sprite = NULL;
     39
     40cucul_t *qq;
     41caca_t *kk;
    3942
    4043int main(int argc, char **argv)
     
    4346    int quit = 0;
    4447
    45     if(caca_init())
     48    qq = cucul_init();
     49    if(!qq)
    4650        return 1;
    47 
    48     caca_set_delay(40000);
     51    kk = caca_attach(qq);
     52    if(!kk)
     53        return 1;
     54
     55    caca_set_delay(kk, 40000);
    4956
    5057    /* Initialize data */
    51     sprite = caca_load_sprite(DATADIR "/caca.txt");
     58    sprite = cucul_load_sprite(qq, DATADIR "/caca.txt");
    5259    if(!sprite)
    53         sprite = caca_load_sprite("caca.txt");
     60        sprite = cucul_load_sprite(qq, "caca.txt");
    5461    if(!sprite)
    55         sprite = caca_load_sprite("examples/caca.txt");
     62        sprite = cucul_load_sprite(qq, "examples/caca.txt");
    5663
    5764    /* Main menu */
    5865    display_menu();
    59     caca_refresh();
     66    caca_refresh(kk);
    6067
    6168    /* Go ! */
     
    6572        int event;
    6673
    67         while((event = caca_get_event(CACA_EVENT_ANY)))
     74        while((event = caca_get_event(kk, CACA_EVENT_ANY)))
    6875        {
    6976            if(demo && (event & CACA_EVENT_KEY_PRESS))
     
    94101                case 'D':
    95102                    dithering = (dithering + 1) % 5;
    96                     caca_set_dithering(dithering);
     103                    cucul_set_feature(qq, dithering);
    97104                    display_menu();
    98105                    break;
     
    131138
    132139                if(demo)
    133                     caca_clear();
     140                    cucul_clear(qq);
    134141            }
    135142            else if(event & CACA_EVENT_MOUSE_MOTION)
     
    146153            if(mouse && !demo)
    147154            {
    148                 caca_set_color(CACA_COLOR_RED, CACA_COLOR_BLACK);
    149                 caca_putstr(xmouse, ymouse, "|\\");
     155                cucul_set_color(qq, CUCUL_COLOR_RED, CUCUL_COLOR_BLACK);
     156                cucul_putstr(qq, xmouse, ymouse, "|\\");
    150157            }
    151             caca_refresh();
     158            caca_refresh(kk);
    152159            mouse = menu = 0;
    153160        }
     
    157164            demo();
    158165
    159             caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
    160             caca_draw_thin_box(1, 1, caca_get_width() - 2, caca_get_height() - 2);
    161             caca_printf(4, 1, "[%i.%i fps]----",
    162                             1000000 / caca_get_rendertime(),
    163                             (10000000 / caca_get_rendertime()) % 10);
    164             caca_refresh();
     166            cucul_set_color(qq, CUCUL_COLOR_LIGHTGRAY, CUCUL_COLOR_BLACK);
     167            cucul_draw_thin_box(qq, 1, 1, cucul_get_width(qq) - 2, cucul_get_height(qq) - 2);
     168            cucul_printf(qq, 4, 1, "[%i.%i fps]----",
     169                         1000000 / caca_get_rendertime(kk),
     170                         (10000000 / caca_get_rendertime(kk)) % 10);
     171            caca_refresh(kk);
    165172        }
    166173    }
    167174
    168175    /* Clean up */
    169     caca_free_sprite(sprite);
    170     caca_end();
     176    cucul_free_sprite(qq, sprite);
     177    caca_detach(kk);
     178    cucul_end(qq);
    171179
    172180    return 0;
     
    175183static void display_menu(void)
    176184{
    177     int xo = caca_get_width() - 2;
    178     int yo = caca_get_height() - 2;
    179 
    180     caca_clear();
    181     caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
    182     caca_draw_thin_box(1, 1, xo, yo);
    183 
    184     caca_putstr((xo - strlen("libcaca demo")) / 2, 3, "libcaca demo");
    185     caca_putstr((xo - strlen("==============")) / 2, 4, "==============");
    186 
    187     caca_putstr(4, 6, "demos:");
    188     caca_putstr(4, 7, "'f': full");
    189     caca_putstr(4, 8, "'1': dots");
    190     caca_putstr(4, 9, "'2': lines");
    191     caca_putstr(4, 10, "'3': boxes");
    192     caca_putstr(4, 11, "'4': triangles");
    193     caca_putstr(4, 12, "'5': ellipses");
    194     caca_putstr(4, 13, "'c': colour");
    195     caca_putstr(4, 14, "'r': render");
     185    int xo = cucul_get_width(qq) - 2;
     186    int yo = cucul_get_height(qq) - 2;
     187
     188    cucul_clear(qq);
     189    cucul_set_color(qq, CUCUL_COLOR_LIGHTGRAY, CUCUL_COLOR_BLACK);
     190    cucul_draw_thin_box(qq, 1, 1, xo, yo);
     191
     192    cucul_putstr(qq, (xo - strlen("libcaca demo")) / 2, 3, "libcaca demo");
     193    cucul_putstr(qq, (xo - strlen("==============")) / 2, 4, "==============");
     194
     195    cucul_putstr(qq, 4, 6, "demos:");
     196    cucul_putstr(qq, 4, 7, "'f': full");
     197    cucul_putstr(qq, 4, 8, "'1': dots");
     198    cucul_putstr(qq, 4, 9, "'2': lines");
     199    cucul_putstr(qq, 4, 10, "'3': boxes");
     200    cucul_putstr(qq, 4, 11, "'4': triangles");
     201    cucul_putstr(qq, 4, 12, "'5': ellipses");
     202    cucul_putstr(qq, 4, 13, "'c': colour");
     203    cucul_putstr(qq, 4, 14, "'r': render");
    196204    if(sprite)
    197         caca_putstr(4, 15, "'s': sprites");
    198 
    199     caca_putstr(4, 16, "settings:");
    200     caca_printf(4, 17, "'o': outline: %s",
    201               outline == 0 ? "none" : outline == 1 ? "solid" : "thin");
    202     caca_printf(4, 18, "'b': drawing boundaries: %s",
    203               bounds == 0 ? "screen" : "infinite");
    204     caca_printf(4, 19, "'d': dithering (%s)",
    205                 caca_get_dithering_name(dithering));
    206 
    207     caca_putstr(4, yo - 2, "'q': quit");
     205        cucul_putstr(qq, 4, 15, "'s': sprites");
     206
     207    cucul_putstr(qq, 4, 16, "settings:");
     208    cucul_printf(qq, 4, 17, "'o': outline: %s",
     209                 outline == 0 ? "none" : outline == 1 ? "solid" : "thin");
     210    cucul_printf(qq, 4, 18, "'b': drawing boundaries: %s",
     211                 bounds == 0 ? "screen" : "infinite");
     212    cucul_printf(qq, 4, 19, "'d': dithering (%s)",
     213                 cucul_get_feature_name(dithering));
     214
     215    cucul_putstr(qq, 4, yo - 2, "'q': quit");
    208216}
    209217
     
    216224    i++;
    217225
    218     caca_clear();
     226    cucul_clear(qq);
    219227
    220228    /* Draw the sun */
    221     caca_set_color(CACA_COLOR_YELLOW, CACA_COLOR_BLACK);
    222     xo = caca_get_width() / 4;
    223     yo = caca_get_height() / 4 + 5 * sin(0.03*i);
     229    cucul_set_color(qq, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK);
     230    xo = cucul_get_width(qq) / 4;
     231    yo = cucul_get_height(qq) / 4 + 5 * sin(0.03*i);
    224232
    225233    for(j = 0; j < 16; j++)
     
    227235        xa = xo - (30 + sin(0.03*i) * 8) * sin(0.03*i + M_PI*j/8);
    228236        ya = yo + (15 + sin(0.03*i) * 4) * cos(0.03*i + M_PI*j/8);
    229         caca_draw_thin_line(xo, yo, xa, ya);
     237        cucul_draw_thin_line(qq, xo, yo, xa, ya);
    230238    }
    231239
    232240    j = 15 + sin(0.03*i) * 8;
    233     caca_set_color(CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    234     caca_fill_ellipse(xo, yo, j, j / 2, '#');
    235     caca_set_color(CACA_COLOR_YELLOW, CACA_COLOR_BLACK);
    236     caca_draw_ellipse(xo, yo, j, j / 2, '#');
     241    cucul_set_color(qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     242    cucul_fill_ellipse(qq, xo, yo, j, j / 2, '#');
     243    cucul_set_color(qq, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK);
     244    cucul_draw_ellipse(qq, xo, yo, j, j / 2, '#');
    237245
    238246    /* Draw the pyramid */
    239     xo = caca_get_width() * 5 / 8;
     247    xo = cucul_get_width(qq) * 5 / 8;
    240248    yo = 2;
    241249
    242     xa = caca_get_width() / 8 + sin(0.03*i) * 5;
    243     ya = caca_get_height() / 2 + cos(0.03*i) * 5;
    244 
    245     xb = caca_get_width() - 10 - cos(0.02*i) * 10;
    246     yb = caca_get_height() * 3 / 4 - 5 + sin(0.02*i) * 5;
    247 
    248     xc = caca_get_width() / 4 - sin(0.02*i) * 5;
    249     yc = caca_get_height() * 3 / 4 + cos(0.02*i) * 5;
    250 
    251     caca_set_color(CACA_COLOR_GREEN, CACA_COLOR_BLACK);
    252     caca_fill_triangle(xo, yo, xb, yb, xa, ya, '%');
    253     caca_set_color(CACA_COLOR_YELLOW, CACA_COLOR_BLACK);
    254     caca_draw_thin_triangle(xo, yo, xb, yb, xa, ya);
    255 
    256     caca_set_color(CACA_COLOR_RED, CACA_COLOR_BLACK);
    257     caca_fill_triangle(xa, ya, xb, yb, xc, yc, '#');
    258     caca_set_color(CACA_COLOR_YELLOW, CACA_COLOR_BLACK);
    259     caca_draw_thin_triangle(xa, ya, xb, yb, xc, yc);
    260 
    261     caca_set_color(CACA_COLOR_BLUE, CACA_COLOR_BLACK);
    262     caca_fill_triangle(xo, yo, xb, yb, xc, yc, '%');
    263     caca_set_color(CACA_COLOR_YELLOW, CACA_COLOR_BLACK);
    264     caca_draw_thin_triangle(xo, yo, xb, yb, xc, yc);
     250    xa = cucul_get_width(qq) / 8 + sin(0.03*i) * 5;
     251    ya = cucul_get_height(qq) / 2 + cos(0.03*i) * 5;
     252
     253    xb = cucul_get_width(qq) - 10 - cos(0.02*i) * 10;
     254    yb = cucul_get_height(qq) * 3 / 4 - 5 + sin(0.02*i) * 5;
     255
     256    xc = cucul_get_width(qq) / 4 - sin(0.02*i) * 5;
     257    yc = cucul_get_height(qq) * 3 / 4 + cos(0.02*i) * 5;
     258
     259    cucul_set_color(qq, CUCUL_COLOR_GREEN, CUCUL_COLOR_BLACK);
     260    cucul_fill_triangle(qq, xo, yo, xb, yb, xa, ya, '%');
     261    cucul_set_color(qq, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK);
     262    cucul_draw_thin_triangle(qq, xo, yo, xb, yb, xa, ya);
     263
     264    cucul_set_color(qq, CUCUL_COLOR_RED, CUCUL_COLOR_BLACK);
     265    cucul_fill_triangle(qq, xa, ya, xb, yb, xc, yc, '#');
     266    cucul_set_color(qq, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK);
     267    cucul_draw_thin_triangle(qq, xa, ya, xb, yb, xc, yc);
     268
     269    cucul_set_color(qq, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK);
     270    cucul_fill_triangle(qq, xo, yo, xb, yb, xc, yc, '%');
     271    cucul_set_color(qq, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK);
     272    cucul_draw_thin_triangle(qq, xo, yo, xb, yb, xc, yc);
    265273
    266274    /* Draw a background triangle */
     
    268276    ya = 2;
    269277
    270     xb = caca_get_width() - 3;
    271     yb = caca_get_height() / 2;
    272 
    273     xc = caca_get_width() / 3;
    274     yc = caca_get_height() - 3;
    275 
    276     caca_set_color(CACA_COLOR_CYAN, CACA_COLOR_BLACK);
    277     caca_draw_thin_triangle(xa, ya, xb, yb, xc, yc);
    278 
    279     xo = caca_get_width() / 2 + cos(0.027*i) * caca_get_width() / 3;
    280     yo = caca_get_height() / 2 - sin(0.027*i) * caca_get_height() / 2;
    281 
    282     caca_draw_thin_line(xa, ya, xo, yo);
    283     caca_draw_thin_line(xb, yb, xo, yo);
    284     caca_draw_thin_line(xc, yc, xo, yo);
     278    xb = cucul_get_width(qq) - 3;
     279    yb = cucul_get_height(qq) / 2;
     280
     281    xc = cucul_get_width(qq) / 3;
     282    yc = cucul_get_height(qq) - 3;
     283
     284    cucul_set_color(qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
     285    cucul_draw_thin_triangle(qq, xa, ya, xb, yb, xc, yc);
     286
     287    xo = cucul_get_width(qq) / 2 + cos(0.027*i) * cucul_get_width(qq) / 3;
     288    yo = cucul_get_height(qq) / 2 - sin(0.027*i) * cucul_get_height(qq) / 2;
     289
     290    cucul_draw_thin_line(qq, xa, ya, xo, yo);
     291    cucul_draw_thin_line(qq, xb, yb, xo, yo);
     292    cucul_draw_thin_line(qq, xc, yc, xo, yo);
    285293
    286294    /* Draw a sprite on the pyramid */
    287     caca_draw_sprite(xo, yo, sprite, 0);
     295    cucul_draw_sprite(qq, xo, yo, sprite, 0);
    288296
    289297    /* Draw a trail behind the foreground sprite */
    290298    for(j = i - 60; j < i; j++)
    291299    {
    292         int delta = caca_rand(-5, 5);
    293         caca_set_color(caca_rand(0, 15), caca_rand(0, 15));
    294         caca_putchar(caca_get_width() / 2
    295                     + cos(0.02*j) * (delta + caca_get_width() / 4),
    296                    caca_get_height() / 2
    297                     + sin(0.02*j) * (delta + caca_get_height() / 3),
     300        int delta = cucul_rand(-5, 5);
     301        cucul_set_color(qq, cucul_rand(0, 15), cucul_rand(0, 15));
     302        cucul_putchar(qq, cucul_get_width(qq) / 2
     303                    + cos(0.02*j) * (delta + cucul_get_width(qq) / 4),
     304                   cucul_get_height(qq) / 2
     305                    + sin(0.02*j) * (delta + cucul_get_height(qq) / 3),
    298306                   '#');
    299307    }
    300308
    301309    /* Draw foreground sprite */
    302     caca_draw_sprite(caca_get_width() / 2 + cos(0.02*i) * caca_get_width() / 4,
    303                    caca_get_height() / 2 + sin(0.02*i) * caca_get_height() / 3,
     310    cucul_draw_sprite(qq, cucul_get_width(qq) / 2 + cos(0.02*i) * cucul_get_width(qq) / 4,
     311                   cucul_get_height(qq) / 2 + sin(0.02*i) * cucul_get_height(qq) / 3,
    304312                   sprite, 0);
    305313}
     
    307315static void demo_dots(void)
    308316{
    309     int xmax = caca_get_width() - 1;
    310     int ymax = caca_get_height() - 1;
     317    int xmax = cucul_get_width(qq) - 1;
     318    int ymax = cucul_get_height(qq) - 1;
    311319    int i;
    312320    static char chars[10] =
     
    318326    {
    319327        /* Putpixel */
    320         caca_set_color(caca_rand(0, 15), caca_rand(0, 15));
    321         caca_putchar(caca_rand(0, xmax), caca_rand(0, ymax),
    322                      chars[caca_rand(0, 9)]);
     328        cucul_set_color(qq, cucul_rand(0, 15), cucul_rand(0, 15));
     329        cucul_putchar(qq, cucul_rand(0, xmax), cucul_rand(0, ymax),
     330                      chars[cucul_rand(0, 9)]);
    323331    }
    324332}
     
    329337    char buf[BUFSIZ];
    330338
    331     caca_clear();
     339    cucul_clear(qq);
    332340    for(i = 0; i < 16; i++)
    333341    {
    334         sprintf(buf, "'%c': %i (%s)", 'a' + i, i, caca_get_color_name(i));
    335         caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
    336         caca_putstr(4, i + (i >= 8 ? 4 : 3), buf);
     342        sprintf(buf, "'%c': %i (%s)", 'a' + i, i, cucul_get_color_name(i));
     343        cucul_set_color(qq, CUCUL_COLOR_LIGHTGRAY, CUCUL_COLOR_BLACK);
     344        cucul_putstr(qq, 4, i + (i >= 8 ? 4 : 3), buf);
    337345        for(j = 0; j < 16; j++)
    338346        {
    339             caca_set_color(i, j);
    340             caca_putstr((j >= 8 ? 41 : 40) + j * 2, i + (i >= 8 ? 4 : 3), "# ");
     347            cucul_set_color(qq, i, j);
     348            cucul_putstr(qq, (j >= 8 ? 41 : 40) + j * 2, i + (i >= 8 ? 4 : 3), "# ");
    341349        }
    342350    }
     
    345353static void demo_lines(void)
    346354{
    347     int w = caca_get_width();
    348     int h = caca_get_height();
     355    int w = cucul_get_width(qq);
     356    int h = cucul_get_height(qq);
    349357    int xa, ya, xb, yb;
    350358
    351359    if(bounds)
    352360    {
    353         xa = caca_rand(- w, 2 * w); ya = caca_rand(- h, 2 * h);
    354         xb = caca_rand(- w, 2 * w); yb = caca_rand(- h, 2 * h);
     361        xa = cucul_rand(- w, 2 * w); ya = cucul_rand(- h, 2 * h);
     362        xb = cucul_rand(- w, 2 * w); yb = cucul_rand(- h, 2 * h);
    355363    }
    356364    else
    357365    {
    358         xa = caca_rand(0, w - 1); ya = caca_rand(0, h - 1);
    359         xb = caca_rand(0, w - 1); yb = caca_rand(0, h - 1);
    360     }
    361 
    362     caca_set_color(caca_rand(0, 15), CACA_COLOR_BLACK);
     366        xa = cucul_rand(0, w - 1); ya = cucul_rand(0, h - 1);
     367        xb = cucul_rand(0, w - 1); yb = cucul_rand(0, h - 1);
     368    }
     369
     370    cucul_set_color(qq, cucul_rand(0, 15), CUCUL_COLOR_BLACK);
    363371    if(outline > 1)
    364         caca_draw_thin_line(xa, ya, xb, yb);
     372        cucul_draw_thin_line(qq, xa, ya, xb, yb);
    365373    else
    366         caca_draw_line(xa, ya, xb, yb, '#');
     374        cucul_draw_line(qq, xa, ya, xb, yb, '#');
    367375}
    368376
    369377static void demo_boxes(void)
    370378{
    371     int w = caca_get_width();
    372     int h = caca_get_height();
     379    int w = cucul_get_width(qq);
     380    int h = cucul_get_height(qq);
    373381    int xa, ya, xb, yb;
    374382
    375383    if(bounds)
    376384    {
    377         xa = caca_rand(- w, 2 * w); ya = caca_rand(- h, 2 * h);
    378         xb = caca_rand(- w, 2 * w); yb = caca_rand(- h, 2 * h);
     385        xa = cucul_rand(- w, 2 * w); ya = cucul_rand(- h, 2 * h);
     386        xb = cucul_rand(- w, 2 * w); yb = cucul_rand(- h, 2 * h);
    379387    }
    380388    else
    381389    {
    382         xa = caca_rand(0, w - 1); ya = caca_rand(0, h - 1);
    383         xb = caca_rand(0, w - 1); yb = caca_rand(0, h - 1);
    384     }
    385 
    386     caca_set_color(caca_rand(0, 15), caca_rand(0, 15));
    387     caca_fill_box(xa, ya, xb, yb, '#');
    388 
    389     caca_set_color(caca_rand(0, 15), CACA_COLOR_BLACK);
     390        xa = cucul_rand(0, w - 1); ya = cucul_rand(0, h - 1);
     391        xb = cucul_rand(0, w - 1); yb = cucul_rand(0, h - 1);
     392    }
     393
     394    cucul_set_color(qq, cucul_rand(0, 15), cucul_rand(0, 15));
     395    cucul_fill_box(qq, xa, ya, xb, yb, '#');
     396
     397    cucul_set_color(qq, cucul_rand(0, 15), CUCUL_COLOR_BLACK);
    390398    if(outline == 2)
    391         caca_draw_thin_box(xa, ya, xb, yb);
     399        cucul_draw_thin_box(qq, xa, ya, xb, yb);
    392400    else if(outline == 1)
    393         caca_draw_box(xa, ya, xb, yb, '#');
     401        cucul_draw_box(qq, xa, ya, xb, yb, '#');
    394402}
    395403
    396404static void demo_ellipses(void)
    397405{
    398     int w = caca_get_width();
    399     int h = caca_get_height();
     406    int w = cucul_get_width(qq);
     407    int h = cucul_get_height(qq);
    400408    int x, y, a, b;
    401409
    402410    if(bounds)
    403411    {
    404         x = caca_rand(- w, 2 * w); y = caca_rand(- h, 2 * h);
    405         a = caca_rand(0, w); b = caca_rand(0, h);
     412        x = cucul_rand(- w, 2 * w); y = cucul_rand(- h, 2 * h);
     413        a = cucul_rand(0, w); b = cucul_rand(0, h);
    406414    }
    407415    else
     
    409417        do
    410418        {
    411             x = caca_rand(0, w); y = caca_rand(0, h);
    412             a = caca_rand(0, w); b = caca_rand(0, h);
     419            x = cucul_rand(0, w); y = cucul_rand(0, h);
     420            a = cucul_rand(0, w); b = cucul_rand(0, h);
    413421
    414422        } while(x - a < 0 || x + a >= w || y - b < 0 || y + b >= h);
    415423    }
    416424
    417     caca_set_color(caca_rand(0, 15), caca_rand(0, 15));
    418     caca_fill_ellipse(x, y, a, b, '#');
    419 
    420     caca_set_color(caca_rand(0, 15), CACA_COLOR_BLACK);
     425    cucul_set_color(qq, cucul_rand(0, 15), cucul_rand(0, 15));
     426    cucul_fill_ellipse(qq, x, y, a, b, '#');
     427
     428    cucul_set_color(qq, cucul_rand(0, 15), CUCUL_COLOR_BLACK);
    421429    if(outline == 2)
    422         caca_draw_thin_ellipse(x, y, a, b);
     430        cucul_draw_thin_ellipse(qq, x, y, a, b);
    423431    else if(outline == 1)
    424         caca_draw_ellipse(x, y, a, b, '#');
     432        cucul_draw_ellipse(qq, x, y, a, b, '#');
    425433}
    426434
    427435static void demo_triangles(void)
    428436{
    429     int w = caca_get_width();
    430     int h = caca_get_height();
     437    int w = cucul_get_width(qq);
     438    int h = cucul_get_height(qq);
    431439    int xa, ya, xb, yb, xc, yc;
    432440
    433441    if(bounds)
    434442    {
    435         xa = caca_rand(- w, 2 * w); ya = caca_rand(- h, 2 * h);
    436         xb = caca_rand(- w, 2 * w); yb = caca_rand(- h, 2 * h);
    437         xc = caca_rand(- w, 2 * w); yc = caca_rand(- h, 2 * h);
     443        xa = cucul_rand(- w, 2 * w); ya = cucul_rand(- h, 2 * h);
     444        xb = cucul_rand(- w, 2 * w); yb = cucul_rand(- h, 2 * h);
     445        xc = cucul_rand(- w, 2 * w); yc = cucul_rand(- h, 2 * h);
    438446    }
    439447    else
    440448    {
    441449
    442         xa = caca_rand(0, w - 1); ya = caca_rand(0, h - 1);
    443         xb = caca_rand(0, w - 1); yb = caca_rand(0, h - 1);
    444         xc = caca_rand(0, w - 1); yc = caca_rand(0, h - 1);
    445     }
    446 
    447     caca_set_color(caca_rand(0, 15), caca_rand(0, 15));
    448     caca_fill_triangle(xa, ya, xb, yb, xc, yc, '#');
    449 
    450     caca_set_color(caca_rand(0, 15), CACA_COLOR_BLACK);
     450        xa = cucul_rand(0, w - 1); ya = cucul_rand(0, h - 1);
     451        xb = cucul_rand(0, w - 1); yb = cucul_rand(0, h - 1);
     452        xc = cucul_rand(0, w - 1); yc = cucul_rand(0, h - 1);
     453    }
     454
     455    cucul_set_color(qq, cucul_rand(0, 15), cucul_rand(0, 15));
     456    cucul_fill_triangle(qq, xa, ya, xb, yb, xc, yc, '#');
     457
     458    cucul_set_color(qq, cucul_rand(0, 15), CUCUL_COLOR_BLACK);
    451459    if(outline == 2)
    452         caca_draw_thin_triangle(xa, ya, xb, yb, xc, yc);
     460        cucul_draw_thin_triangle(qq, xa, ya, xb, yb, xc, yc);
    453461    else if(outline == 1)
    454         caca_draw_triangle(xa, ya, xb, yb, xc, yc, '#');
     462        cucul_draw_triangle(qq, xa, ya, xb, yb, xc, yc, '#');
    455463}
    456464
    457465static void demo_sprites(void)
    458466{
    459     caca_draw_sprite(caca_rand(0, caca_get_width() - 1),
    460                    caca_rand(0, caca_get_height() - 1), sprite, 0);
     467    cucul_draw_sprite(qq, cucul_rand(0, cucul_get_width(qq) - 1),
     468                   cucul_rand(0, cucul_get_height(qq) - 1), sprite, 0);
    461469}
    462470
     
    464472static void demo_render(void)
    465473{
    466     struct caca_bitmap *bitmap;
     474    struct cucul_bitmap *bitmap;
    467475    //short buffer[256*256];
    468476    //short *dest = buffer;
     
    482490    }
    483491
    484     //bitmap = caca_create_bitmap(16, 256, 256, 2 * 256, 0xf800, 0x07e0, 0x001f, 0x0000);
    485     bitmap = caca_create_bitmap(32, 256, 256, 4 * 256, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000);
    486     caca_draw_bitmap(0, 0, caca_get_width() - 1, caca_get_height() - 1,
     492    //bitmap = cucul_create_bitmap(16, 256, 256, 2 * 256, 0xf800, 0x07e0, 0x001f, 0x0000);
     493    bitmap = cucul_create_bitmap(32, 256, 256, 4 * 256, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000);
     494    cucul_draw_bitmap(qq, 0, 0, cucul_get_width(qq) - 1, cucul_get_height(qq) - 1,
    487495                     bitmap, buffer);
    488     caca_free_bitmap(bitmap);
     496    cucul_free_bitmap(qq, bitmap);
    489497}
    490498#endif
     
    494502static void demo_render(void)
    495503{
    496     struct caca_bitmap *bitmap;
     504    struct cucul_bitmap *bitmap;
    497505    int buffer[256*256];
    498506    int *dest;
     
    527535        draw_circle(buffer, xo, yo, z, 0x000000ff, 200);
    528536
    529     bitmap = caca_create_bitmap(32, 256, 256, 4 * 256, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000);
    530     caca_draw_bitmap(0, 0, caca_get_width() - 1, caca_get_height() - 1,
    531                      bitmap, (char *)buffer);
    532     caca_free_bitmap(bitmap);
     537    bitmap = cucul_create_bitmap(qq, 32, 256, 256, 4 * 256, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000);
     538    cucul_draw_bitmap(qq, 0, 0, cucul_get_width(qq) - 1, cucul_get_height(qq) - 1, bitmap, (char *)buffer);
     539    cucul_free_bitmap(qq, bitmap);
    533540}
    534541
  • libcaca/trunk/test/dithering.c

    r522 r524  
    1414#include "config.h"
    1515
     16#include "cucul.h"
    1617#include "caca.h"
    1718
     
    2021#define FUZZY 5000000
    2122
    22 enum caca_color points[] =
     23enum cucul_color points[] =
    2324{
    24     CACA_COLOR_BLACK,
    25     CACA_COLOR_DARKGRAY,
    26     CACA_COLOR_LIGHTGRAY,
    27     CACA_COLOR_WHITE,
    28     CACA_COLOR_RED,
    29     CACA_COLOR_LIGHTRED
     25    CUCUL_COLOR_BLACK,
     26    CUCUL_COLOR_DARKGRAY,
     27    CUCUL_COLOR_LIGHTGRAY,
     28    CUCUL_COLOR_WHITE,
     29    CUCUL_COLOR_RED,
     30    CUCUL_COLOR_LIGHTRED
    3031};
    3132
     
    3435int main(void)
    3536{
     37    cucul_t *qq;
     38    caca_t *kk;
    3639    int neara, dista, nearb, distb, dist;
    3740    int x, y;
    3841
    39     caca_init();
     42    qq = cucul_init();
     43    kk = caca_attach(qq);
    4044
    4145    for(x = 0; x < 100; x++)
     
    5054        /* distance to 40% */
    5155        dist = XRATIO * (x - 40) * (x - 40) + YRATIO * y * y;
    52         if(caca_rand(-FUZZY, FUZZY) + dist < dista)
     56        if(cucul_rand(-FUZZY, FUZZY) + dist < dista)
    5357        {
    5458            nearb = neara; distb = dista; neara = 1; dista = dist;
     
    6165        /* check dist to 70% */
    6266        dist = XRATIO * (x - 70) * (x - 70) + YRATIO * y * y;
    63         if(caca_rand(-FUZZY, FUZZY) + dist < dista)
     67        if(cucul_rand(-FUZZY, FUZZY) + dist < dista)
    6468        {
    6569            nearb = neara; distb = dista; neara = 2; dista = dist;
    6670        }
    67         else if(caca_rand(-FUZZY, FUZZY) + dist < distb)
     71        else if(cucul_rand(-FUZZY, FUZZY) + dist < distb)
    6872        {
    6973            nearb = 2; distb = dist;
     
    7276        /* check dist to white */
    7377        dist = XRATIO * (x - 100) * (x - 100) + YRATIO * y * y;
    74         if(caca_rand(-FUZZY, FUZZY) + dist < dista)
     78        if(cucul_rand(-FUZZY, FUZZY) + dist < dista)
    7579        {
    7680            nearb = neara; distb = dista; neara = 3; dista = dist;
    7781        }
    78         else if(caca_rand(-FUZZY, FUZZY) + dist < distb)
     82        else if(cucul_rand(-FUZZY, FUZZY) + dist < distb)
    7983        {
    8084            nearb = 3; distb = dist;
     
    8589        dist = XRATIO * (x - 40) * (x - 40) + YRATIO * (y - 100) * (y - 100);
    8690        dist = dist * 12 / 16;
    87         if(caca_rand(-FUZZY, FUZZY) + dist < dista)
     91        if(cucul_rand(-FUZZY, FUZZY) + dist < dista)
    8892        {
    8993            nearb = neara; distb = dista; neara = 4; dista = dist;
    9094        }
    91         else if(caca_rand(-FUZZY, FUZZY) + dist < distb)
     95        else if(cucul_rand(-FUZZY, FUZZY) + dist < distb)
    9296        {
    9397            nearb = 4; distb = dist;
     
    97101        dist = XRATIO * (x - 100) * (x - 100) + YRATIO * (y - 100) * (y - 100);
    98102        dist = dist * 8 / 16;
    99         if(caca_rand(-FUZZY, FUZZY) + dist < dista)
     103        if(cucul_rand(-FUZZY, FUZZY) + dist < dista)
    100104        {
    101105            nearb = neara; distb = dista; neara = 5; dista = dist;
    102106        }
    103         else if(caca_rand(-FUZZY, FUZZY) + dist < distb)
     107        else if(cucul_rand(-FUZZY, FUZZY) + dist < distb)
    104108        {
    105109            nearb = 5; distb = dist;
     
    112116        else
    113117            ch = density[dista * 2 * 13 / (dista + distb)];
    114         caca_set_color(points[nearb], points[neara]);
     118        cucul_set_color(qq, points[nearb], points[neara]);
    115119
    116         caca_putchar(x * caca_get_width() / 100, (100 - y) * caca_get_height() / 100, ch);
     120        cucul_putchar(qq, x * cucul_get_width(qq) / 100,
     121                          (100 - y) * cucul_get_height(qq) / 100, ch);
    117122    }
    118123
    119     caca_refresh();
     124    caca_refresh(kk);
    120125
    121     while(!caca_get_event(CACA_EVENT_KEY_PRESS));
     126    while(!caca_get_event(kk, CACA_EVENT_KEY_PRESS));
    122127
    123     caca_end();
     128    caca_detach(kk);
     129    cucul_end(qq);
     130
    124131    return 0;
    125132}
  • libcaca/trunk/test/event.c

    r522 r524  
    1818#include <stdlib.h>
    1919
     20#include "cucul.h"
    2021#include "caca.h"
     22
     23static cucul_t *qq;
     24static caca_t *kk;
    2125
    2226static void print_event(int, int, unsigned int);
     
    2731    int i, h, quit;
    2832
    29     if(caca_init())
     33    qq = cucul_init();
     34    if(!qq)
     35        return 1;
     36    kk = caca_attach(qq);
     37    if(!kk)
    3038        return 1;
    3139
    32     h = caca_get_height() - 1;
     40    h = cucul_get_height(qq) - 1;
    3341
    34     caca_set_color(CACA_COLOR_WHITE, CACA_COLOR_BLUE);
    35     caca_draw_line(0, 0, caca_get_width() - 1, 0, ' ');
     42    cucul_set_color(qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLUE);
     43    cucul_draw_line(qq, 0, 0, cucul_get_width(qq) - 1, 0, ' ');
    3644
    37     caca_draw_line(0, h, caca_get_width() - 1, h, ' ');
    38     caca_putstr(0, h, "type \"quit\" to exit");
     45    cucul_draw_line(qq, 0, h, cucul_get_width(qq) - 1, h, ' ');
     46    cucul_putstr(qq, 0, h, "type \"quit\" to exit");
    3947
    40     caca_refresh();
     48    caca_refresh(kk);
    4149
    4250    events = malloc(h * sizeof(int));
     
    4654    {
    4755        static char const * quit_string[] = { "", "q", "qu", "qui", "quit" };
    48         unsigned int event = caca_wait_event(CACA_EVENT_ANY);
     56        unsigned int event = caca_wait_event(kk, CACA_EVENT_ANY);
    4957
    5058        if(!event)
     
    6977            events[0] = event;
    7078
    71             event = caca_get_event(CACA_EVENT_ANY);
     79            event = caca_get_event(kk, CACA_EVENT_ANY);
    7280        }
    7381        while(event);
    7482
    75         caca_clear();
     83        cucul_clear(qq);
    7684
    7785        /* Print current event */
    78         caca_set_color(CACA_COLOR_WHITE, CACA_COLOR_BLUE);
    79         caca_draw_line(0, 0, caca_get_width() - 1, 0, ' ');
     86        cucul_set_color(qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLUE);
     87        cucul_draw_line(qq, 0, 0, cucul_get_width(qq) - 1, 0, ' ');
    8088        print_event(0, 0, events[0]);
    8189
    82         caca_draw_line(0, h, caca_get_width() - 1, h, ' ');
    83         caca_printf(0, h, "type \"quit\" to exit: %s", quit_string[quit]);
     90        cucul_draw_line(qq, 0, h, cucul_get_width(qq) - 1, h, ' ');
     91        cucul_printf(qq, 0, h, "type \"quit\" to exit: %s", quit_string[quit]);
    8492
    8593        /* Print previous events */
    86         caca_set_color(CACA_COLOR_WHITE, CACA_COLOR_BLACK);
     94        cucul_set_color(qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    8795        for(i = 1; i < h && events[i]; i++)
    8896            print_event(0, i, events[i]);
    8997
    90         caca_refresh();
     98        caca_refresh(kk);
    9199    }
    92100
    93101    /* Clean up */
    94     caca_end();
     102    caca_detach(kk);
     103    cucul_end(qq);
    95104
    96105    return 0;
     
    104113    {
    105114    case CACA_EVENT_NONE:
    106         caca_printf(x, y, "CACA_EVENT_NONE");
     115        cucul_printf(qq, x, y, "CACA_EVENT_NONE");
    107116        break;
    108117    case CACA_EVENT_KEY_PRESS:
    109118        character = event & 0x00ffffff;
    110         caca_printf(x, y, "CACA_EVENT_KEY_PRESS 0x%02x (%c)", character,
    111                     (character > 0x20 && character < 0x80) ? character : '?');
     119        cucul_printf(qq, x, y, "CACA_EVENT_KEY_PRESS 0x%02x (%c)", character,
     120                     (character > 0x20 && character < 0x80) ? character : '?');
    112121        break;
    113122    case CACA_EVENT_KEY_RELEASE:
    114123        character = event & 0x00ffffff;
    115         caca_printf(x, y, "CACA_EVENT_KEY_RELEASE 0x%02x (%c)", character,
    116                     (character > 0x20 && character < 0x80) ? character : '?');
     124        cucul_printf(qq, x, y, "CACA_EVENT_KEY_RELEASE 0x%02x (%c)", character,
     125                     (character > 0x20 && character < 0x80) ? character : '?');
    117126        break;
    118127    case CACA_EVENT_MOUSE_MOTION:
    119         caca_printf(x, y, "CACA_EVENT_MOUSE_MOTION %u %u",
    120                     (event & 0x00fff000) >> 12, event & 0x00000fff);
     128        cucul_printf(qq, x, y, "CACA_EVENT_MOUSE_MOTION %u %u",
     129                     (event & 0x00fff000) >> 12, event & 0x00000fff);
    121130        break;
    122131    case CACA_EVENT_MOUSE_PRESS:
    123         caca_printf(x, y, "CACA_EVENT_MOUSE_PRESS %u",
    124                     event & 0x00ffffff);
     132        cucul_printf(qq, x, y, "CACA_EVENT_MOUSE_PRESS %u",
     133                     event & 0x00ffffff);
    125134        break;
    126135    case CACA_EVENT_MOUSE_RELEASE:
    127         caca_printf(x, y, "CACA_EVENT_MOUSE_RELEASE %u",
    128                     event & 0x00ffffff);
     136        cucul_printf(qq, x, y, "CACA_EVENT_MOUSE_RELEASE %u",
     137                     event & 0x00ffffff);
    129138        break;
    130139    case CACA_EVENT_RESIZE:
    131         caca_printf(x, y, "CACA_EVENT_RESIZE");
     140        cucul_printf(qq, x, y, "CACA_EVENT_RESIZE");
    132141        break;
    133142    default:
    134         caca_printf(x, y, "CACA_EVENT_UNKNOWN");
     143        cucul_printf(qq, x, y, "CACA_EVENT_UNKNOWN");
    135144    }
    136145}
  • libcaca/trunk/test/hsv.c

    r522 r524  
    2222#endif
    2323
     24#include "cucul.h"
    2425#include "caca.h"
    2526
     
    2829int main(void)
    2930{
    30     struct caca_bitmap *bitmap;
     31    cucul_t *qq;
     32    caca_t *kk;
     33
     34    struct cucul_bitmap *bitmap;
    3135    int x, y;
    3236
    33     caca_init();
     37    qq = cucul_init();
     38    kk = caca_attach(qq);
    3439
    3540    for(y = 0; y < 256; y++)
     
    3944    }
    4045
    41     bitmap = caca_create_bitmap(32, 256, 256, 4 * 256,
    42                                 0x00ff0000, 0x0000ff00, 0x000000ff, 0x0);
    43     caca_draw_bitmap(0, 0, caca_get_width() - 1, caca_get_height() - 1,
    44                      bitmap, buffer);
    45     caca_free_bitmap(bitmap);
     46    bitmap = cucul_create_bitmap(qq, 32, 256, 256, 4 * 256,
     47                                 0x00ff0000, 0x0000ff00, 0x000000ff, 0x0);
     48    cucul_draw_bitmap(qq, 0, 0,
     49                      cucul_get_width(qq) - 1, cucul_get_height(qq) - 1,
     50                      bitmap, buffer);
     51    cucul_free_bitmap(qq, bitmap);
    4652
    47     caca_refresh();
     53    caca_refresh(kk);
    4854
    49     while(!caca_get_event(CACA_EVENT_KEY_PRESS));
     55    while(!caca_get_event(kk, CACA_EVENT_KEY_PRESS));
    5056
    51     caca_end();
     57    caca_detach(kk);
     58    cucul_end(qq);
    5259
    5360    return 0;
  • libcaca/trunk/test/optipal.c

    r522 r524  
    11/*
    2  *  optipal       S-Lang optimised palette generator for libcaca
     2 *  optipal       S-Lang optimised palette generator for libcucul
    33 *  Copyright (c) 2003 Sam Hocevar <sam@zoy.org>
    44 *                All Rights Reserved
     
    1616#include <stdio.h>
    1717
    18 #include "caca.h"
     18#include "cucul.h"
    1919
    2020static void base_colors(void);
     
    2525
    2626/* 6 colours in hue order */
    27 static enum caca_color const hue_list[] =
    28 {
    29     CACA_COLOR_RED,
    30     CACA_COLOR_BROWN,
    31     CACA_COLOR_GREEN,
    32     CACA_COLOR_CYAN,
    33     CACA_COLOR_BLUE,
    34     CACA_COLOR_MAGENTA
     27static enum cucul_color const hue_list[] =
     28{
     29    CUCUL_COLOR_RED,
     30    CUCUL_COLOR_BROWN,
     31    CUCUL_COLOR_GREEN,
     32    CUCUL_COLOR_CYAN,
     33    CUCUL_COLOR_BLUE,
     34    CUCUL_COLOR_MAGENTA
    3535};
    3636
     
    9898    /* black background colour pairs that are needed for the old renderer */
    9999    for(i = 1; i < 16; i++)
    100         SETPAIR(i, CACA_COLOR_BLACK, cur++);
     100        SETPAIR(i, CUCUL_COLOR_BLACK, cur++);
    101101
    102102    /* gray combinations used for grayscale dithering */
    103     SETPAIR(CACA_COLOR_BLACK, CACA_COLOR_DARKGRAY, cur++);
    104     SETPAIR(CACA_COLOR_DARKGRAY, CACA_COLOR_LIGHTGRAY, cur++);
    105     SETPAIR(CACA_COLOR_LIGHTGRAY, CACA_COLOR_DARKGRAY, cur++);
    106     SETPAIR(CACA_COLOR_WHITE, CACA_COLOR_LIGHTGRAY, cur++);
    107     SETPAIR(CACA_COLOR_LIGHTGRAY, CACA_COLOR_WHITE, cur++);
     103    SETPAIR(CUCUL_COLOR_BLACK, CUCUL_COLOR_DARKGRAY, cur++);
     104    SETPAIR(CUCUL_COLOR_DARKGRAY, CUCUL_COLOR_LIGHTGRAY, cur++);
     105    SETPAIR(CUCUL_COLOR_LIGHTGRAY, CUCUL_COLOR_DARKGRAY, cur++);
     106    SETPAIR(CUCUL_COLOR_WHITE, CUCUL_COLOR_LIGHTGRAY, cur++);
     107    SETPAIR(CUCUL_COLOR_LIGHTGRAY, CUCUL_COLOR_WHITE, cur++);
    108108
    109109    /* white/light, light/dark, lightgray/light, darkgray/dark, dark/black
     
    113113    for(i = 1; i < 7; i++)
    114114    {
    115         SETPAIR(CACA_COLOR_WHITE, i + 8, cur++);
    116         SETPAIR(i + 8, CACA_COLOR_WHITE, cur++);
     115        SETPAIR(CUCUL_COLOR_WHITE, i + 8, cur++);
     116        SETPAIR(i + 8, CUCUL_COLOR_WHITE, cur++);
    117117        SETPAIR(i, i + 8, cur++);
    118118        SETPAIR(i + 8, i, cur++);
    119         SETPAIR(CACA_COLOR_LIGHTGRAY, i + 8, cur++);
    120         SETPAIR(i + 8, CACA_COLOR_LIGHTGRAY, cur++);
    121         SETPAIR(CACA_COLOR_DARKGRAY, i, cur++);
    122         SETPAIR(i, CACA_COLOR_DARKGRAY, cur++);
    123         SETPAIR(CACA_COLOR_BLACK, i, cur++);
     119        SETPAIR(CUCUL_COLOR_LIGHTGRAY, i + 8, cur++);
     120        SETPAIR(i + 8, CUCUL_COLOR_LIGHTGRAY, cur++);
     121        SETPAIR(CUCUL_COLOR_DARKGRAY, i, cur++);
     122        SETPAIR(i, CUCUL_COLOR_DARKGRAY, cur++);
     123        SETPAIR(CUCUL_COLOR_BLACK, i, cur++);
    124124    }
    125125
     
    146146    /* black on light gray, black on white, white on dark gray, dark gray
    147147     * on white, white on blue, light gray on blue (chosen arbitrarily) */
    148     SETPAIR(CACA_COLOR_BLACK, CACA_COLOR_LIGHTGRAY, cur++);
    149     SETPAIR(CACA_COLOR_BLACK, CACA_COLOR_WHITE, cur++);
    150     SETPAIR(CACA_COLOR_WHITE, CACA_COLOR_DARKGRAY, cur++);
    151     SETPAIR(CACA_COLOR_DARKGRAY, CACA_COLOR_WHITE, cur++);
    152     SETPAIR(CACA_COLOR_WHITE, CACA_COLOR_BLUE, cur++);
    153     SETPAIR(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLUE, cur++);
     148    SETPAIR(CUCUL_COLOR_BLACK, CUCUL_COLOR_LIGHTGRAY, cur++);
     149    SETPAIR(CUCUL_COLOR_BLACK, CUCUL_COLOR_WHITE, cur++);
     150    SETPAIR(CUCUL_COLOR_WHITE, CUCUL_COLOR_DARKGRAY, cur++);
     151    SETPAIR(CUCUL_COLOR_DARKGRAY, CUCUL_COLOR_WHITE, cur++);
     152    SETPAIR(CUCUL_COLOR_WHITE, CUCUL_COLOR_BLUE, cur++);
     153    SETPAIR(CUCUL_COLOR_LIGHTGRAY, CUCUL_COLOR_BLUE, cur++);
    154154}
    155155
     
    167167    for(i = 1; i < 7; i++)
    168168    {
    169         if(i != CACA_COLOR_BLUE)
     169        if(i != CUCUL_COLOR_BLUE)
    170170        {
    171             SETPAIR(CACA_COLOR_LIGHTGRAY, i, 128 +
     171            SETPAIR(CUCUL_COLOR_LIGHTGRAY, i, 128 +
    172172                    slang_assoc[i + 8 + 16 * i]);
    173             SETPAIR(CACA_COLOR_WHITE, i, 128 +
    174                     slang_assoc[CACA_COLOR_LIGHTGRAY + 16 * (i + 8)]);
     173            SETPAIR(CUCUL_COLOR_WHITE, i, 128 +
     174                    slang_assoc[CUCUL_COLOR_LIGHTGRAY + 16 * (i + 8)]);
    175175        }
    176         SETPAIR(CACA_COLOR_BLACK, i + 8,
    177                 128 + slang_assoc[CACA_COLOR_DARKGRAY + 16 * i]);
    178         SETPAIR(CACA_COLOR_DARKGRAY, i + 8,
     176        SETPAIR(CUCUL_COLOR_BLACK, i + 8,
     177                128 + slang_assoc[CUCUL_COLOR_DARKGRAY + 16 * i]);
     178        SETPAIR(CUCUL_COLOR_DARKGRAY, i + 8,
    179179                128 + slang_assoc[i + 16 * (i + 8)]);
    180         SETPAIR(i + 8, CACA_COLOR_DARKGRAY,
    181                 128 + slang_assoc[i + 16 * CACA_COLOR_DARKGRAY]);
    182         SETPAIR(i, CACA_COLOR_LIGHTGRAY,
    183                 128 + slang_assoc[i + 8 + 16 * CACA_COLOR_LIGHTGRAY]);
    184         SETPAIR(i, CACA_COLOR_WHITE,
    185                 128 + slang_assoc[i + 8 + 16 * CACA_COLOR_WHITE]);
     180        SETPAIR(i + 8, CUCUL_COLOR_DARKGRAY,
     181                128 + slang_assoc[i + 16 * CUCUL_COLOR_DARKGRAY]);
     182        SETPAIR(i, CUCUL_COLOR_LIGHTGRAY,
     183                128 + slang_assoc[i + 8 + 16 * CUCUL_COLOR_LIGHTGRAY]);
     184        SETPAIR(i, CUCUL_COLOR_WHITE,
     185                128 + slang_assoc[i + 8 + 16 * CUCUL_COLOR_WHITE]);
    186186    }
    187187
     
    217217    {
    218218        SETPAIR(hue_list[i], hue_list[(i + 3) % 6],
    219                 128 + slang_assoc[hue_list[i] + 16 * CACA_COLOR_BLACK]);
     219                128 + slang_assoc[hue_list[i] + 16 * CUCUL_COLOR_BLACK]);
    220220        SETPAIR(hue_list[i] + 8, hue_list[(i + 3) % 6],
    221                 128 + slang_assoc[hue_list[i] + 8 + 16 * CACA_COLOR_BLACK]);
     221                128 + slang_assoc[hue_list[i] + 8 + 16 * CUCUL_COLOR_BLACK]);
    222222        SETPAIR(hue_list[(i + 3) % 6], hue_list[i] + 8,
    223                 128 + slang_assoc[CACA_COLOR_BLACK + 16 * hue_list[i]]);
     223                128 + slang_assoc[CUCUL_COLOR_BLACK + 16 * hue_list[i]]);
    224224        SETPAIR(hue_list[(i + 3) % 6] + 8, hue_list[i] + 8,
    225                 128 + slang_assoc[CACA_COLOR_WHITE + 16 * (hue_list[i] + 8)]);
     225                128 + slang_assoc[CUCUL_COLOR_WHITE + 16 * (hue_list[i] + 8)]);
    226226    }
    227227}
  • libcaca/trunk/test/spritedit.c

    r522 r524  
    1616#include <stdio.h>
    1717
     18#include "cucul.h"
    1819#include "caca.h"
    1920
    2021int main(int argc, char **argv)
    2122{
     23    cucul_t *qq;
     24    caca_t *kk;
     25
    2226    int quit = 0;
    23     struct caca_sprite *sprite;
     27    struct cucul_sprite *sprite;
    2428    int frame = 0;
    2529
     
    3034    }
    3135
    32     if(caca_init())
     36    qq = cucul_init();
     37    if(!qq)
     38        return 1;
     39    kk = caca_attach(qq);
     40    if(!kk)
    3341        return 1;
    3442
    35     sprite = caca_load_sprite(argv[1]);
     43    sprite = cucul_load_sprite(qq, argv[1]);
    3644
    3745    if(!sprite)
    3846    {
    39         caca_end();
     47        caca_detach(kk);
     48        cucul_end(qq);
    4049        fprintf(stderr, "%s: could not open `%s'.\n", argv[0], argv[1]);
    4150        return 1;
     
    4958        int event;
    5059
    51         while((event = caca_get_event(CACA_EVENT_KEY_PRESS)))
     60        while((event = caca_get_event(kk, CACA_EVENT_KEY_PRESS)))
    5261        {
    5362            switch(event & 0x00ffffff)
     
    6372                break;
    6473            case '+':
    65                 if(frame < caca_get_sprite_frames(sprite) - 1)
     74                if(frame < cucul_get_sprite_frames(qq, sprite) - 1)
    6675                    frame++;
    6776                break;
     
    6978        }
    7079
    71         caca_clear();
     80        cucul_clear(qq);
    7281
    73         caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
    74         caca_draw_thin_box(0, 0, caca_get_width() - 1, caca_get_height() - 1);
     82        cucul_set_color(qq, CUCUL_COLOR_LIGHTGRAY, CUCUL_COLOR_BLACK);
     83        cucul_draw_thin_box(qq, 0, 0, cucul_get_width(qq) - 1, cucul_get_height(qq) - 1);
    7584
    76         caca_putstr(3, 0, "[ Sprite editor for libcaca ]");
     85        cucul_putstr(qq, 3, 0, "[ Sprite editor for libcaca ]");
    7786
    7887        sprintf(buf, "sprite `%s'", argv[1]);
    79         caca_putstr(3, 2, buf);
    80         sprintf(buf, "frame %i/%i", frame, caca_get_sprite_frames(sprite) - 1);
    81         caca_putstr(3, 3, buf);
     88        cucul_putstr(qq, 3, 2, buf);
     89        sprintf(buf, "frame %i/%i", frame, cucul_get_sprite_frames(qq, sprite) - 1);
     90        cucul_putstr(qq, 3, 3, buf);
    8291
    8392        /* Crosshair */
    84         caca_draw_thin_line(57, 2, 57, 18);
    85         caca_draw_thin_line(37, 10, 77, 10);
    86         caca_putchar(57, 10, '+');
     93        cucul_draw_thin_line(qq, 57, 2, 57, 18);
     94        cucul_draw_thin_line(qq, 37, 10, 77, 10);
     95        cucul_putchar(qq, 57, 10, '+');
    8796
    8897        /* Boxed sprite */
    89         xa = -1 - caca_get_sprite_dx(sprite, frame);
    90         ya = -1 - caca_get_sprite_dy(sprite, frame);
    91         xb = xa + 1 + caca_get_sprite_width(sprite, frame);
    92         yb = ya + 1 + caca_get_sprite_height(sprite, frame);
    93         caca_set_color(CACA_COLOR_BLACK, CACA_COLOR_BLACK);
    94         caca_fill_box(57 + xa, 10 + ya, 57 + xb, 10 + yb, ' ');
    95         caca_set_color(CACA_COLOR_LIGHTGRAY, CACA_COLOR_BLACK);
    96         caca_draw_thin_box(57 + xa, 10 + ya, 57 + xb, 10 + yb);
    97         caca_draw_sprite(57, 10, sprite, frame);
     98        xa = -1 - cucul_get_sprite_dx(qq, sprite, frame);
     99        ya = -1 - cucul_get_sprite_dy(qq, sprite, frame);
     100        xb = xa + 1 + cucul_get_sprite_width(qq, sprite, frame);
     101        yb = ya + 1 + cucul_get_sprite_height(qq, sprite, frame);
     102        cucul_set_color(qq, CUCUL_COLOR_BLACK, CUCUL_COLOR_BLACK);
     103        cucul_fill_box(qq, 57 + xa, 10 + ya, 57 + xb, 10 + yb, ' ');
     104        cucul_set_color(qq, CUCUL_COLOR_LIGHTGRAY, CUCUL_COLOR_BLACK);
     105        cucul_draw_thin_box(qq, 57 + xa, 10 + ya, 57 + xb, 10 + yb);
     106        cucul_draw_sprite(qq, 57, 10, sprite, frame);
    98107
    99108        /* Free sprite */
    100         caca_draw_sprite(20, 10, sprite, frame);
     109        cucul_draw_sprite(qq, 20, 10, sprite, frame);
    101110
    102         caca_refresh();
     111        caca_refresh(kk);
    103112    }
    104113
    105114    /* Clean up */
    106     caca_end();
     115    caca_detach(kk);
     116    cucul_end(qq);
    107117
    108118    return 0;
Note: See TracChangeset for help on using the changeset viewer.