int polygon_nr = 0;
int s,t;
- for(s=0;s<polygon->num_strokes;s++) {
- gfxpolystroke_t*stroke = &polygon->strokes[s];
+ gfxpolystroke_t*stroke = polygon->strokes;
+ for(;stroke;stroke=stroke->next) {
for(t=0;t<stroke->num_points-1;t++) {
point_t a = stroke->points[t];
point_t b = stroke->points[t+1];
}
if(fill.is_filled && lastx!=buf->width) {
/* we're bleeding, fill over padding, too. */
- fprintf(stderr, "Polygon %08x is bleeding in line %d\n", polygon, y);
+ fprintf(stderr, "Polygon %08x is bleeding in line %d\n", (int)polygon, y);
fill_bitwise(line, lastx, width8*8);
assert(line[width8-1]&0x01);
bleeding = 1;
#define MAX_WIDTH 8192
#define MAX_HEIGHT 4096
-static inline max(double a, double b) {return a>b?a:b;}
-static inline min(double a, double b) {return a<b?a:b;}
+static inline double max(double a, double b) {return a>b?a:b;}
+static inline double min(double a, double b) {return a<b?a:b;}
static int adjust_x(int xmin, int xmax)
{
double g = zoom*polygon->gridsize;
- if(polygon->num_strokes && polygon->strokes[0].num_points) {
- b.xmin = polygon->strokes[0].points[0].x*g;
- b.ymin = polygon->strokes[0].points[0].y*g;
- b.xmax = polygon->strokes[0].points[0].x*g;
- b.ymax = polygon->strokes[0].points[0].y*g;
+ if(polygon->strokes && polygon->strokes->num_points) {
+ b.xmin = polygon->strokes->points[0].x*g;
+ b.ymin = polygon->strokes->points[0].y*g;
+ b.xmax = polygon->strokes->points[0].x*g;
+ b.ymax = polygon->strokes->points[0].y*g;
}
int s,t;
- for(s=0;s<polygon->num_strokes;s++) {
- gfxpolystroke_t*stroke = &polygon->strokes[s];
+ gfxpolystroke_t*stroke = polygon->strokes;
+ for(;stroke;stroke=stroke->next) {
for(t=0;t<stroke->num_points;t++) {
point_t p = stroke->points[t];
int x1 = floor(p.x);