コード例 #1
0
ファイル: curswins.c プロジェクト: Elronnd/aNetHack
void curses_putch(winid wid, int x, int y, int ch, int color, int attr)
{
    int sx, sy, ex, ey;
    boolean border = curses_window_has_border(wid);
    nethack_char nch;
    static boolean map_initted = FALSE;

    if (wid == STATUS_WIN)
    {
        curses_update_stats(FALSE);
    }

    if (wid != MAP_WIN)
    {
        return;
    }

    if (!map_initted)
    {
        clear_map();
        map_initted = TRUE;
    }

    map[y][x].ch = ch;
    map[y][x].color = color;
    map[y][x].attr = attr;
    nch = map[y][x];
    
    (void)curses_map_borders(&sx, &sy, &ex, &ey, -1, -1);
    
    if ((x >= sx) && (x <= ex) && (y >= sy) && (y <= ey))
    {
        if (border)
        {
            x++;
            y++;
        }

	write_wchar(mapwin, x - sx, y - sy, nch);
    }

    wrefresh(mapwin);
}
コード例 #2
0
ファイル: write_arg.c プロジェクト: dcognata/42-ft_printf
void	write_min_arg(t_env *e, va_list ap)
{
	if (e->type == 'd')
		write_int(e, ap);
	else if (e->type == 'p')
		write_pointor(e, ap);
	else if (e->type == 'i')
		write_int(e, ap);
	else if (e->type == 'o')
		write_octal(e, ap);
	else if (e->type == 'u')
		write_uint(e, ap);
	else if (e->type == 'x')
		write_hexa(e, ap);
	else if (e->type == 'c')
	{
		if (e->modificator.m == L)
			write_wchar(e, ap);
		else
			write_char(e, ap);
	}
}
コード例 #3
0
ファイル: write_arg.c プロジェクト: dcognata/42-ft_printf
void	write_maj_arg(t_env *e, va_list ap)
{
	if (e->type == 's' && e->modificator.m != L)
		write_string(e, ap);
	else if (e->type == 's' && e->modificator.m == L)
		write_wstr(e, ap);
	if (e->type == 'S')
		write_wstr(e, ap);
	else if (e->type == 'D')
	{
		e->modificator.m = L;
		write_int(e, ap);
	}
	else if (e->type == 'O')
		write_octal(e, ap);
	else if (e->type == 'X')
		write_hexam(e, ap);
	else if (e->type == 'U')
		write_uint(e, ap);
	else if (e->type == 'C')
		write_wchar(e, ap);
}