Changeset 1332 for libcaca/trunk
- Timestamp:
- Nov 11, 2006, 9:44:14 AM (16 years ago)
- Location:
- libcaca/trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/caca/driver_slang.c
r1257 r1332 218 218 * bright backgrounds, it's just fucked up. */ 219 219 #if 0 220 uint8_t fgcolor = _cucul_attr_to_ansi4fg(*attrs); 221 uint8_t bgcolor = _cucul_attr_to_ansi4bg(*attrs); 220 uint8_t fgcolor = cucul_attr_to_ansi_fg(*attrs); 221 uint8_t bgcolor = cucul_attr_to_ansi_bg(*attrs); 222 223 if(fgcolor >= 0x10) 224 fgcolor = CUCUL_LIGHTGRAY; 225 226 if(bgcolor >= 0x10) 227 bgcolor = CUCUL_BLACK; /* FIXME: handle transparency */ 222 228 223 229 if(fgcolor == bgcolor) -
libcaca/trunk/caca/driver_win32.c
r1254 r1332 199 199 { 200 200 uint32_t ch = *chars++; 201 uint8_t fg = cucul_attr_to_ansi_fg(*attrs); 202 uint8_t bg = cucul_attr_to_ansi_bg(*attrs); 201 203 202 204 #if 0 … … 214 216 #endif 215 217 216 buffer->Attributes = 217 win32_fg_palette[_cucul_attr_to_ansi4fg(*attrs)] 218 | win32_bg_palette[_cucul_attr_to_ansi4bg(*attrs)]; 218 buffer->Attributes = win32_fg_palette[fg < 0x10 ? fg : CUCUL_LIGHTGRAY] 219 | win32_bg_palette[bg < 0x10 ? bg : CUCUL_BLACK]; 219 220 attrs++; 220 221 buffer++; -
libcaca/trunk/cucul/attr.c
r1331 r1332 351 351 } 352 352 353 uint8_t _cucul_attr_to_ansi4fg(uint32_t attr)354 {355 uint8_t c = nearest_ansi((attr >> 4) & 0x3fff);356 357 if(c == CUCUL_DEFAULT || c == CUCUL_TRANSPARENT)358 return CUCUL_LIGHTGRAY;359 360 return c;361 }362 363 uint8_t _cucul_attr_to_ansi4bg(uint32_t attr)364 {365 uint8_t c = nearest_ansi(attr >> 18);366 367 if(c == CUCUL_DEFAULT || c == CUCUL_TRANSPARENT)368 return CUCUL_BLACK;369 370 return c;371 }372 373 353 uint16_t _cucul_attr_to_rgb12fg(uint32_t attr) 374 354 { -
libcaca/trunk/cucul/export.c
r1306 r1332 289 289 uint32_t attr = lineattr[x]; 290 290 uint32_t ch = linechar[x]; 291 uint8_t fg, bg;291 uint8_t ansifg, ansibg, fg, bg; 292 292 293 293 if(ch == CUCUL_MAGIC_FULLWIDTH) 294 294 continue; 295 295 296 fg = (((attr >> 4) & 0x3fff) == (CUCUL_DEFAULT | 0x40)) ? 297 0x10 : palette[_cucul_attr_to_ansi4fg(attr)]; 298 bg = (((attr >> 18) & 0x3fff) == (CUCUL_TRANSPARENT | 0x40)) ? 299 0x10 : palette[_cucul_attr_to_ansi4bg(attr)]; 296 ansifg = cucul_attr_to_ansi_fg(attr); 297 ansibg = cucul_attr_to_ansi_bg(attr); 298 299 fg = ansifg < 0x10 ? palette[ansifg] : 0x10; 300 bg = ansibg < 0x10 ? palette[ansibg] : 0x10; 300 301 301 302 /* TODO: the [0 could be omitted in some cases */ … … 364 365 for(x = 0; x < cv->width; x++) 365 366 { 366 uint8_t fg = palette[_cucul_attr_to_ansi4fg(lineattr[x])]; 367 uint8_t bg = palette[_cucul_attr_to_ansi4bg(lineattr[x])]; 367 uint8_t ansifg = cucul_attr_to_ansi_fg(lineattr[x]); 368 uint8_t ansibg = cucul_attr_to_ansi_bg(lineattr[x]); 369 uint8_t fg = ansifg < 0x10 ? palette[ansifg] : CUCUL_LIGHTGRAY; 370 uint8_t bg = ansibg < 0x10 ? palette[ansibg] : CUCUL_BLACK; 368 371 uint32_t ch = linechar[x]; 369 372 … … 615 618 { 616 619 uint32_t attr = lineattr[x]; 617 uint8_t fg = palette[_cucul_attr_to_ansi4fg(attr)];618 uint8_t bg = palette[_cucul_attr_to_ansi4bg(attr)];619 620 uint32_t ch = linechar[x]; 621 uint8_t ansifg, ansibg, fg, bg; 620 622 621 623 if(ch == CUCUL_MAGIC_FULLWIDTH) 622 624 continue; 623 625 624 if(((attr >> 4) & 0x3fff) == (CUCUL_DEFAULT | 0x40))625 fg = 0x10;626 627 if(((attr >> 18) & 0x3fff) == (CUCUL_TRANSPARENT | 0x40))628 bg =0x10;626 ansifg = cucul_attr_to_ansi_fg(attr); 627 ansibg = cucul_attr_to_ansi_bg(attr); 628 629 fg = ansifg < 0x10 ? palette[ansifg] : 0x10; 630 bg = ansibg < 0x10 ? palette[ansibg] : 0x10; 629 631 630 632 /* TODO: optimise series of same fg / same bg
Note: See TracChangeset
for help on using the changeset viewer.