1*2259Sarnold # include "curses.h" 2*2259Sarnold 3*2259Sarnold # define min(a,b) (a < b ? a : b) 4*2259Sarnold 5*2259Sarnold /* 6*2259Sarnold * This routine writes win1 on win2 destructively. 7*2259Sarnold * 8*2259Sarnold * 01/26/81 (Berkeley) @(#)overwrite.c 1.1 9*2259Sarnold */ 10*2259Sarnold overwrite(win1, win2) 11*2259Sarnold reg WINDOW *win1, *win2; { 12*2259Sarnold 13*2259Sarnold reg int x, y, minx, miny, starty; 14*2259Sarnold 15*2259Sarnold # ifdef DEBUG 16*2259Sarnold fprintf(outf, "OVERWRITE(0%o, 0%o);\n", win1, win2); 17*2259Sarnold # endif 18*2259Sarnold miny = min(win1->_maxy, win2->_maxy); 19*2259Sarnold minx = min(win1->_maxx, win2->_maxx); 20*2259Sarnold # ifdef DEBUG 21*2259Sarnold fprintf(outf, "OVERWRITE:\tminx = %d, miny = %d\n", minx, miny); 22*2259Sarnold # endif 23*2259Sarnold starty = win1->_begy - win2->_begy; 24*2259Sarnold for (y = 0; y < miny; y++) 25*2259Sarnold if (wmove(win2, y + starty, 0) != ERR) 26*2259Sarnold for (x = 0; x < minx; x++) 27*2259Sarnold waddch(win2, win1->_y[y][x]); 28*2259Sarnold } 29