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.