- for(e=polygon->edges;e;e=e->next) {
- double x_min = min(e->a.x,e->b.x)*g;
- double y_min = min(e->a.y,e->b.y)*g;
- double x_max = max(e->a.x,e->b.x)*g;
- double y_max = max(e->a.y,e->b.y)*g;
- int x1 = floor(x_min);
- int y1 = floor(y_min);
- int x2 = ceil(x_max);
- int y2 = ceil(y_max);
- if(x1 < b.xmin) b.xmin = x1;
- if(y1 < b.ymin) b.ymin = y1;
- if(x2 > b.xmax) b.xmax = x2;
- if(y2 > b.ymax) b.ymax = y2;
+ int s,t;
+ for(s=0;s<polygon->num_strokes;s++) {
+ gfxpolystroke_t*stroke = &polygon->strokes[s];
+ for(t=0;t<stroke->num_points;t++) {
+ point_t p = stroke->points[t];
+ int x1 = floor(p.x);
+ int y1 = floor(p.y);
+ int x2 = ceil(p.x);
+ int y2 = ceil(p.y);
+ if(x1 < b.xmin) b.xmin = x1;
+ if(y1 < b.ymin) b.ymin = y1;
+ if(x2 > b.xmax) b.xmax = x2;
+ if(y2 > b.ymax) b.ymax = y2;
+ }