Ignore:
Timestamp:
Oct 18, 2008 11:36:17 PM (6 years ago)
Author:
sam
Message:

Port toilet to the unified libcaca 0.99.beta15 API.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • toilet/trunk/tools/caca2tlf.c

    r2415 r2988  
    2525#include <string.h>
    2626#include <stdlib.h>
    27 #include <cucul.h>
     27#include <caca.h>
    2828
    2929enum mode { GRAY, HALFBLOCKS, QUARTERBLOCKS } mode;
     
    3232static void add_char(unsigned long int);
    3333
    34 cucul_font_t *f;
    35 cucul_canvas_t *out, *onechar;
     34caca_font_t *f;
     35caca_canvas_t *out, *onechar;
    3636uint32_t const *blocks;
    3737uint8_t * image;
     
    6969    }
    7070
    71     f = cucul_load_font(fontname, 0);
     71    f = caca_load_font(fontname, 0);
    7272
    7373    if(!f)
     
    7878    }
    7979
    80     w = cucul_get_font_width(f);
    81     h = cucul_get_font_height(f);
     80    w = caca_get_font_width(f);
     81    h = caca_get_font_height(f);
    8282    iw = w * 2 + 1;
    8383    ih = h + 1;
     
    101101    }
    102102
    103     blocks = cucul_get_font_blocks(f);
    104     onechar = cucul_create_canvas(0, 0);
    105     cucul_set_color_ansi(onechar, CUCUL_WHITE, CUCUL_BLACK);
     103    blocks = caca_get_font_blocks(f);
     104    onechar = caca_create_canvas(0, 0);
     105    caca_set_color_ansi(onechar, CACA_WHITE, CACA_BLACK);
    106106    image = malloc(4 * iw * ih);
    107107
    108     out = cucul_create_canvas(0, 0);
     108    out = caca_create_canvas(0, 0);
    109109    printf("tlf2a$ %u %u %u -1 4 0 0 0\n", gh, gh - 1, fgw + 2);
    110110
     
    141141                continue;
    142142
    143             len = cucul_utf32_to_utf8(buf, ch);
     143            len = caca_utf32_to_utf8(buf, ch);
    144144            buf[len] = '\0';
    145145            printf("0x%.04lX %s\n", ch, buf);
     
    148148    }
    149149
    150     cucul_free_canvas(out);
    151     cucul_free_canvas(onechar);
     150    caca_free_canvas(out);
     151    caca_free_canvas(onechar);
    152152    free(image);
    153     cucul_free_font(f);
     153    caca_free_font(f);
    154154
    155155    return 0;
     
    163163    fprintf(stderr, "Available fonts:\n");
    164164
    165     fonts = cucul_get_font_list();
     165    fonts = caca_get_font_list();
    166166    for(i = 0; fonts[i]; i++)
    167167        fprintf(stderr, "  \"%s\"\n", fonts[i]);
     
    173173    unsigned long int len;
    174174    unsigned int x, y, myw, mygw;
    175     int full = cucul_utf32_is_fullwidth(ch);
    176 
    177     cucul_set_canvas_size(onechar, full ? 2 : 1, 1);
    178     cucul_put_char(onechar, 0, 0, ch);
    179     cucul_render_canvas(onechar, f, image, iw, ih, 4 * iw);
     175    int full = caca_utf32_is_fullwidth(ch);
     176
     177    caca_set_canvas_size(onechar, full ? 2 : 1, 1);
     178    caca_put_char(onechar, 0, 0, ch);
     179    caca_render_canvas(onechar, f, image, iw, ih, 4 * iw);
    180180
    181181    myw = full ? 2 * w : w;
    182182    mygw = full ? fgw : gw;
    183183
    184     cucul_set_canvas_size(out, (full ? fgw : gw) + 2, gh);
     184    caca_set_canvas_size(out, (full ? fgw : gw) + 2, gh);
    185185
    186186    switch(mode)
     
    193193
    194194            if(c >= 0xa0)
    195                 cucul_put_str(out, x, y, "█");
     195                caca_put_str(out, x, y, "█");
    196196            else if(c >= 0x80)
    197                 cucul_put_str(out, x, y, "▓");
     197                caca_put_str(out, x, y, "▓");
    198198            else if(c >= 0x40)
    199                 cucul_put_str(out, x, y, "▒");
     199                caca_put_str(out, x, y, "▒");
    200200            else if(c >= 0x20)
    201                 cucul_put_str(out, x, y, "░");
     201                caca_put_str(out, x, y, "░");
    202202            else
    203                 cucul_put_char(out, x, y, ' ');
     203                caca_put_char(out, x, y, ' ');
    204204        }
    205205        break;
     
    213213            uint8_t p2 = image[4 * (x + (y * 2 + 1) * iw) + 2];
    214214
    215             cucul_put_str(out, x, y, str[(p1 > 0x80) + 2 * (p2 > 0x80)]);
     215            caca_put_str(out, x, y, str[(p1 > 0x80) + 2 * (p2 > 0x80)]);
    216216        }
    217217        break;
     
    231231            uint8_t p4 = image[4 * (x * 2 + 1 + (y * 2 + 1) * iw) + 2];
    232232
    233             cucul_put_str(out, x, y, str[(p1 > 0x80) + 2 * (p2 > 0x80) +
     233            caca_put_str(out, x, y, str[(p1 > 0x80) + 2 * (p2 > 0x80) +
    234234                                         4 * (p3 > 0x80) + 8 * (p4 > 0x80)]);
    235235        }
     
    239239    if(ch == ' ' || ch == 0xa0)
    240240    {
    241         cucul_draw_line(out, mygw - 1, 0, mygw - 1, gh - 1, '$');
    242         cucul_draw_line(out, mygw / 2, 0, mygw / 2, gh - 1, '$');
    243     }
    244 
    245     cucul_draw_line(out, mygw, 0, mygw, gh - 1, '@');
    246     cucul_put_char(out, mygw + 1, gh - 1, '@');
    247 
    248     buf = cucul_export_memory(out, "utf8", &len);
     241        caca_draw_line(out, mygw - 1, 0, mygw - 1, gh - 1, '$');
     242        caca_draw_line(out, mygw / 2, 0, mygw / 2, gh - 1, '$');
     243    }
     244
     245    caca_draw_line(out, mygw, 0, mygw, gh - 1, '@');
     246    caca_put_char(out, mygw + 1, gh - 1, '@');
     247
     248    buf = caca_export_memory(out, "utf8", &len);
    249249    fwrite(buf, len, 1, stdout);
    250250    free(buf);
Note: See TracChangeset for help on using the changeset viewer.