void tty_color_try_alloc_pair_lib (tty_color_pair_t * mc_color_pair) { const char *fg, *bg; if (mc_color_pair->ifg <= (int) SPEC_A_REVERSE) { switch (mc_color_pair->ifg) { case SPEC_A_REVERSE: mc_tty_color_pair_init_special (mc_color_pair, "black", "white", "black", "lightgray", SLTT_REV_MASK); break; case SPEC_A_BOLD: mc_tty_color_pair_init_special (mc_color_pair, "white", "black", "white", "black", SLTT_BOLD_MASK); break; case SPEC_A_BOLD_REVERSE: mc_tty_color_pair_init_special (mc_color_pair, "white", "white", "white", "white", SLTT_BOLD_MASK | SLTT_REV_MASK); break; case SPEC_A_UNDERLINE: mc_tty_color_pair_init_special (mc_color_pair, "white", "black", "white", "black", SLTT_ULINE_MASK); break; } } else { fg = (mc_color_pair->cfg) ? mc_color_pair->cfg : "default"; bg = (mc_color_pair->cbg) ? mc_color_pair->cbg : "default"; SLtt_set_color (mc_color_pair->pair_index, (char *) "", (char *) fg, (char *) bg); } }
void tty_color_try_alloc_pair_lib (tty_color_pair_t * mc_color_pair) { if (mc_color_pair->ifg <= (int) SPEC_A_REVERSE) { switch (mc_color_pair->ifg) { case SPEC_A_REVERSE: mc_tty_color_pair_init_special (mc_color_pair, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE | A_BOLD, A_REVERSE); break; case SPEC_A_BOLD: mc_tty_color_pair_init_special (mc_color_pair, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, A_BOLD); break; case SPEC_A_BOLD_REVERSE: mc_tty_color_pair_init_special (mc_color_pair, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, A_BOLD | A_REVERSE); break; case SPEC_A_UNDERLINE: mc_tty_color_pair_init_special (mc_color_pair, COLOR_WHITE, COLOR_BLACK, COLOR_WHITE, COLOR_BLACK, A_UNDERLINE); break; default: break; } } else { int ifg, ibg, attr; ifg = mc_color_pair->ifg; ibg = mc_color_pair->ibg; attr = mc_color_pair->attr; /* In legacy color mode, change bright colors into bold */ if (!tty_use_256colors () && !tty_use_truecolors (NULL)) { if (ifg >= 8 && ifg < 16) { ifg &= 0x07; attr |= A_BOLD; } if (ibg >= 8 && ibg < 16) { ibg &= 0x07; /* attr | = A_BOLD | A_REVERSE ; */ } } init_pair (mc_color_pair->pair_index, ifg, ibg); mc_tty_color_save_attr (mc_color_pair->pair_index, attr); } }
void tty_color_try_alloc_pair_lib (tty_color_pair_t * mc_color_pair) { if (mc_color_pair->ifg <= (int) SPEC_A_REVERSE) { switch (mc_color_pair->ifg) { case SPEC_A_REVERSE: mc_tty_color_pair_init_special (mc_color_pair, "black", "white", "black", "lightgray", SLTT_REV_MASK); break; case SPEC_A_BOLD: mc_tty_color_pair_init_special (mc_color_pair, "white", "black", "white", "black", SLTT_BOLD_MASK); break; case SPEC_A_BOLD_REVERSE: mc_tty_color_pair_init_special (mc_color_pair, "white", "white", "white", "white", SLTT_BOLD_MASK | SLTT_REV_MASK); break; case SPEC_A_UNDERLINE: mc_tty_color_pair_init_special (mc_color_pair, "white", "black", "white", "black", SLTT_ULINE_MASK); break; } } else { const char *fg, *bg; fg = tty_color_get_name_by_index (mc_color_pair->ifg); bg = tty_color_get_name_by_index (mc_color_pair->ibg); SLtt_set_color (mc_color_pair->pair_index, (char *) "", (char *) fg, (char *) bg); SLtt_add_color_attribute (mc_color_pair->pair_index, mc_color_pair->attr); } }