ref: 97a5e60d0ea308c82500dfeea66e5617bf6d5fa7
dir: /sys/src/libdraw/rectclip.c/
#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; }