Lines Matching refs:f

37 #define	AT_BOTTOM(f)	(Y(f) == Ymax(f) - 1)		/* last line	*/  argument
38 #define AT_END(f) (Y(f) == Ymax(f) - 1 && X(f) == Xmax(f) - 1) argument
40 #define AT_BEGINNING(f) (Y(f) == 0 && X(f) == 0) /* first char */ argument
43 room_for_line(FORM *f) in room_for_line() argument
47 _sync_buffer(f); in room_for_line()
48 v = LineBuf(C(f), Ymax(f) - 1); in room_for_line()
49 return (v == _data_end(v, Xmax(f))); /* check for empty line */ in room_for_line()
53 room_for_char(FORM *f) in room_for_char() argument
55 WINDOW * w = W(f); in room_for_char()
58 (void) wmove(w, Y(f), Xmax(f) - 1); in room_for_char()
60 (void) wmove(w, Y(f), X(f)); in room_for_char()
61 return (c == Pad(C(f))); /* check for empty char */ in room_for_char()
82 FORM *f = c->form; in _grow_field() local
83 WINDOW *w = W(f); in _grow_field()
84 BOOLEAN current = Status(f, POSTED) && c == C(f); in _grow_field()
94 if (current && Status(f, WIN_CHG)) { in _grow_field()
96 Clr(f, WIN_CHG); in _grow_field()
97 Set(f, BUF_CHG); in _grow_field()
143 W(f) = w = newwin(c->drows, c->dcols, 0, 0); in _grow_field()
153 (void) wmove(w, Y(f), X(f)); in _grow_field()
172 insert_str(FORM *f, int y, int off, int nstr) /* used for word wrapping */ in insert_str() argument
174 WINDOW *w = W(f); in insert_str()
175 FIELD *c = C(f); in insert_str()
177 char *v = _data_end(vbeg, Xmax(f)); in insert_str()
179 int n = Xmax(f) - x; in insert_str()
190 if (y == Ymax(f) - 1 && Status(c, GROWABLE)) { in insert_str()
195 w = W(f); /* grow changes window */ in insert_str()
198 v = _data_beg(vbeg + Xmax(f) - siz, siz); in insert_str()
201 n = Xmax(f) - x - n; in insert_str()
203 if (y < Ymax(f) - 1 && (ret = in insert_str()
204 insert_str(f, y+1, (int)(v - Buf(c)), n)) == E_OK) { in insert_str()
218 wrap_ok(FORM *f) /* used for word wrapping */ in wrap_ok() argument
226 FIELD *c = C(f); in wrap_ok()
227 BOOLEAN at_bottom = AT_BOTTOM(f); in wrap_ok()
230 if (Opt(c, O_WRAP) && !OneRow(c) && !room_for_char(f) && in wrap_ok()
240 vbeg = LineBuf(c, Y(f)); in wrap_ok()
241 w = W(f); in wrap_ok()
245 v = _whsp_end(vbeg, Xmax(f)); in wrap_ok()
247 n = Xmax(f) - x; in wrap_ok()
249 if (x && (ret = insert_str(f, Y(f)+1, (int)(v - Buf(c)), n)) == in wrap_ok()
251 w = W(f); /* window may change in insert_str */ in wrap_ok()
252 (void) wmove(w, Y(f), x); in wrap_ok()
255 if (X(f) >= x) { in wrap_ok()
256 ++Y(f); in wrap_ok()
257 X(f) = X(f) - x; in wrap_ok()
263 (void) wmove(w, Y(f), X(f)); in wrap_ok()
273 _new_line(FORM *f) in _new_line() argument
293 BOOLEAN at_bottom = AT_BOTTOM(f); in _new_line()
294 FIELD * c = C(f); in _new_line()
296 if (Opt(f, O_NL_OVERLOAD) && AT_BEGINNING(f)) in _new_line()
297 return (_field_navigation(_next_field, f)); in _new_line()
302 if (Status(f, OVERLAY)) { /* OVERLAY mode */ in _new_line()
304 if (Opt(f, O_NL_OVERLOAD)) { in _new_line()
305 (void) wclrtoeol(W(f)); in _new_line()
306 Set(f, WIN_CHG); in _new_line()
307 return (_field_navigation(_next_field, f)); in _new_line()
315 (void) wclrtoeol(W(f)); in _new_line()
316 ++Y(f); X(f) = 0; in _new_line()
321 if (Opt(f, O_NL_OVERLOAD)) in _new_line()
322 return (_field_navigation(_next_field, f)); in _new_line()
327 room = !at_bottom && room_for_line(f); in _new_line()
337 w = W(f); in _new_line()
338 v = LineBuf(c, Y(f)) + X(f); in _new_line()
339 vend = _data_end(v, Xmax(f) - X(f)); in _new_line()
342 ++Y(f); X(f) = 0; in _new_line()
343 (void) wmove(w, Y(f), X(f)); in _new_line()
349 Set(f, WIN_CHG); in _new_line()
355 _ins_char(FORM *f) in _ins_char() argument
357 FIELD *c = C(f); in _ins_char()
358 BOOLEAN room = room_for_char(f); in _ins_char()
365 (void) winsch(W(f), ' '); in _ins_char()
367 return (wrap_ok(f)); in _ins_char()
374 _ins_line(FORM *f) in _ins_line() argument
376 BOOLEAN room = !AT_BOTTOM(f) && room_for_line(f); in _ins_line()
377 FIELD *c = C(f); in _ins_line()
383 X(f) = 0; in _ins_line()
384 (void) winsertln(W(f)); in _ins_line()
392 _del_char(FORM *f) in _del_char() argument
394 (void) wdelch(W(f)); in _del_char()
399 _del_prev(FORM *f) in _del_prev() argument
422 WINDOW * w = W(f); in _del_prev()
423 FIELD * c = C(f); in _del_prev()
425 if (AT_BEGINNING(f)) { in _del_prev()
426 if (Opt(f, O_BS_OVERLOAD)) in _del_prev()
427 return (_field_navigation(_prev_field, f)); in _del_prev()
434 if (--X(f) < 0) { in _del_prev()
435 ++X(f); in _del_prev()
437 if (Status(f, OVERLAY)) /* OVERLAY mode */ in _del_prev()
440 char *p = LineBuf(c, Y(f) - 1); in _del_prev()
441 char *v = LineBuf(c, Y(f)); in _del_prev()
445 _sync_buffer(f); in _del_prev()
446 pend = _data_end(p, Xmax(f)); in _del_prev()
447 vend = _data_end(v, Xmax(f)); in _del_prev()
449 if ((vend - v) > (Xmax(f) - (pend - p))) in _del_prev()
453 _adjust_cursor(f, pend); in _del_prev()
454 (void) wmove(w, Y(f), X(f)); in _del_prev()
459 (void) wmove(w, Y(f), X(f)); in _del_prev()
462 Set(f, WIN_CHG); in _del_prev()
468 _del_line(FORM *f) in _del_line() argument
470 X(f) = 0; in _del_line()
471 (void) wdeleteln(W(f)); in _del_line()
477 _del_word(FORM *f) in _del_word() argument
479 FIELD *c = C(f); in _del_word()
480 WINDOW *w = W(f); in _del_word()
481 char *y = LineBuf(c, Y(f)); in _del_word()
482 char *t = y + Xmax(f); in _del_word()
483 char *v = y + X(f); in _del_word()
486 _sync_buffer(f); in _del_word()
491 _adjust_cursor(f, _whsp_end(y, X(f))); in _del_word()
492 (void) wmove(w, Y(f), X(f)); in _del_word()
506 _clr_eol(FORM *f) in _clr_eol() argument
508 (void) wclrtoeol(W(f)); in _clr_eol()
514 _clr_eof(FORM *f) in _clr_eof() argument
516 (void) wclrtobot(W(f)); in _clr_eof()
522 _clr_field(FORM *f) in _clr_field() argument
524 X(f) = 0; Y(f) = 0; in _clr_field()
525 (void) werase(W(f)); in _clr_field()
531 _ovl_mode(FORM *f) in _ovl_mode() argument
533 Set(f, OVERLAY); in _ovl_mode()
539 _ins_mode(FORM *f) in _ins_mode() argument
541 Clr(f, OVERLAY); in _ins_mode()
547 _validation(FORM *f) in _validation() argument
549 return (_validate(f) ? E_OK : E_INVALID_FIELD); in _validation()
554 _next_choice(FORM *f) in _next_choice() argument
556 _sync_buffer(f); in _next_choice()
557 return (NextChoice(C(f)) ? E_OK : E_REQUEST_DENIED); in _next_choice()
562 _prev_choice(FORM *f) in _prev_choice() argument
564 _sync_buffer(f); in _prev_choice()
565 return (PrevChoice(C(f)) ? E_OK : E_REQUEST_DENIED); in _prev_choice()
573 _data_entry(FORM *f, int ch) in _data_entry() argument
575 FIELD * c = C(f); /* current field */ in _data_entry()
576 WINDOW * w = W(f); /* field window */ in _data_entry()
583 if (AT_BEGINNING(f) && Opt(c, O_BLANK) && ! Status(f, BUF_CHG) && in _data_entry()
584 !Status(f, WIN_CHG)) in _data_entry()
587 if (Status(f, OVERLAY)) /* OVERLAY mode */ in _data_entry()
590 BOOLEAN room = room_for_char(f); in _data_entry()
601 if ((ret = wrap_ok(f)) != E_OK) in _data_entry()
604 Set(f, WIN_CHG); in _data_entry()
606 at_end = AT_END(f); in _data_entry()
609 return (_field_navigation(_next_field, f)); in _data_entry()
614 (void) _next_char(f); in _data_entry()