diff options
author | Christoph Lohmann <20h@r-36.net> | 2013-03-29 18:39:01 +0100 |
---|---|---|
committer | Christoph Lohmann <20h@r-36.net> | 2013-03-29 18:39:01 +0100 |
commit | a1e3b94b374c269f9d379f40b67b8519a485b8a6 (patch) | |
tree | 2db8980eac03935bbd6836be92540a6168d55065 /st.c | |
parent | 4b17dddb104bd2ac87dd6e334aafd325197c1407 (diff) | |
download | st-a1e3b94b374c269f9d379f40b67b8519a485b8a6.tar.gz st-a1e3b94b374c269f9d379f40b67b8519a485b8a6.tar.bz2 |
Removing an undefined case. just do regular selections.
Diffstat (limited to 'st.c')
-rw-r--r-- | st.c | 31 |
1 files changed, 13 insertions, 18 deletions
@@ -653,16 +653,14 @@ selected(int x, int y) { return BETWEEN(x, bx, ex); } - switch(sel.type) { - case SEL_REGULAR: - return ((sel.b.y < y && y < sel.e.y) - || (y == sel.e.y && x <= sel.e.x)) - || (y == sel.b.y && x >= sel.b.x - && (x <= sel.e.x || sel.b.y != sel.e.y)); - case SEL_RECTANGULAR: + if(sel.type == SEL_RECTANGULAR) { return ((sel.b.y <= y && y <= sel.e.y) && (sel.b.x <= x && x <= sel.e.x)); - }; + } + return ((sel.b.y < y && y < sel.e.y) + || (y == sel.e.y && x <= sel.e.x)) + || (y == sel.b.y && x >= sel.b.x + && (x <= sel.e.x || sel.b.y != sel.e.y)); } void @@ -1254,8 +1252,12 @@ selscroll(int orig, int n) { sel.bx = -1; return; } - switch(sel.type) { - case SEL_REGULAR: + if(sel.type == SEL_RECTANGULAR) { + if(sel.by < term.top) + sel.by = term.top; + if(sel.ey > term.bot) + sel.ey = term.bot; + } else { if(sel.by < term.top) { sel.by = term.top; sel.bx = 0; @@ -1264,14 +1266,7 @@ selscroll(int orig, int n) { sel.ey = term.bot; sel.ex = term.col; } - break; - case SEL_RECTANGULAR: - if(sel.by < term.top) - sel.by = term.top; - if(sel.ey > term.bot) - sel.ey = term.bot; - break; - }; + } sel.b.y = sel.by, sel.b.x = sel.bx; sel.e.y = sel.ey, sel.e.x = sel.ex; } |