Пример #1
0
void
mcview_display (WView * view)
{
    if (view->hex_mode)
    {
        mcview_display_hex (view);
    }
    else
    {
        mcview_display_text (view);
    }
    mcview_display_status (view);
}
Пример #2
0
void
mcview_display (mcview_t * view)
{
    if (view->hex_mode)
    {
        mcview_display_hex (view);
    }
    else if (view->text_nroff_mode)
    {
        mcview_display_nroff (view);
    }
    else
    {
        mcview_display_text (view);
    }
    mcview_display_status (view);
}
Пример #3
0
void
mcview_update (mcview_t * view)
{
    static int dirt_limit = 1;

    if (view->dpy_bbar_dirty)
    {
        view->dpy_bbar_dirty = FALSE;
        mcview_set_buttonbar (view);
        buttonbar_redraw (find_buttonbar (view->widget.owner));
    }

    if (view->dirty > dirt_limit)
    {
        /* Too many updates skipped -> force a update */
        mcview_display (view);
        view->dirty = 0;
        /* Raise the update skipping limit */
        dirt_limit++;
        if (dirt_limit > mcview_max_dirt_limit)
            dirt_limit = mcview_max_dirt_limit;
    }
    else if (view->dirty > 0)
    {
        if (is_idle ())
        {
            /* We have time to update the screen properly */
            mcview_display (view);
            view->dirty = 0;
            if (dirt_limit > 1)
                dirt_limit--;
        }
        else
        {
            /* We are busy -> skipping full update,
               only the status line is updated */
            mcview_display_status (view);
        }
        /* Here we had a refresh, if fast scrolling does not work
           restore the refresh, although this should not happen */
    }
}