bool init () { if (!is_initialized) { initscr (); if (!has_colors ()) { endwin (); return false; } raw (); noecho (); nonl (); keypad (stdscr, TRUE); intrflush (stdscr, FALSE); #ifdef HAVE_SET_ESCDELAY // The default value set in ncurses is way too long // VIM uses 25 milliseconds if (getenv ("ESCDELAY") == 0) { set_escdelay (50); } #endif start_color (); init_color_pairs (); set_palettes (); static bool ever_registered = false; if (!ever_registered) { atexit (&finalize); ever_registered = true; } is_initialized = true; } return true; }
static int op_handler(int k, int *pos) { const struct termopt opts[2] = { { WHITE_BG, "black white", "bg" }, { ASCII, "VT100 ASCII", "drawing" } }; int i = *pos-2; if (i < 0) { if (k) { setcurs(0, 16); wclrtobot(window); inputsetup_box(k-1, 1, 7); } draw_options_box(); return 1; } if (!i && !k) { getyx(window, i, k); setcurs(2, i+5+!(textgfx_flags & CYGWIN)); putnchars(HLINE, 28); help_cmdline(); setcurs(k, i); i = k = 0; } if (i < 1+!(textgfx_flags & CYGWIN)) i = term_optionhandler(k, opts+i); #ifndef NO_BLOCKSTYLES else i = select_blockstyle(k); #endif if (i == 3) { draw_tetris_logo(0, 0); if (!_MONOCHROME) { init_color_pairs(); if (*pos == 2) clearok(window, TRUE); } draw_options_box(); } return i; }
/** * Initialization of the Ncurses library (done before usage) */ int curses_init(void) { (void) wrefresh(initscr()); g_cursesMode = true; g_endwin_fn = endwin; g_doupdate_fn = doupdate; if (!theme_bool_unparse("term_enable_colors", true) || !has_colors() || start_color() == ERR) { g_no_colors = true; } else { if (theme_bool_unparse("term_use_default_colors", true) && use_default_colors() != OK) { err_msg("use_default_colors() ran unsuccessful!\n" "Troubleshooting: set option term_use_default_colors to NO."); return ERR; } } if (cbreak() == ERR) { err_msg("Could not enter terminal cbreak mode"); return ERR; } if (noecho() == ERR) { err_msg("Unable to turn echoing off!"); return ERR; } if (!g_no_colors && (g_initialized_pairs = init_color_pairs()) < 0) { return ERR; } return OK; }
void load_players(){ refresh(); init_color_pairs(); char* a_token = strtok(a_team, ","); int a_pos = 1; //attron(COLOR_PAIR(11)); while (a_token) { char c_pair[4]; char c_pair2[4]; sprintf(c_pair, "%c", a_token[0]); sprintf(c_pair2, "%c", a_token[1]); strcat(c_pair, c_pair2); int cp = atoi(c_pair); attron(COLOR_PAIR(cp)); a_token += 2; if(strcmp(recvName, a_token) == 0) player_color = cp; mvprintw(a_pos, 71, a_token); mvprintw(a_pos+1, 71, "0"); //a_pos += 2; struct player_t p; strcpy(p.name, a_token); p.score = 0; p.score_x = 71; p.score_y = a_pos+1; p.player_color = cp; p.symbol = 0; Aplayer_list[A_Player_Count] = p; a_pos += 2; A_Player_Count++; a_token = strtok(NULL, ","); } char* b_token = strtok(b_team, ","); int b_pos = 11; while (b_token) { char c_pair[4]; char c_pair2[4]; sprintf(c_pair, "%c", b_token[0]); sprintf(c_pair2, "%c", b_token[1]); strcat(c_pair, c_pair2); int cp = atoi(c_pair); attron(COLOR_PAIR(cp)); b_token += 2; if(strcmp(recvName, b_token) == 0) player_color = cp; mvprintw(b_pos, 71, b_token); mvprintw(b_pos+1, 71, "0"); //b_pos += 2; struct player_t p; strcpy(p.name, b_token); p.score = 0; p.score_x = 71; p.score_y = b_pos+1; p.player_color = cp; p.symbol = 1; Bplayer_list[B_Player_Count] = p; b_pos += 2; B_Player_Count++; b_token = strtok(NULL, ","); } mvprintw(25, 0, ""); refresh(); }