Changeset 1417


Ignore:
Timestamp:
Nov 16, 2006, 4:01:31 PM (13 years ago)
Author:
Sam Hocevar
Message:
  • Support for CUCUL_DEFAULT and CUCUL_TRANSPARENT in the HTML exporters.
  • Updated export test accordingly.
Location:
libcaca/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/cucul/export.c

    r1362 r1417  
    390390        for(x = 0; x < cv->width; x += len)
    391391        {
    392             cur += sprintf(cur, "<span style=\"color:#%.03x;"
    393                                 "background-color:#%.03x",
    394                                 _cucul_attr_to_rgb12fg(lineattr[x]),
    395                                 _cucul_attr_to_rgb12bg(lineattr[x]));
     392            cur += sprintf(cur, "<span style=\"");
     393            if(cucul_attr_to_ansi_fg(lineattr[x]) < 0x10)
     394                cur += sprintf(cur, ";color:#%.03x",
     395                               _cucul_attr_to_rgb12fg(lineattr[x]));
     396            if(cucul_attr_to_ansi_bg(lineattr[x]) < 0x10)
     397                cur += sprintf(cur, ";background-color:#%.03x",
     398                               _cucul_attr_to_rgb12bg(lineattr[x]));
    396399            if(lineattr[x] & CUCUL_BOLD)
    397400                cur += sprintf(cur, ";font-weight:bold");
     
    467470        for(x = 0; x < cv->width; x += len)
    468471        {
    469             unsigned int i;
     472            unsigned int i, needfont;
    470473
    471474            /* Use colspan option to factor cells with same attributes
     
    475478                len++;
    476479
    477             cur += sprintf(cur, "<td bgcolor=#%.06lx", (unsigned long int)
    478                            _cucul_attr_to_rgb24bg(lineattr[x]));
     480            cur += sprintf(cur, "<td");
     481
     482            if(cucul_attr_to_ansi_fg(lineattr[x]) < 0x10)
     483                cur += sprintf(cur, " bgcolor=#%.06lx", (unsigned long int)
     484                               _cucul_attr_to_rgb24bg(lineattr[x]));
    479485
    480486            if(len > 1)
    481487                cur += sprintf(cur, " colspan=%d", len);
    482488
    483             cur += sprintf(cur, "><font color=#%.06lx>", (unsigned long int)
    484                            _cucul_attr_to_rgb24fg(lineattr[x]));
     489            cur += sprintf(cur, ">");
     490
     491            needfont = cucul_attr_to_ansi_bg(lineattr[x]) < 0x10;
     492
     493            if(needfont)
     494                cur += sprintf(cur, "<font color=#%.06lx>", (unsigned long int)
     495                               _cucul_attr_to_rgb24fg(lineattr[x]));
    485496
    486497            if(lineattr[x] & CUCUL_BOLD)
     
    514525                cur += sprintf(cur, "</b>");
    515526
    516             cur += sprintf(cur, "</font></td>");
     527            if(needfont)
     528                cur += sprintf(cur, "</font>");
     529            cur += sprintf(cur, "</td>");
    517530        }
    518531        cur += sprintf(cur, "</tr>\n");
  • libcaca/trunk/test/export.c

    r1347 r1417  
    115115        cucul_fill_ellipse(cv, WIDTH / 2, HEIGHT / 2,
    116116                               WIDTH / 4, HEIGHT / 4, ' ');
    117         cucul_put_str(cv, WIDTH / 2 - 5, HEIGHT / 2 - 5, "(\") \\o/ <&>");
     117
     118        cucul_set_color_ansi(cv, CUCUL_LIGHTGRAY, CUCUL_BLACK);
     119        cucul_put_str(cv, WIDTH / 2 - 12, HEIGHT / 2 - 6,
     120                      "   lightgray on black   ");
     121        cucul_set_color_ansi(cv, CUCUL_DEFAULT, CUCUL_TRANSPARENT);
     122        cucul_put_str(cv, WIDTH / 2 - 12, HEIGHT / 2 - 5,
     123                      " default on transparent ");
     124        cucul_set_color_ansi(cv, CUCUL_BLACK, CUCUL_WHITE);
     125        cucul_put_str(cv, WIDTH / 2 - 12, HEIGHT / 2 - 4,
     126                      "     black on white     ");
     127
     128        cucul_set_color_ansi(cv, CUCUL_BLACK, CUCUL_WHITE);
    118129        cucul_put_str(cv, WIDTH / 2 - 8, HEIGHT / 2 - 3, "[<><><><> <>--<>]");
    119130        cucul_put_str(cv, WIDTH / 2 - 8, HEIGHT / 2 - 2, "[ドラゴン ボーレ]");
    120131        cucul_put_str(cv, WIDTH / 2 - 7, HEIGHT / 2 + 2, "äβç ░▒▓█▓▒░ ΔЗҒ");
     132        cucul_put_str(cv, WIDTH / 2 - 5, HEIGHT / 2 + 4, "(\") \\o/ <&>");
    121133
    122134        cucul_set_attr(cv, CUCUL_BOLD);
     
    136148        {
    137149            cucul_set_color_argb(cv, 0xff00 | x, 0xf00f | (x << 4));
    138             cucul_put_str(cv, WIDTH / 2 - 7 + x, HEIGHT / 2 + 5, "#");
     150            cucul_put_char(cv, WIDTH / 2 - 7 + x, HEIGHT / 2 + 6, '#');
    139151        }
    140152    }
Note: See TracChangeset for help on using the changeset viewer.