Esempio n. 1
0
File: ansi.c Progetto: gsrr/Python
void set_color_pair(int clr)
{
	int bg = -1;
	char bold = '1';
	if (_MONOCHROME) {
		if (clr == MAGENTA_FG)
			setattr_bold();
		return;
	}
	switch (clr) {
	case 7:
		if (_WHITE_BG)
			clr = 0;
		bg = clr;
		break;
	case 0x17:
		printf("\033[m\033[1m");
		return;
	case MAGENTA_FG:
		clr = 5;
		break;
	case WHITE_ON_BLUE:
		clr = 7;
		bg = 4;
		break;
	case BOARD_BG_COLOR:
		clr = _WHITE_BG ? 6 : 4;
		bold = '0';
		break;
	case BOARD_FRAME_COLOR:
		clr = 4;
		bold = '0';
		break;
	case RED_FG:
		clr = 1;
		break;
	case YELLOW_ON_BLUE:
		clr = 3;
		bg = 4;
		break;
	case YELLOW_ON_GREEN:
		clr = 3;
		bg = 2;
		break;
	default:
		if (clr & 16)
			clr &= 7;
		else
			bg = clr;
	}
	set_ansi_color(bg, clr, bold);
}
Esempio n. 2
0
void setcolorpair(int clr)
{
	int bg;
	if (clr != PANEL_LABEL_COLOR)
		set_color_pair(clr);
	else if (!_MONOCHROME) {
		clr = 3;
		if (TWOPLAYER_MODE)
			bg = 4;
		else {
			bg = (player1.level % 6)+1;
			if (bg==6)
				clr = 7;
		}
		set_ansi_color(bg, clr, '1');
	}
}
Esempio n. 3
0
File: ansi.c Progetto: gsrr/Python
void set_ansi_color(int bg, int fg, char bold)
{
	if (textgfx_flags & BLACK_BRACKETS) {
		if (bg == fg) {
			set_ansi_color(-1, fg, '0');
			printf("\033[7m");
			return;
		} 
		if (bg >= 0)
			printf("\033[m");
	}
	if (!_TT_BLOCKS) {
		if (bg >= 0)
			printf("\033[4%cm", bg+'0');
		else
			printf("\033[m");
	}
	printf("\033[%c;3%cm", bold, fg+'0');
}