void pico_toggle_color(int on) { if(on){ if(pico_hascolor()) _using_color = 1; } else{ _using_color = 0; if(_color_inited){ _color_inited = 0; if(!panicking()) free_color_table(&color_tbl); if(ANSI_COLOR()) putpad("\033[39;49m"); else{ if(_op) putpad(_op); if(_oc) putpad(_oc); } } } }
void pico_endcolor(void) { pico_toggle_color(0); if(panicking()) return; if(_nfcolor) fs_give((void **) &_nfcolor); if(_nbcolor) fs_give((void **) &_nbcolor); if(_rfcolor) fs_give((void **) &_rfcolor); if(_rbcolor) fs_give((void **) &_rbcolor); if(_last_fg_color) fs_give((void **) &_last_fg_color); if(_last_bg_color) fs_give((void **) &_last_bg_color); if(the_rev_color) free_color_pair(&the_rev_color); if(the_normal_color) free_color_pair(&the_normal_color); }
void end_screen(char *message, int exit_val) { int footer_rows_was_one = 0; if(panicking()) return; if(FOOTER_ROWS(ps_global) == 1){ footer_rows_was_one++; FOOTER_ROWS(ps_global) = 3; mark_status_unknown(); } flush_status_messages(exit_val ? 0 : 1); blank_keymenu(_lines - 2, 0); if(message){ StartInverse(); PutLine0(_lines - 2, 0, message); } EndInverse(); MoveCursor(_lines - 1, 0); mswin_showcaret(F_ON(F_SHOW_CURSOR, ps_global)); if(footer_rows_was_one){ FOOTER_ROWS(ps_global) = 1; mark_status_unknown(); } }
void tinitcolor(void) { if(_color_inited || panicking()) return; if(ANSI_COLOR() || (_colors > 0 && ((_setaf && _setab) || (_setf && _setb) /**** not sure how to do this yet || _scp ****/ ))){ _color_inited = 1; color_tbl = init_color_table(); if(ANSI_COLOR()) putpad("\033[39;49m"); else{ if(_op) putpad(_op); if(_oc) putpad(_oc); } } }