diff options
| -rw-r--r-- | st.c | 31 |
1 files changed, 13 insertions, 18 deletions
| @@ -653,16 +653,14 @@ selected(int x, int y) { | |||
| 653 | return BETWEEN(x, bx, ex); | 653 | return BETWEEN(x, bx, ex); |
| 654 | } | 654 | } |
| 655 | 655 | ||
| 656 | switch(sel.type) { | 656 | if(sel.type == SEL_RECTANGULAR) { |
| 657 | case SEL_REGULAR: | ||
| 658 | return ((sel.b.y < y && y < sel.e.y) | ||
| 659 | || (y == sel.e.y && x <= sel.e.x)) | ||
| 660 | || (y == sel.b.y && x >= sel.b.x | ||
| 661 | && (x <= sel.e.x || sel.b.y != sel.e.y)); | ||
| 662 | case SEL_RECTANGULAR: | ||
| 663 | return ((sel.b.y <= y && y <= sel.e.y) | 657 | return ((sel.b.y <= y && y <= sel.e.y) |
| 664 | && (sel.b.x <= x && x <= sel.e.x)); | 658 | && (sel.b.x <= x && x <= sel.e.x)); |
| 665 | }; | 659 | } |
| 660 | return ((sel.b.y < y && y < sel.e.y) | ||
| 661 | || (y == sel.e.y && x <= sel.e.x)) | ||
| 662 | || (y == sel.b.y && x >= sel.b.x | ||
| 663 | && (x <= sel.e.x || sel.b.y != sel.e.y)); | ||
| 666 | } | 664 | } |
| 667 | 665 | ||
| 668 | void | 666 | void |
| @@ -1254,8 +1252,12 @@ selscroll(int orig, int n) { | |||
| 1254 | sel.bx = -1; | 1252 | sel.bx = -1; |
| 1255 | return; | 1253 | return; |
| 1256 | } | 1254 | } |
| 1257 | switch(sel.type) { | 1255 | if(sel.type == SEL_RECTANGULAR) { |
| 1258 | case SEL_REGULAR: | 1256 | if(sel.by < term.top) |
| 1257 | sel.by = term.top; | ||
| 1258 | if(sel.ey > term.bot) | ||
| 1259 | sel.ey = term.bot; | ||
| 1260 | } else { | ||
| 1259 | if(sel.by < term.top) { | 1261 | if(sel.by < term.top) { |
| 1260 | sel.by = term.top; | 1262 | sel.by = term.top; |
| 1261 | sel.bx = 0; | 1263 | sel.bx = 0; |
| @@ -1264,14 +1266,7 @@ selscroll(int orig, int n) { | |||
| 1264 | sel.ey = term.bot; | 1266 | sel.ey = term.bot; |
| 1265 | sel.ex = term.col; | 1267 | sel.ex = term.col; |
| 1266 | } | 1268 | } |
| 1267 | break; | 1269 | } |
| 1268 | case SEL_RECTANGULAR: | ||
| 1269 | if(sel.by < term.top) | ||
| 1270 | sel.by = term.top; | ||
| 1271 | if(sel.ey > term.bot) | ||
| 1272 | sel.ey = term.bot; | ||
| 1273 | break; | ||
| 1274 | }; | ||
| 1275 | sel.b.y = sel.by, sel.b.x = sel.bx; | 1270 | sel.b.y = sel.by, sel.b.x = sel.bx; |
| 1276 | sel.e.y = sel.ey, sel.e.x = sel.ex; | 1271 | sel.e.y = sel.ey, sel.e.x = sel.ex; |
| 1277 | } | 1272 | } |
