|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)wwredrawwin.c 3.10 4/24/85"; ! 3: #endif ! 4: ! 5: /* ! 6: * Copyright (c) 1983 Regents of the University of California, ! 7: * All rights reserved. Redistribution permitted subject to ! 8: * the terms of the Berkeley Software License Agreement. ! 9: */ ! 10: ! 11: #include "ww.h" ! 12: ! 13: wwredrawwin1(w, row1, row2, offset) ! 14: register struct ww *w; ! 15: int row1, row2, offset; ! 16: { ! 17: int row; ! 18: register col; ! 19: register char *smap; ! 20: register union ww_char *buf; ! 21: register char *win; ! 22: register union ww_char *ns; ! 23: int nchanged; ! 24: ! 25: for (row = row1; row < row2; row++) { ! 26: col = w->ww_i.l; ! 27: ns = wwns[row]; ! 28: smap = &wwsmap[row][col]; ! 29: buf = w->ww_buf[row + offset]; ! 30: win = w->ww_win[row]; ! 31: nchanged = 0; ! 32: for (; col < w->ww_i.r; col++) ! 33: if (*smap++ == w->ww_index) { ! 34: nchanged++; ! 35: ns[col].c_w = ! 36: buf[col].c_w ^ win[col] << WWC_MSHIFT; ! 37: } ! 38: if (nchanged > 4) ! 39: wwtouched[row] |= WWU_MAJOR|WWU_TOUCHED; ! 40: else if (nchanged > 0) ! 41: wwtouched[row] |= WWU_TOUCHED; ! 42: } ! 43: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.