merge master

This commit is contained in:
faiface 2017-07-13 01:24:50 +02:00
commit 52b52e4eca
1 changed files with 4 additions and 2 deletions

View File

@ -268,12 +268,14 @@ func (r Rect) Union(s Rect) Rect {
}
// Intersect returns the maximal Rect which is covered by both r and s. Rects r and s must be normalized.
//
// If r and s don't overlap, this function returns R(0, 0, 0, 0).
func (r Rect) Intersect(s Rect) Rect {
t := R(
math.Min(r.Max.X, s.Max.X),
math.Min(r.Max.Y, s.Max.Y),
math.Max(r.Min.X, s.Min.X),
math.Max(r.Min.Y, s.Min.Y),
math.Min(r.Max.X, s.Max.X),
math.Min(r.Max.Y, s.Max.Y),
)
if t.Min.X >= t.Max.X || t.Min.Y >= t.Max.Y {
return Rect{}