Lines Matching defs:sp

59 vs_busy(SCR *sp, const char *msg, busy_t btype)
70 if (F_ISSET(sp, SC_EX | SC_SCR_EXWROTE))
73 gp = sp->gp;
74 vip = VIP(sp);
93 (void)gp->scr_cursor(sp, &vip->busy_oldy, &vip->busy_oldx);
96 p = msg_cat(sp, msg, &len);
97 (void)gp->scr_move(sp, LASTLINE(sp), 0);
98 (void)gp->scr_addstr(sp, p, len);
99 (void)gp->scr_cursor(sp, &notused, &vip->busy_fx);
100 (void)gp->scr_clrtoeol(sp);
101 (void)gp->scr_move(sp, LASTLINE(sp), vip->busy_fx);
113 (void)gp->scr_move(sp, LASTLINE(sp), 0);
114 (void)gp->scr_clrtoeol(sp);
116 (void)gp->scr_move(sp, vip->busy_oldy, vip->busy_oldx);
133 (void)gp->scr_move(sp, LASTLINE(sp), vip->busy_fx);
134 (void)gp->scr_addstr(sp, flagc + vip->busy_ch++, 1);
135 (void)gp->scr_move(sp, LASTLINE(sp), vip->busy_fx);
138 (void)gp->scr_refresh(sp, 0);
148 vs_home(SCR *sp)
150 (void)sp->gp->scr_move(sp, LASTLINE(sp), 0);
151 (void)sp->gp->scr_refresh(sp, 0);
161 vs_update(SCR *sp, const char *m1, const CHAR_T *m2)
168 gp = sp->gp;
178 if (F_ISSET(sp, SC_SCR_EXWROTE)) {
180 INT2CHAR(sp, m2, STRLEN(m2) + 1, np, nlen);
181 (void)ex_printf(sp,
183 (void)ex_fflush(sp);
190 (void)gp->scr_cursor(sp, &oldy, &oldx);
193 (void)gp->scr_move(sp, LASTLINE(sp), 0);
194 (void)gp->scr_clrtoeol(sp);
202 if (len > sp->cols - 2)
203 mlen = len = sp->cols - 2;
204 (void)gp->scr_addstr(sp, m1, mlen);
209 if (len + mlen > sp->cols - 2)
210 mlen = (sp->cols - 2) - len;
211 (void)gp->scr_waddstr(sp, m2, mlen);
214 (void)gp->scr_move(sp, oldy, oldx);
215 (void)gp->scr_refresh(sp, 0);
231 vs_msg(SCR *sp, mtype_t mtype, char *line, size_t len)
238 gp = sp->gp;
239 vip = VIP(sp);
247 if (F_ISSET(sp, SC_TINPUT_INFO) || F_ISSET(gp, G_BELLSCHED))
248 if (F_ISSET(sp, SC_SCR_VI)) {
250 (void)gp->scr_bell(sp);
259 if (F_ISSET(sp, SC_TINPUT_INFO))
277 if (F_ISSET(sp, SC_EX | SC_SCR_EXWROTE)) {
278 if (!F_ISSET(sp, SC_SCR_EX))
279 if (F_ISSET(sp, SC_SCR_EXWROTE)) {
280 if (sp->gp->scr_screen(sp, SC_EX))
283 if (ex_init(sp))
287 (void)gp->scr_attr(sp, SA_INVERSE, 1);
290 (void)gp->scr_attr(sp, SA_INVERSE, 0);
293 F_CLR(sp, SC_EX_WAIT_NO);
295 if (!F_ISSET(sp, SC_SCR_EX))
296 (void)sp->gp->scr_screen(sp, SC_VI);
301 if (!F_ISSET(sp, SC_SCR_VI)) {
302 (void)vs_msgsave(sp, mtype, line, len);
307 (void)gp->scr_cursor(sp, &oldy, &oldx);
311 vs_output(sp, mtype, line, len);
339 if (IS_ONELINE(sp))
340 (void)msg_cmsg(sp, CMSG_CONT_S, &padding);
345 maxcols = sp->cols - 1;
348 vs_output(sp, vip->mtype, ".\n", 2);
350 vs_output(sp, vip->mtype, ";", 1);
351 vs_output(sp, M_NONE, " ", 1);
375 vs_output(sp, mtype, s, e - s);
378 vs_output(sp, M_NONE, "\n", 1);
380 if (INTERRUPTED(sp))
384 ret: (void)gp->scr_move(sp, oldy, oldx);
385 (void)gp->scr_refresh(sp, 0);
393 vs_output(SCR *sp, mtype_t mtype, const char *line, int llen)
402 gp = sp->gp;
403 vip = VIP(sp);
412 * The max is sp->cols characters, and we may have already
415 if (len + vip->lcontinue > sp->cols)
416 len = sp->cols - vip->lcontinue;
425 if (!IS_ONELINE(sp)) {
427 (void)gp->scr_move(sp,
428 LASTLINE(sp) - 1, 0);
429 (void)gp->scr_clrtoeol(sp);
430 (void)vs_divider(sp);
435 if (vip->totalcount == sp->t_maxrows &&
443 vs_scroll(sp, NULL, SCROLL_W_QUIT);
445 (void)gp->scr_move(sp, LASTLINE(sp), 0);
449 if (INTERRUPTED(sp))
452 (void)gp->scr_move(sp, LASTLINE(sp), vip->lcontinue);
456 (void)gp->scr_attr(sp, SA_INVERSE, 1);
461 (void)gp->scr_addstr(sp, cbuf, cbp - cbuf); \
480 (void)gp->scr_attr(sp, SA_INVERSE, 0);
483 (void)gp->scr_clrtoeol(sp);
499 gp->scr_cursor(sp, &notused, &vip->lcontinue);
512 vs_ex_resolve(SCR *sp, int *continuep)
519 gp = sp->gp;
520 vip = VIP(sp);
528 vs_output(sp, vip->mtype, ".", 1);
549 if (F_ISSET(sp, SC_SCR_EXWROTE)) {
550 if (sp->gp->scr_screen(sp, SC_VI))
553 if (!F_ISSET(sp, SC_EX_WAIT_YES) && vip->totalcount < 2) {
554 F_CLR(sp, SC_EX_WAIT_NO);
559 F_CLR(sp, SC_EX_WAIT_YES);
566 if (!F_ISSET(sp, SC_EX_WAIT_NO) && !INTERRUPTED(sp)) {
567 wtype = F_ISSET(sp, SC_EXIT | SC_EXIT_FORCE |
569 if (F_ISSET(sp, SC_SCR_EXWROTE))
570 vs_wait(sp, continuep, wtype);
572 vs_scroll(sp, continuep, wtype);
578 if (F_ISSET(sp, SC_SCR_EXWROTE))
585 if (TAILQ_NEXT(sp, q) != NULL)
586 F_SET(sp, SC_SCR_REDRAW);
590 F_SET(sp, SC_SCR_REFORMAT);
593 (void)gp->scr_attr(sp, SA_ALTERNATE, 1);
599 F_CLR(sp, SC_SCR_EXWROTE | SC_EX_WAIT_NO);
614 sp->rows ? 1 : sp->rows - vip->totalcount;
615 ev.e_tlno = sp->rows;
621 (void)vs_repaint(sp, &ev);
636 vs_resolve(SCR *sp, SCR *csp, int forcewait)
648 * been displayed and that any status lines are correct. The sp screen
652 gp = sp->gp;
653 vip = VIP(sp);
655 csp = sp;
663 (void)gp->scr_bell(sp);
667 if (F_ISSET(sp, SC_STATUS)) {
668 F_CLR(sp, SC_STATUS);
669 msgq_status(sp, sp->lno, MSTAT_TRUNCATE);
673 mod_rpt(sp);
682 if (!F_ISSET(sp, SC_SCR_VI) && vs_refresh(sp, 1))
685 gp->scr_msg(sp, mp->mtype, mp->buf, mp->len);
703 vs_scroll(sp, NULL, SCROLL_W);
714 vs_scroll(sp, NULL, SCROLL_W);
718 sp->rows ? 1 : sp->rows - vip->totalcount;
719 ev.e_tlno = sp->rows;
730 (void)vs_repaint(sp, &ev);
743 vs_scroll(SCR *sp, int *continuep, sw_t wtype)
748 gp = sp->gp;
749 vip = VIP(sp);
750 if (!IS_ONELINE(sp)) {
756 (void)gp->scr_move(sp, vip->totalcount <
757 sp->rows ? LASTLINE(sp) - vip->totalcount : 0, 0);
758 (void)gp->scr_deleteln(sp);
761 if (TAILQ_NEXT(sp, q) != NULL) {
762 (void)gp->scr_move(sp, LASTLINE(sp), 0);
763 (void)gp->scr_insertln(sp);
766 if (wtype == SCROLL_W_QUIT && vip->linecount < sp->t_maxrows)
768 vs_wait(sp, continuep, wtype);
776 vs_wait(SCR *sp, int *continuep, sw_t wtype)
784 gp = sp->gp;
785 vip = VIP(sp);
787 (void)gp->scr_move(sp, LASTLINE(sp), 0);
788 if (IS_ONELINE(sp))
789 p = msg_cmsg(sp, CMSG_CONT_S, &len);
793 p = msg_cmsg(sp, CMSG_CONT_Q, &len);
796 p = msg_cmsg(sp, CMSG_CONT_EX, &len);
799 p = msg_cmsg(sp, CMSG_CONT, &len);
805 (void)gp->scr_addstr(sp, p, len);
810 (void)gp->scr_clrtoeol(sp);
811 (void)gp->scr_refresh(sp, 0);
817 if (v_event_get(sp, &ev, 0, 0))
826 (void)gp->scr_bell(sp);
847 vs_divider(SCR *sp)
854 sizeof(DIVIDESTR) - 1 > sp->cols ? sp->cols : sizeof(DIVIDESTR) - 1;
855 gp = sp->gp;
856 (void)gp->scr_attr(sp, SA_INVERSE, 1);
857 (void)gp->scr_addstr(sp, DIVIDESTR, len);
858 (void)gp->scr_attr(sp, SA_INVERSE, 0);
866 vs_msgsave(SCR *sp, mtype_t mt, char *p, size_t len)
878 CALLOC_GOTO(sp, mp_n, MSGS *, 1, sizeof(MSGS));
879 MALLOC_GOTO(sp, mp_n->buf, char *, len);
885 gp = sp->gp;