Changeset 3453


Ignore:
Timestamp:
05/14/09 17:20:36 (4 years ago)
Author:
pterjan
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.