Changeset 1089
- Timestamp:
- Sep 23, 2006, 2:59:47 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/cucul/export.c
r1078 r1089 503 503 uint32_t *linechar = cv->chars + y * cv->width; 504 504 505 uint8_t prevfg = -1;506 uint8_t prevbg = -1;505 uint8_t prevfg = 0x10; 506 uint8_t prevbg = 0x10; 507 507 508 508 for(x = 0; x < cv->width; x++) 509 509 { 510 uint8_t fg = palette[_cucul_argb32_to_ansi4fg(lineattr[x])]; 511 uint8_t bg = palette[_cucul_argb32_to_ansi4bg(lineattr[x])]; 510 uint32_t attr = lineattr[x]; 511 uint8_t fg = palette[_cucul_argb32_to_ansi4fg(attr)]; 512 uint8_t bg = palette[_cucul_argb32_to_ansi4bg(attr)]; 512 513 uint32_t ch = linechar[x]; 513 514 515 if((attr & 0xffff) == CUCUL_COLOR_DEFAULT) 516 fg = 0x10; 517 518 if((attr >> 16) == CUCUL_COLOR_TRANSPARENT) 519 bg = 0x10; 514 520 #if 0 515 521 if(bg == prevbg) … … 539 545 if(bg != prevbg || fg != prevfg) 540 546 { 541 cur += sprintf(cur, "\x03%d,%d", fg, bg); 547 if(bg == 0x10) 548 { 549 if(fg == 0x10) 550 cur += sprintf(cur, "\x0f"); 551 else if(prevbg == 0x10) 552 cur += sprintf(cur, "\x03%d", fg); 553 else 554 cur += sprintf(cur, "\x0f\x03%d", fg); 555 } 556 else 557 { 558 if(fg == 0x10) 559 cur += sprintf(cur, "\x0f\x03,%d", bg); 560 else 561 cur += sprintf(cur, "\x03%d,%d", fg, bg); 562 } 563 542 564 if(ch >= (uint32_t)'0' && ch <= (uint32_t)'9') 543 565 cur += sprintf(cur, "\x02\x02");
Note: See TracChangeset
for help on using the changeset viewer.