Lines Matching full:new

34  *	Create a new screen, horizontally.
41 SCR *new, in vs_split() argument
62 /* Get a new screen map. */ in vs_split()
63 CALLOC(sp, _HMAP(new), SIZE_HMAP(sp), sizeof(SMAP)); in vs_split()
64 if (_HMAP(new) == NULL) in vs_split()
66 _HMAP(new)->lno = sp->lno; in vs_split()
67 _HMAP(new)->coff = 0; in vs_split()
68 _HMAP(new)->soff = 1; in vs_split()
82 new->coff = sp->coff; in vs_split()
83 new->cols = sp->cols; in vs_split()
88 * half of the current screen, the new screen goes under the current in vs_split()
98 new->rows = sp->rows - half; /* New. */ in vs_split()
99 new->roff = sp->roff; in vs_split()
101 sp->roff += new->rows; in vs_split()
107 memcpy(_HMAP(sp), _HMAP(sp) + new->rows, in vs_split()
108 (sp->t_maxrows - new->rows) * sizeof(SMAP)); in vs_split()
110 new->rows = half; /* New. */ in vs_split()
112 new->roff = sp->roff + sp->rows; in vs_split()
117 new->t_maxrows = IS_ONELINE(new) ? 1 : new->rows - 1; in vs_split()
124 * new screen sizes. in vs_split()
129 sp->t_rows -= new->rows; in vs_split()
138 new->t_minrows = new->t_rows = O_VAL(sp, O_WINDOW); in vs_split()
139 if (new->t_rows > new->t_maxrows) in vs_split()
140 new->t_rows = new->t_maxrows; in vs_split()
141 if (new->t_minrows > new->t_maxrows) in vs_split()
142 new->t_minrows = new->t_maxrows; in vs_split()
147 * The new screen may be a small screen, even if the parent in vs_split()
152 new->t_minrows = new->t_rows = O_VAL(sp, O_WINDOW); in vs_split()
153 if (new->t_rows > new->rows - 1) in vs_split()
154 new->t_minrows = new->t_rows = in vs_split()
155 IS_ONELINE(new) ? 1 : new->rows - 1; in vs_split()
158 /* Adjust the ends of the new and old maps. */ in vs_split()
161 _TMAP(new) = IS_ONELINE(new) ? in vs_split()
162 _HMAP(new) : _HMAP(new) + (new->t_rows - 1); in vs_split()
167 if ((new->defscroll = new->t_maxrows / 2) == 0) in vs_split()
168 new->defscroll = 1; in vs_split()
171 vs_insert(new, sp->gp); in vs_split()
174 (void)gp->scr_split(sp, new); in vs_split()
189 * Draw the new screen from scratch, and add a status line. in vs_split()
191 F_SET(new, in vs_split()
199 * Create a new screen, vertically.
204 vs_vsplit(SCR *sp, SCR *new) in vs_vsplit() argument
222 /* Get a new screen map. */ in vs_vsplit()
223 CALLOC(sp, _HMAP(new), SIZE_HMAP(sp), sizeof(SMAP)); in vs_vsplit()
224 if (_HMAP(new) == NULL) in vs_vsplit()
226 _HMAP(new)->lno = sp->lno; in vs_vsplit()
227 _HMAP(new)->coff = 0; in vs_vsplit()
228 _HMAP(new)->soff = 1; in vs_vsplit()
244 new->cols = sp->cols - cols - 1; in vs_vsplit()
246 new->coff = sp->coff + cols + 1; in vs_vsplit()
250 new->rows = sp->rows; in vs_vsplit()
251 new->t_rows = sp->t_rows; in vs_vsplit()
252 new->t_maxrows = sp->t_maxrows; in vs_vsplit()
253 new->t_minrows = sp->t_minrows; in vs_vsplit()
254 new->roff = sp->roff; in vs_vsplit()
255 new->defscroll = sp->defscroll; in vs_vsplit()
256 _TMAP(new) = _HMAP(new) + (new->t_rows - 1); in vs_vsplit()
259 vs_insert(new, sp->gp); in vs_vsplit()
262 (void)gp->scr_split(sp, new); in vs_vsplit()
280 * Draw the new screen from scratch, and add a status line. in vs_vsplit()
282 F_SET(new, in vs_vsplit()
290 * Insert the new screen into the correct place in the logical
605 * Background the current screen, and foreground a new one.
640 /* Remove the new screen from the background queue. */ in vs_fg()
740 * The new screens may have different screen options sizes than the in vs_swap()
742 * than the new screen sizes. in vs_swap()
756 /* Allocate a new screen map. */ in vs_swap()
766 * The new screen replaces the old screen in the parent/child list. in vs_swap()
767 * We insert the new screen after the old one. If we're exiting, in vs_swap()
780 /* Draw the new screen from scratch, and add a status line. */ in vs_swap()