summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornoname <noname@inventati.org>2014-04-27 15:16:41 +0400
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2014-04-28 18:49:45 +0200
commit5f91983541014d34274087dbf723b48551f90fc0 (patch)
tree1682405efa6bc981c8753bf412e403a6dd245957
parent9e3e8ce4661d31629f9d4862467b2fb21c628e38 (diff)
Simplify selected().
-rw-r--r--st.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/st.c b/st.c
index 672c47a..5198749 100644
--- a/st.c
+++ b/st.c
@@ -674,18 +674,13 @@ selsort(void) {
static inline bool
selected(int x, int y) {
- if(sel.ne.y == y && sel.nb.y == y)
- return BETWEEN(x, sel.nb.x, sel.ne.x);
+ if(sel.type == SEL_RECTANGULAR)
+ return BETWEEN(y, sel.nb.y, sel.ne.y)
+ && BETWEEN(x, sel.nb.x, sel.ne.x);
- if(sel.type == SEL_RECTANGULAR) {
- return ((sel.nb.y <= y && y <= sel.ne.y)
- && (sel.nb.x <= x && x <= sel.ne.x));
- }
-
- return ((sel.nb.y < y && y < sel.ne.y)
- || (y == sel.ne.y && x <= sel.ne.x))
- || (y == sel.nb.y && x >= sel.nb.x
- && (x <= sel.ne.x || sel.nb.y != sel.ne.y));
+ return BETWEEN(y, sel.nb.y, sel.ne.y)
+ && (y != sel.nb.y || x >= sel.nb.x)
+ && (y != sel.ne.y || x <= sel.ne.x);
}
void