Index: src/obj_text.c =================================================================== --- src/obj_text.c (revision 36695) +++ src/obj_text.c (revision 36696) @@ -1154,71 +1154,6 @@ /*** draw ***/ #define MAX_SIMPLE_POLY_POINTS 256 -static void draw_text_poly(pcb_draw_info_t *info, pcb_poly_t *poly, pcb_xform_mx_t mx, rnd_coord_t xo, int xordraw, int thindraw, rnd_coord_t xordx, rnd_coord_t xordy, pcb_draw_text_cb cb, void *cb_ctx) -{ - rnd_coord_t x[MAX_SIMPLE_POLY_POINTS], y[MAX_SIMPLE_POLY_POINTS]; - int max, n; - rnd_point_t *p; - - max = poly->PointN; - if (max > MAX_SIMPLE_POLY_POINTS) { - max = MAX_SIMPLE_POLY_POINTS; - } - - /* transform each coordinate */ - for(n = 0, p = poly->Points; n < max; n++,p++) { - x[n] = rnd_round(pcb_xform_x(mx, p->X + xo, p->Y)); - y[n] = rnd_round(pcb_xform_y(mx, p->X + xo, p->Y)); - } - - if ((info != NULL) && (info->xform != NULL) && (info->xform->bloat != 0)) { - rnd_polo_t *p, pp[MAX_SIMPLE_POLY_POINTS]; - double a2, dv; - for(n = 0, p = pp; n < max; n++,p++) { - p->x = x[n]; - p->y = y[n]; - } - rnd_polo_norms(pp, max); - a2 = rnd_polo_2area(pp, max); - if (a2 < 0) - dv = -0.5; - else - dv = 0.5; - rnd_polo_offs(info->xform->bloat*dv, pp, max); - for(n = 0, p = pp; n < max; n++,p++) { - x[n] = rnd_round(p->x); - y[n] = rnd_round(p->y); - } - } - - if (cb != NULL) { - pcb_poly_t po; - rnd_point_t pt[MAX_SIMPLE_POLY_POINTS]; - - memset(&po, 0, sizeof(po)); - po.type = PCB_OBJ_POLY; - po.PointN = max; - po.Points = pt; - for(n = 0, p = po.Points; n < max; n++,p++) { - p->X = x[n]; - p->Y = y[n]; - } - - cb(cb_ctx, (pcb_any_obj_t *)&po); - return; - } - - - if (xordraw || thindraw) { - rnd_hid_gc_t gc = xordraw ? pcb_crosshair.GC : pcb_draw_out.fgGC; - for(n = 1, p = poly->Points+1; n < max; n++,p++) - rnd_render->draw_line(gc, xordx + x[n-1], xordy + y[n-1], xordx + x[n], xordy + y[n]); - rnd_render->draw_line(gc, xordx + x[0], xordy + y[0], xordx + x[max-1], xordy + y[max-1]); - } - else - rnd_render->fill_polygon(pcb_draw_out.fgGC, poly->PointN, x, y); -} - static void font_draw_atom(void *cb_ctx, const rnd_glyph_atom_t *a) { pcb_draw_info_t *info = cb_ctx;