io/router: return boolean expressions directly

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-05-11 11:57:37 +02:00
parent 73475270fe
commit a046f15156
+3 -11
View File
@@ -330,12 +330,8 @@ func (op *areaOp) Hit(pos f32.Point) bool {
size := op.rect.Size() size := op.rect.Size()
switch op.kind { switch op.kind {
case areaRect: case areaRect:
if 0 <= pos.X && pos.X < float32(size.X) && return 0 <= pos.X && pos.X < float32(size.X) &&
0 <= pos.Y && pos.Y < float32(size.Y) { 0 <= pos.Y && pos.Y < float32(size.Y)
return true
} else {
return false
}
case areaEllipse: case areaEllipse:
rx := float32(size.X) / 2 rx := float32(size.X) / 2
ry := float32(size.Y) / 2 ry := float32(size.Y) / 2
@@ -343,11 +339,7 @@ func (op *areaOp) Hit(pos f32.Point) bool {
ry2 := ry * ry ry2 := ry * ry
xh := pos.X - rx xh := pos.X - rx
yk := pos.Y - ry yk := pos.Y - ry
if xh*xh*ry2+yk*yk*rx2 <= rx2*ry2 { return xh*xh*ry2+yk*yk*rx2 <= rx2*ry2
return true
} else {
return false
}
default: default:
panic("invalid area kind") panic("invalid area kind")
} }