Lines Matching refs:cb
48 Clipboard_T *cb; in clip_init() local
50 cb = &clip_star; in clip_init()
53 cb->available = can_use; in clip_init()
54 cb->owned = FALSE; in clip_init()
55 cb->start.lnum = 0; in clip_init()
56 cb->start.col = 0; in clip_init()
57 cb->end.lnum = 0; in clip_init()
58 cb->end.col = 0; in clip_init()
59 cb->state = SELECT_CLEARED; in clip_init()
61 if (cb == &clip_plus) in clip_init()
63 cb = &clip_plus; in clip_init()
527 Clipboard_T *cb, in clip_update_modeless_selection() argument
534 if (row1 != cb->start.lnum || col1 != (int)cb->start.col) in clip_update_modeless_selection()
536 clip_invert_area(cb, row1, col1, (int)cb->start.lnum, cb->start.col, in clip_update_modeless_selection()
538 cb->start.lnum = row1; in clip_update_modeless_selection()
539 cb->start.col = col1; in clip_update_modeless_selection()
543 if (row2 != cb->end.lnum || col2 != (int)cb->end.col) in clip_update_modeless_selection()
545 clip_invert_area(cb, (int)cb->end.lnum, cb->end.col, row2, col2, in clip_update_modeless_selection()
547 cb->end.lnum = row2; in clip_update_modeless_selection()
548 cb->end.col = col2; in clip_update_modeless_selection()
559 clip_get_word_boundaries(Clipboard_T *cb, int row, int col) in clip_get_word_boundaries() argument
585 cb->word_start_col = temp_col; in clip_get_word_boundaries()
594 cb->word_end_col = temp_col; in clip_get_word_boundaries()
626 Clipboard_T *cb = &clip_star; in clip_start_selection() local
639 if (cb->state == SELECT_DONE) in clip_start_selection()
640 clip_clear_selection(cb); in clip_start_selection()
646 cb->start.lnum = row; in clip_start_selection()
647 cb->start.col = col; in clip_start_selection()
648 cb->end = cb->start; in clip_start_selection()
649 cb->origin_row = (short_u)cb->start.lnum; in clip_start_selection()
650 cb->state = SELECT_IN_PROGRESS; in clip_start_selection()
656 cb->min_col = wp->w_wincol + wp->w_popup_border[3]; in clip_start_selection()
657 cb->max_col = wp->w_wincol + popup_width(wp) in clip_start_selection()
659 if (cb->max_col > screen_Columns) in clip_start_selection()
660 cb->max_col = screen_Columns; in clip_start_selection()
661 cb->min_row = wp->w_winrow + wp->w_popup_border[0]; in clip_start_selection()
662 cb->max_row = wp->w_winrow + popup_height(wp) - 1 in clip_start_selection()
667 cb->min_col = 0; in clip_start_selection()
668 cb->max_col = screen_Columns; in clip_start_selection()
669 cb->min_row = 0; in clip_start_selection()
670 cb->max_row = screen_Rows; in clip_start_selection()
676 if (++cb->mode > SELECT_MODE_LINE) in clip_start_selection()
677 cb->mode = SELECT_MODE_CHAR; in clip_start_selection()
680 cb->mode = SELECT_MODE_CHAR; in clip_start_selection()
688 switch (cb->mode) in clip_start_selection()
691 cb->origin_start_col = cb->start.col; in clip_start_selection()
692 cb->word_end_col = clip_get_line_end(cb, (int)cb->start.lnum); in clip_start_selection()
696 clip_get_word_boundaries(cb, (int)cb->start.lnum, cb->start.col); in clip_start_selection()
697 cb->origin_start_col = cb->word_start_col; in clip_start_selection()
698 cb->origin_end_col = cb->word_end_col; in clip_start_selection()
700 clip_invert_area(cb, (int)cb->start.lnum, cb->word_start_col, in clip_start_selection()
701 (int)cb->end.lnum, cb->word_end_col, CLIP_SET); in clip_start_selection()
702 cb->start.col = cb->word_start_col; in clip_start_selection()
703 cb->end.col = cb->word_end_col; in clip_start_selection()
707 clip_invert_area(cb, (int)cb->start.lnum, 0, (int)cb->start.lnum, in clip_start_selection()
709 cb->start.col = 0; in clip_start_selection()
710 cb->end.col = Columns; in clip_start_selection()
714 cb->prev = cb->start; in clip_start_selection()
717 printf("Selection started at (%ld,%d)\n", cb->start.lnum, cb->start.col); in clip_start_selection()
731 Clipboard_T *cb = &clip_star; in clip_process_selection() local
737 if (cb->state != SELECT_IN_PROGRESS) in clip_process_selection()
741 if (cb->start.lnum == cb->end.lnum && cb->start.col == cb->end.col) in clip_process_selection()
747 cb->state = SELECT_CLEARED; in clip_process_selection()
752 printf("Selection ended: (%ld,%d) to (%ld,%d)\n", cb->start.lnum, in clip_process_selection()
753 cb->start.col, cb->end.lnum, cb->end.col); in clip_process_selection()
767 cb->state = SELECT_DONE; in clip_process_selection()
775 if (col == (int)cb->prev.col && row == cb->prev.lnum && !repeated_click) in clip_process_selection()
782 if (cb->state == SELECT_DONE && button == MOUSE_RIGHT) in clip_process_selection()
789 if (clip_compare_pos(row, col, (int)cb->start.lnum, cb->start.col) < 0 in clip_process_selection()
791 (int)cb->end.lnum, cb->end.col) < 0 in clip_process_selection()
792 && (((cb->start.lnum == cb->end.lnum in clip_process_selection()
793 && cb->end.col - col > col - cb->start.col)) in clip_process_selection()
794 || ((diff = (cb->end.lnum - row) - in clip_process_selection()
795 (row - cb->start.lnum)) > 0 in clip_process_selection()
796 || (diff == 0 && col < (int)(cb->start.col + in clip_process_selection()
797 cb->end.col) / 2))))) in clip_process_selection()
799 cb->origin_row = (short_u)cb->end.lnum; in clip_process_selection()
800 cb->origin_start_col = cb->end.col - 1; in clip_process_selection()
801 cb->origin_end_col = cb->end.col; in clip_process_selection()
805 cb->origin_row = (short_u)cb->start.lnum; in clip_process_selection()
806 cb->origin_start_col = cb->start.col; in clip_process_selection()
807 cb->origin_end_col = cb->start.col; in clip_process_selection()
809 if (cb->mode == SELECT_MODE_WORD && !repeated_click) in clip_process_selection()
810 cb->mode = SELECT_MODE_CHAR; in clip_process_selection()
814 cb->state = SELECT_IN_PROGRESS; in clip_process_selection()
820 if (repeated_click && ++cb->mode > SELECT_MODE_LINE) in clip_process_selection()
821 cb->mode = SELECT_MODE_CHAR; in clip_process_selection()
823 switch (cb->mode) in clip_process_selection()
827 if (row != cb->prev.lnum) in clip_process_selection()
828 cb->word_end_col = clip_get_line_end(cb, row); in clip_process_selection()
831 if (clip_compare_pos(row, col, cb->origin_row, in clip_process_selection()
832 cb->origin_start_col) >= 0) in clip_process_selection()
834 if (col >= (int)cb->word_end_col) in clip_process_selection()
835 clip_update_modeless_selection(cb, cb->origin_row, in clip_process_selection()
836 cb->origin_start_col, row, (int)Columns); in clip_process_selection()
841 clip_update_modeless_selection(cb, cb->origin_row, in clip_process_selection()
842 cb->origin_start_col, row, col + slen); in clip_process_selection()
848 && mb_lefthalve(cb->origin_row, cb->origin_start_col)) in clip_process_selection()
850 if (col >= (int)cb->word_end_col) in clip_process_selection()
851 clip_update_modeless_selection(cb, row, cb->word_end_col, in clip_process_selection()
852 cb->origin_row, cb->origin_start_col + slen); in clip_process_selection()
854 clip_update_modeless_selection(cb, row, col, in clip_process_selection()
855 cb->origin_row, cb->origin_start_col + slen); in clip_process_selection()
861 if (row == cb->prev.lnum && col >= (int)cb->word_start_col in clip_process_selection()
862 && col < (int)cb->word_end_col && !repeated_click) in clip_process_selection()
866 clip_get_word_boundaries(cb, row, col); in clip_process_selection()
869 if (clip_compare_pos(row, col, cb->origin_row, in clip_process_selection()
870 cb->origin_start_col) >= 0) in clip_process_selection()
871 clip_update_modeless_selection(cb, cb->origin_row, in clip_process_selection()
872 cb->origin_start_col, row, cb->word_end_col); in clip_process_selection()
874 clip_update_modeless_selection(cb, row, cb->word_start_col, in clip_process_selection()
875 cb->origin_row, cb->origin_end_col); in clip_process_selection()
879 if (row == cb->prev.lnum && !repeated_click) in clip_process_selection()
882 if (clip_compare_pos(row, col, cb->origin_row, in clip_process_selection()
883 cb->origin_start_col) >= 0) in clip_process_selection()
884 clip_update_modeless_selection(cb, cb->origin_row, 0, row, in clip_process_selection()
887 clip_update_modeless_selection(cb, row, 0, cb->origin_row, in clip_process_selection()
892 cb->prev.lnum = row; in clip_process_selection()
893 cb->prev.col = col; in clip_process_selection()
896 printf("Selection is: (%ld,%d) to (%ld,%d)\n", cb->start.lnum, in clip_process_selection()
897 cb->start.col, cb->end.lnum, cb->end.col); in clip_process_selection()