Diff for tucniak/cuchar/cc_term.c between version 1.3 and 1.4
| version 1.3, 2005/11/29 18:46:31 |
version 1.4, 2005/12/01 18:52:29 |
| Line 457 void windowinitdraw(WIN *win,char cf,cha |
|
| Line 457 void windowinitdraw(WIN *win,char cf,cha |
|
| void mrefresh(WIN *win) |
void mrefresh(WIN *win) |
| { |
{ |
| long i,j,c,s,k; |
long i,j,c,s,k; |
| |
attr_t *data; |
| |
CMAP *map; |
| if(win!=&mainwin) |
if(win!=&mainwin) |
| { |
{ |
| long x,y,vx,vy,ox,oy; |
long x,y,vx,vy,ox,oy; |
| Line 479 void mrefresh(WIN *win) |
|
| Line 481 void mrefresh(WIN *win) |
|
| k=ox+(j-y+oy)*win->vx; |
k=ox+(j-y+oy)*win->vx; |
| for(i=s;i<c;i++,k++) |
for(i=s;i<c;i++,k++) |
| { |
{ |
| mainwin.windata[i]=win->windata[k]; |
if(!fade) |
| cmap[i].win=win; |
{ |
| |
mainwin.windata[i]=win->windata[k]; |
| |
cmap[i].win=win; |
| |
cmap[i].nochange=false; |
| |
} |
| if(paint)cmap[i].paint=win; |
if(paint)cmap[i].paint=win; |
| |
cmap[i].fade=fade; |
| } |
} |
| } |
} |
| } |
} |
| else |
else |
| { |
{ |
| wredrawln(stdscr,0,mainwin.vy); |
|
| for(j=0;j<mainwin.vy;j++) |
for(j=0;j<mainwin.vy;j++) |
| mvaddchnstr(j,0,mainwin.windata+j*mainwin.vx,mainwin.vx*mainwin.vy); |
{ |
| |
map=cmap+j*mainwin.vx; |
| |
for(i=0;i<mainwin.vx;i++)if(!(map++)->nochange)break; |
| |
if(i<mainwin.vx) |
| |
{ |
| |
wredrawln(stdscr,j,1); |
| |
map=cmap+j*mainwin.vx; |
| |
data=mainwin.windata+j*mainwin.vx; |
| |
for(i=0;i<mainwin.vx;i++) |
| |
{ |
| |
if(!map->nochange) |
| |
{ |
| |
mvaddch(j,i,*data); |
| |
map->nochange=true; |
| |
} |
| |
map++; |
| |
data++; |
| |
} |
| |
} |
| |
} |
| } |
} |
| } |
} |
| |
|
Platon Group <platon@platon.org> http://platon.org/
|
|