module Rects where import Geometry --newtype Region = Region [Rect] intersectRects rs (Rect p2 s2) = ir rs where br2 = p2+s2 ir [] = [] ir (Rect p1 s1:es) = let ul = pmax p1 p2 br = pmin (p1+s1) br2 s@(Point w h) = br-ul in if w<=0 || h<=0 then ir es else Rect ul s:ir es overlaps (Rect (Point x1 y1) (Point w1 h1)) (Rect (Point x2 y2) (Point w2 h2)) = x1