Changeset 3453 for neercs/trunk


Ignore:
Timestamp:
May 14, 2009, 5:20:36 PM (11 years ago)
Author:
Pascal Terjan
Message:
  • First incomplete reduction of useless blits
Location:
neercs/trunk/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • neercs/trunk/src/effects.c

    r2995 r3453  
    6262        for(i = 0; i < screen_list->count; i++)
    6363        {
     64            if(!screen_list->screen[i]->changed && !screen_list->changed)
     65                continue;
    6466            caca_render_canvas(screen_list->screen[i]->cv, f, buf,
    6567                                miniw, minih, miniw * 4);
  • neercs/trunk/src/input.c

    r3433 r3453  
    7575
    7676    debug("Key %x\n", c);
     77    screen_list->changed = 1;
    7778
    7879    if(c >= '0' && c<='9')
  • neercs/trunk/src/neercs.h

    r3324 r3453  
    131131    unsigned int scroll, s1, s2; /* FIXME, ANSI scroll properties */
    132132    int pid;                     /* running program pid */
     133    int changed;                 /* content was updated */
    133134
    134135    int x, y;                    /* Canvas position */
     
    150151    int in_bell;                 /* Bell occuring in a window  */
    151152    int dont_update_coords;      /* Used by recurrents */
     153    int changed;                 /* Global redraw needed (e.g. adding a screen) */
    152154
    153155    /* Detaching */
  • neercs/trunk/src/screens.c

    r2995 r3453  
    122122        list->count++;
    123123    }
     124
     125    list->changed = 1;
    124126
    125127    return list->count-1;
     
    168170
    169171    list->count--;
     172    list->changed = 1;
    170173    return 1;
    171174}
     
    271274        draw_list(screen_list);
    272275    }
     276    screen_list->changed = 0;
     277    for(i = screen_list->count - 1; i >=0; i--)
     278        screen_list->screen[i]->changed = 0;
    273279}
    274280
  • neercs/trunk/src/server.c

    r3444 r3453  
    256256                screen_list->width  = caca_get_canvas_width(screen_list->cv);
    257257                screen_list->height = caca_get_canvas_height(screen_list->cv) - ((screen_list->mini*6) + (screen_list->status));
     258                screen_list->changed = 1;
    258259                update_windows_props(screen_list);
    259260                caca_clear_canvas(screen_list->cv);
     
    283284                        screensaver_kill(screen_list);
    284285                        screen_list->in_screensaver = 0;
     286                        screen_list->changed = 1;
    285287                        refresh = 1;
    286288                        continue;
     
    290292                    {
    291293                        refresh |= update_lock(c, screen_list);
     294                        screen_list->changed = 1;
    292295                    }
    293296                    else if(screen_list->window_list) {
    294297                        refresh |= update_window_list(c, screen_list);
     298                        screen_list->changed = 1;
    295299                    }
    296300                    else
     
    304308                            {
    305309                                screen_list->help = 0;
     310                                screen_list->changed = 1;
    306311                                refresh = 1;
    307312                                break;
  • neercs/trunk/src/term.c

    r3442 r3453  
    638638    caca_gotoxy(sc->cv, x, y);
    639639
     640    if(i)
     641        sc->changed = 1;
    640642    return i;
    641643}
Note: See TracChangeset for help on using the changeset viewer.