void page_box_rep::clear_incomplete ( rectangles& rs, SI pixel, int which, int i1, int i2) { (void) which; (void) i1; (void) i2; rectangle r1 (sx3 (0)- 2*pixel, sy3 (0)- 2*pixel, sx4 (0)+ 2*pixel, sy4 (0)+ 2*pixel); rectangles extra (rectangle (x1, y1, x2, y2)); // cout << "context= " << extra << "\n"; // cout << "main = " << r1 << "\n"; extra = extra - r1; if (!is_nil (decoration)) { int i, n= N (decoration); for (i=0; i<n; i++) { box b= decoration [i]; rectangle r (b->x0+ b->x3, b->y0+ b->y3, b->x0+ b->x4, b->y0+ b->y4); if ((r->x2 > r->x1) && (r->y2 > r->y1)) extra = extra - r; } // cout << "extra = " << extra << "\n"; } rs= extra * rs; }
void composite_box_rep::position () { int i, n= subnr(); if (n == 0) { x1= y1= x3= y3= 0; x2= y2= x4= y4= 0; FAILED ("empty composite box"); } else { x1= y1= x3= y3= MAX_SI; x2= y2= x4= y4= -MAX_SI; for (i=0; i<n; i++) { x1= min (x1, sx1(i)); y1= min (y1, sy1(i)); x2= max (x2, sx2(i)); y2= max (y2, sy2(i)); x3= min (x3, sx3(i)); y3= min (y3, sy3(i)); x4= max (x4, sx4(i)); y4= max (y4, sy4(i)); } } }