Lines Matching refs:wp

24 static void curs_rows(win_T *wp);
43 comp_botline(win_T *wp) in comp_botline() argument
57 check_cursor_moved(wp); in comp_botline()
58 if (wp->w_valid & VALID_CROW) in comp_botline()
60 lnum = wp->w_cursor.lnum; in comp_botline()
61 done = wp->w_cline_row; in comp_botline()
65 lnum = wp->w_topline; in comp_botline()
69 for ( ; lnum <= wp->w_buffer->b_ml.ml_line_count; ++lnum) in comp_botline()
74 if (hasFoldingWin(wp, lnum, NULL, &last, TRUE, NULL)) in comp_botline()
82 if (lnum == wp->w_topline) in comp_botline()
83 n = plines_win_nofill(wp, lnum, TRUE) + wp->w_topfill; in comp_botline()
86 n = plines_win(wp, lnum, TRUE); in comp_botline()
89 lnum <= wp->w_cursor.lnum && last >= wp->w_cursor.lnum in comp_botline()
91 lnum == wp->w_cursor.lnum in comp_botline()
95 wp->w_cline_row = done; in comp_botline()
96 wp->w_cline_height = n; in comp_botline()
98 wp->w_cline_folded = folded; in comp_botline()
100 redraw_for_cursorline(wp); in comp_botline()
101 wp->w_valid |= (VALID_CROW|VALID_CHEIGHT); in comp_botline()
103 if (done + n > wp->w_height) in comp_botline()
112 wp->w_botline = lnum; in comp_botline()
113 wp->w_valid |= VALID_BOTLINE|VALID_BOTLINE_AP; in comp_botline()
115 set_empty_rows(wp, done); in comp_botline()
131 redraw_for_cursorline(win_T *wp) in redraw_for_cursorline() argument
133 if ((wp->w_p_rnu in redraw_for_cursorline()
135 || wp->w_p_cul in redraw_for_cursorline()
138 && (wp->w_valid & VALID_CROW) == 0 in redraw_for_cursorline()
141 if (wp->w_p_rnu) in redraw_for_cursorline()
143 redraw_win_later(wp, VALID); in redraw_for_cursorline()
145 if (wp->w_p_cul) in redraw_for_cursorline()
147 if (wp->w_redr_type <= VALID && wp->w_last_cursorline != 0) in redraw_for_cursorline()
152 redrawWinline(wp, wp->w_last_cursorline); in redraw_for_cursorline()
153 redrawWinline(wp, wp->w_cursor.lnum); in redraw_for_cursorline()
156 redraw_win_later(wp, SOME_VALID); in redraw_for_cursorline()
491 check_cursor_moved(win_T *wp) in check_cursor_moved() argument
493 if (wp->w_cursor.lnum != wp->w_valid_cursor.lnum) in check_cursor_moved()
495 wp->w_valid &= ~(VALID_WROW|VALID_WCOL|VALID_VIRTCOL in check_cursor_moved()
497 wp->w_valid_cursor = wp->w_cursor; in check_cursor_moved()
498 wp->w_valid_leftcol = wp->w_leftcol; in check_cursor_moved()
500 else if (wp->w_cursor.col != wp->w_valid_cursor.col in check_cursor_moved()
501 || wp->w_leftcol != wp->w_valid_leftcol in check_cursor_moved()
502 || wp->w_cursor.coladd != wp->w_valid_cursor.coladd) in check_cursor_moved()
504 wp->w_valid &= ~(VALID_WROW|VALID_WCOL|VALID_VIRTCOL); in check_cursor_moved()
505 wp->w_valid_cursor.col = wp->w_cursor.col; in check_cursor_moved()
506 wp->w_valid_leftcol = wp->w_leftcol; in check_cursor_moved()
507 wp->w_valid_cursor.coladd = wp->w_cursor.coladd; in check_cursor_moved()
523 changed_window_setting_win(win_T *wp) in changed_window_setting_win() argument
525 wp->w_lines_valid = 0; in changed_window_setting_win()
526 changed_line_abv_curs_win(wp); in changed_window_setting_win()
527 wp->w_valid &= ~(VALID_BOTLINE|VALID_BOTLINE_AP|VALID_TOPLINE); in changed_window_setting_win()
528 redraw_win_later(wp, NOT_VALID); in changed_window_setting_win()
535 set_topline(win_T *wp, linenr_T lnum) in set_topline() argument
538 linenr_T prev_topline = wp->w_topline; in set_topline()
543 (void)hasFoldingWin(wp, lnum, &lnum, NULL, TRUE, NULL); in set_topline()
546 wp->w_botline += lnum - wp->w_topline; in set_topline()
547 if (wp->w_botline > wp->w_buffer->b_ml.ml_line_count + 1) in set_topline()
548 wp->w_botline = wp->w_buffer->b_ml.ml_line_count + 1; in set_topline()
549 wp->w_topline = lnum; in set_topline()
550 wp->w_topline_was_set = TRUE; in set_topline()
554 wp->w_topfill = 0; in set_topline()
556 wp->w_valid &= ~(VALID_WROW|VALID_CROW|VALID_BOTLINE|VALID_TOPLINE); in set_topline()
574 changed_cline_bef_curs_win(win_T *wp) in changed_cline_bef_curs_win() argument
576 wp->w_valid &= ~(VALID_WROW|VALID_WCOL|VALID_VIRTCOL in changed_cline_bef_curs_win()
593 changed_line_abv_curs_win(win_T *wp) in changed_line_abv_curs_win() argument
595 wp->w_valid &= ~(VALID_WROW|VALID_WCOL|VALID_VIRTCOL|VALID_CROW in changed_line_abv_curs_win()
612 validate_botline_win(win_T *wp) in validate_botline_win() argument
614 if (!(wp->w_valid & VALID_BOTLINE)) in validate_botline_win()
615 comp_botline(wp); in validate_botline_win()
628 invalidate_botline_win(win_T *wp) in invalidate_botline_win() argument
630 wp->w_valid &= ~(VALID_BOTLINE|VALID_BOTLINE_AP); in invalidate_botline_win()
635 win_T *wp) in approximate_botline_win() argument
637 wp->w_valid &= ~VALID_BOTLINE; in approximate_botline_win()
685 curs_rows(win_T *wp) in curs_rows() argument
697 || wp->w_lines_valid == 0 in curs_rows()
698 || wp->w_lines[0].wl_lnum > wp->w_topline); in curs_rows()
700 wp->w_cline_row = 0; in curs_rows()
701 for (lnum = wp->w_topline; lnum < wp->w_cursor.lnum; ++i) in curs_rows()
704 if (!all_invalid && i < wp->w_lines_valid) in curs_rows()
706 if (wp->w_lines[i].wl_lnum < lnum || !wp->w_lines[i].wl_valid) in curs_rows()
708 if (wp->w_lines[i].wl_lnum == lnum) in curs_rows()
713 if (!wp->w_buffer->b_mod_set in curs_rows()
714 || wp->w_lines[i].wl_lastlnum < wp->w_cursor.lnum in curs_rows()
715 || wp->w_buffer->b_mod_top in curs_rows()
716 > wp->w_lines[i].wl_lastlnum + 1) in curs_rows()
720 else if (wp->w_lines[i].wl_lnum > lnum) in curs_rows()
725 && (lnum != wp->w_topline || !wp->w_p_diff) in curs_rows()
730 lnum = wp->w_lines[i].wl_lastlnum + 1; in curs_rows()
732 if (lnum > wp->w_cursor.lnum) in curs_rows()
737 wp->w_cline_row += wp->w_lines[i].wl_size; in curs_rows()
742 fold_count = foldedCount(wp, lnum, NULL); in curs_rows()
746 if (lnum > wp->w_cursor.lnum) in curs_rows()
748 ++wp->w_cline_row; in curs_rows()
753 if (lnum == wp->w_topline) in curs_rows()
754 wp->w_cline_row += plines_win_nofill(wp, lnum++, TRUE) in curs_rows()
755 + wp->w_topfill; in curs_rows()
758 wp->w_cline_row += plines_win(wp, lnum++, TRUE); in curs_rows()
762 check_cursor_moved(wp); in curs_rows()
763 if (!(wp->w_valid & VALID_CHEIGHT)) in curs_rows()
766 || i == wp->w_lines_valid in curs_rows()
767 || (i < wp->w_lines_valid in curs_rows()
768 && (!wp->w_lines[i].wl_valid in curs_rows()
769 || wp->w_lines[i].wl_lnum != wp->w_cursor.lnum))) in curs_rows()
772 if (wp->w_cursor.lnum == wp->w_topline) in curs_rows()
773 wp->w_cline_height = plines_win_nofill(wp, wp->w_cursor.lnum, in curs_rows()
774 TRUE) + wp->w_topfill; in curs_rows()
777 wp->w_cline_height = plines_win(wp, wp->w_cursor.lnum, TRUE); in curs_rows()
779 wp->w_cline_folded = hasFoldingWin(wp, wp->w_cursor.lnum, in curs_rows()
783 else if (i > wp->w_lines_valid) in curs_rows()
786 wp->w_cline_height = 0; in curs_rows()
788 wp->w_cline_folded = hasFoldingWin(wp, wp->w_cursor.lnum, in curs_rows()
794 wp->w_cline_height = wp->w_lines[i].wl_size; in curs_rows()
796 wp->w_cline_folded = wp->w_lines[i].wl_folded; in curs_rows()
802 wp->w_valid |= VALID_CROW|VALID_CHEIGHT; in curs_rows()
819 validate_virtcol_win(win_T *wp) in validate_virtcol_win() argument
821 check_cursor_moved(wp); in validate_virtcol_win()
822 if (!(wp->w_valid & VALID_VIRTCOL)) in validate_virtcol_win()
824 getvvcol(wp, &wp->w_cursor, NULL, &(wp->w_virtcol), NULL); in validate_virtcol_win()
825 wp->w_valid |= VALID_VIRTCOL; in validate_virtcol_win()
827 if (wp->w_p_cuc && !pum_visible()) in validate_virtcol_win()
828 redraw_win_later(wp, SOME_VALID); in validate_virtcol_win()
898 win_col_off(win_T *wp) in win_col_off() argument
900 return (((wp->w_p_nu || wp->w_p_rnu) ? number_width(wp) + 1 : 0) in win_col_off()
902 + (cmdwin_type == 0 || wp != curwin ? 0 : 1) in win_col_off()
905 + wp->w_p_fdc in win_col_off()
908 + (signcolumn_on(wp) ? 2 : 0) in win_col_off()
925 win_col_off2(win_T *wp) in win_col_off2() argument
927 if ((wp->w_p_nu || wp->w_p_rnu) && vim_strchr(p_cpo, CPO_NUMCOL) != NULL) in win_col_off2()
928 return number_width(wp) + 1; in win_col_off2()
1225 win_T *wp, in textpos2screenpos() argument
1237 if (pos->lnum >= wp->w_topline && pos->lnum <= wp->w_botline) in textpos2screenpos()
1243 row = plines_m_win(wp, wp->w_topline, pos->lnum - 1) + 1; in textpos2screenpos()
1244 getvcol(wp, pos, &scol, &ccol, &ecol); in textpos2screenpos()
1248 off = win_col_off(wp); in textpos2screenpos()
1250 width = wp->w_width - off + win_col_off2(wp); in textpos2screenpos()
1253 if (wp->w_p_wrap in textpos2screenpos()
1254 && col >= (colnr_T)wp->w_width in textpos2screenpos()
1258 rowoff = ((col - wp->w_width) / width + 1); in textpos2screenpos()
1261 col -= wp->w_leftcol; in textpos2screenpos()
1262 if (col >= wp->w_width) in textpos2screenpos()
1264 if (col >= 0 && row + rowoff <= wp->w_height) in textpos2screenpos()
1265 coloff = col - scol + wp->w_wincol + 1; in textpos2screenpos()
1270 *rowp = W_WINROW(wp) + row + rowoff; in textpos2screenpos()
1285 win_T *wp; in f_screenpos() local
1300 wp = find_win_by_nr_or_id(&argvars[0]); in f_screenpos()
1301 if (wp == NULL) in f_screenpos()
1307 textpos2screenpos(wp, &pos, &row, &scol, &ccol, &ecol); in f_screenpos()
1506 win_T *wp, in check_topfill() argument
1511 if (wp->w_topfill > 0) in check_topfill()
1513 n = plines_win_nofill(wp, wp->w_topline, TRUE); in check_topfill()
1514 if (wp->w_topfill + n > wp->w_height) in check_topfill()
1516 if (down && wp->w_topline > 1) in check_topfill()
1518 --wp->w_topline; in check_topfill()
1519 wp->w_topfill = 0; in check_topfill()
1523 wp->w_topfill = wp->w_height - n; in check_topfill()
1524 if (wp->w_topfill < 0) in check_topfill()
1525 wp->w_topfill = 0; in check_topfill()
1917 set_empty_rows(win_T *wp, int used) in set_empty_rows() argument
1920 wp->w_filler_rows = 0; in set_empty_rows()
1923 wp->w_empty_rows = 0; // single line that doesn't fit in set_empty_rows()
1926 wp->w_empty_rows = wp->w_height - used; in set_empty_rows()
1928 if (wp->w_botline <= wp->w_buffer->b_ml.ml_line_count) in set_empty_rows()
1930 wp->w_filler_rows = diff_check_fill(wp, wp->w_botline); in set_empty_rows()
1931 if (wp->w_empty_rows > wp->w_filler_rows) in set_empty_rows()
1932 wp->w_empty_rows -= wp->w_filler_rows; in set_empty_rows()
1935 wp->w_filler_rows = wp->w_empty_rows; in set_empty_rows()
1936 wp->w_empty_rows = 0; in set_empty_rows()