version 1.250, 2020/03/15 20:44:19 |
version 1.251, 2020/03/16 14:17:56 |
|
|
} |
} |
|
|
static void |
static void |
window_copy_synchronize_cursor_end(struct window_mode_entry *wme) |
window_copy_synchronize_cursor_end(struct window_mode_entry *wme, int begin) |
{ |
{ |
struct window_copy_mode_data *data = wme->data; |
struct window_copy_mode_data *data = wme->data; |
u_int xx, yy; |
u_int xx, yy; |
int begin = 0; |
|
|
|
yy = screen_hsize(data->backing) + data->cy - data->oy; |
yy = screen_hsize(data->backing) + data->cy - data->oy; |
switch (data->selflag) { |
switch (data->selflag) { |
case SEL_WORD: |
case SEL_WORD: |
|
begin = 0; |
xx = data->cx; |
xx = data->cx; |
if (data->ws == NULL) |
if (data->ws == NULL) |
break; |
break; |
|
|
} |
} |
break; |
break; |
case SEL_LINE: |
case SEL_LINE: |
|
begin = 0; |
if (data->dy > yy) { |
if (data->dy > yy) { |
/* Right to left selection. */ |
/* Right to left selection. */ |
xx = 0; |
xx = 0; |
|
|
|
|
switch (data->cursordrag) { |
switch (data->cursordrag) { |
case CURSORDRAG_ENDSEL: |
case CURSORDRAG_ENDSEL: |
window_copy_synchronize_cursor_end(wme); |
window_copy_synchronize_cursor_end(wme, 0); |
break; |
break; |
case CURSORDRAG_SEL: |
case CURSORDRAG_SEL: |
data->selx = data->cx; |
window_copy_synchronize_cursor_end(wme, 1); |
data->sely = screen_hsize(data->backing) + data->cy - data->oy; |
|
break; |
break; |
case CURSORDRAG_NONE: |
case CURSORDRAG_NONE: |
break; |
break; |