Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
/**
 * 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;
}
Пример #4
0
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();
}