-static inline void gfxpoly_add_segment(segment_t**list, double _x1, double _y1, double _x2, double _y2)
+static edge_t*edge_new(int x1, int y1, int x2, int y2)
+{
+ edge_t*s = malloc(sizeof(edge_t));
+ s->a.x = x1;
+ s->a.y = y1;
+ s->b.x = x2;
+ s->b.y = y2;
+ s->next = 0;
+ return s;
+}
+
+static inline void gfxpoly_add_edge(edge_t**list, double _x1, double _y1, double _x2, double _y2)