Example #1
0
void
tty_print_char (int c)
{
    if (yx_in_screen (mc_curs_row, mc_curs_col))
        addch (c);
    mc_curs_col++;
}
Example #2
0
void
tty_print_alt_char (int c, gboolean single)
{
    if (yx_in_screen (mc_curs_row, mc_curs_col))
    {
        if ((chtype) c == ACS_VLINE)
            c = mc_tty_frm[single ? MC_TTY_FRM_VERT : MC_TTY_FRM_DVERT];
        else if ((chtype) c == ACS_HLINE)
            c = mc_tty_frm[single ? MC_TTY_FRM_HORIZ : MC_TTY_FRM_DHORIZ];
        else if ((chtype) c == ACS_LTEE)
            c = mc_tty_frm[single ? MC_TTY_FRM_LEFTMIDDLE : MC_TTY_FRM_DLEFTMIDDLE];
        else if ((chtype) c == ACS_RTEE)
            c = mc_tty_frm[single ? MC_TTY_FRM_RIGHTMIDDLE : MC_TTY_FRM_DRIGHTMIDDLE];
        else if ((chtype) c == ACS_ULCORNER)
            c = mc_tty_frm[single ? MC_TTY_FRM_LEFTTOP : MC_TTY_FRM_DLEFTTOP];
        else if ((chtype) c == ACS_LLCORNER)
            c = mc_tty_frm[single ? MC_TTY_FRM_LEFTBOTTOM : MC_TTY_FRM_DLEFTBOTTOM];
        else if ((chtype) c == ACS_URCORNER)
            c = mc_tty_frm[single ? MC_TTY_FRM_RIGHTTOP : MC_TTY_FRM_DRIGHTTOP];
        else if ((chtype) c == ACS_LRCORNER)
            c = mc_tty_frm[single ? MC_TTY_FRM_RIGHTBOTTOM : MC_TTY_FRM_DRIGHTBOTTOM];
        else if ((chtype) c == ACS_PLUS)
            c = mc_tty_frm[MC_TTY_FRM_CROSS];

        addch (c);
    }

    mc_curs_col++;
}
Example #3
0
void
tty_print_anychar (int c)
{
    unsigned char str[6 + 1];

    if (mc_global.utf8_display || c > 255)
    {
        int res;

        res = g_unichar_to_utf8 (c, (char *) str);
        if (res == 0)
        {
            if (yx_in_screen (mc_curs_row, mc_curs_col))
                addch ('.');
            mc_curs_col++;
        }
        else
        {
            const char *s;

            str[res] = '\0';
            s = str_term_form ((char *) str);

            if (yx_in_screen (mc_curs_row, mc_curs_col))
                addstr (s);

            if (g_unichar_iswide (c))
                mc_curs_col += 2;
            else if (!g_unichar_iszerowidth (c))
                mc_curs_col++;
        }
    }
    else
    {
        if (yx_in_screen (mc_curs_row, mc_curs_col))
            addch (c);
        mc_curs_col++;
    }
}