|  | #include <u.h> | 
|  | #include <libc.h> | 
|  | #include <draw.h> | 
|  |  | 
|  | int | 
|  | rectclip(Rectangle *rp, Rectangle b)		/* first by reference, second by value */ | 
|  | { | 
|  | Rectangle *bp = &b; | 
|  | /* | 
|  | * Expand rectXrect() in line for speed | 
|  | */ | 
|  | if((rp->min.x<bp->max.x && bp->min.x<rp->max.x && | 
|  | rp->min.y<bp->max.y && bp->min.y<rp->max.y)==0) | 
|  | return 0; | 
|  | /* They must overlap */ | 
|  | if(rp->min.x < bp->min.x) | 
|  | rp->min.x = bp->min.x; | 
|  | if(rp->min.y < bp->min.y) | 
|  | rp->min.y = bp->min.y; | 
|  | if(rp->max.x > bp->max.x) | 
|  | rp->max.x = bp->max.x; | 
|  | if(rp->max.y > bp->max.y) | 
|  | rp->max.y = bp->max.y; | 
|  | return 1; | 
|  | } |