Index: trunk/doc-rnd/hacking/renames =================================================================== --- trunk/doc-rnd/hacking/renames (revision 4933) +++ trunk/doc-rnd/hacking/renames (revision 4934) @@ -517,3 +517,6 @@ GetTextMemory -> pcb_text_alloc RemoveFreeText -> pcb_text_free CreateNewText -> pcb_text_new +pcb_arc_new -> pcb_arc_alloc +CreateNewArcOnLayer -> pcb_arc_new +RemoveArc -> pcb_arc_destroy Index: trunk/src/action_helper.c =================================================================== --- trunk/src/action_helper.c (revision 4933) +++ trunk/src/action_helper.c (revision 4934) @@ -651,7 +651,7 @@ dir = (PCB_SGNZ(wx) == PCB_SGNZ(wy)) ? -90 : 90; wy = wx; } - if (coord_abs(wy) > 0 && (arc = CreateNewArcOnLayer(CURRENT, + if (coord_abs(wy) > 0 && (arc = pcb_arc_new(CURRENT, Crosshair.AttachedBox.Point2.X, Crosshair.AttachedBox.Point2.Y, coord_abs(wy), Index: trunk/src/obj_arc.c =================================================================== --- trunk/src/obj_arc.c (revision 4933) +++ trunk/src/obj_arc.c (revision 4934) @@ -45,7 +45,7 @@ #include "obj_arc_draw.h" -pcb_arc_t *pcb_arc_new(pcb_layer_t * layer) +pcb_arc_t *pcb_arc_alloc(pcb_layer_t * layer) { pcb_arc_t *new_obj; @@ -172,7 +172,7 @@ /* creates a new arc on a layer */ -pcb_arc_t *CreateNewArcOnLayer(pcb_layer_t *Layer, pcb_coord_t X1, pcb_coord_t Y1, pcb_coord_t width, pcb_coord_t height, pcb_angle_t sa, pcb_angle_t dir, pcb_coord_t Thickness, pcb_coord_t Clearance, pcb_flag_t Flags) +pcb_arc_t *pcb_arc_new(pcb_layer_t *Layer, pcb_coord_t X1, pcb_coord_t Y1, pcb_coord_t width, pcb_coord_t height, pcb_angle_t sa, pcb_angle_t dir, pcb_coord_t Thickness, pcb_coord_t Clearance, pcb_flag_t Flags) { pcb_arc_t *Arc; @@ -183,7 +183,7 @@ return (NULL); /* prevent stacked arcs */ } END_LOOP; - Arc = pcb_arc_new(Layer); + Arc = pcb_arc_alloc(Layer); if (!Arc) return (Arc); @@ -225,7 +225,7 @@ { pcb_layer_t *layer = &ctx->buffer.dst->Layer[GetLayerNumber(ctx->buffer.src, Layer)]; - return (CreateNewArcOnLayer(layer, Arc->X, Arc->Y, + return (pcb_arc_new(layer, Arc->X, Arc->Y, Arc->Width, Arc->Height, Arc->StartAngle, Arc->Delta, Arc->Thickness, Arc->Clearance, pcb_flag_mask(Arc->Flags, PCB_FLAG_FOUND | ctx->buffer.extraflg))); } @@ -417,7 +417,7 @@ { pcb_arc_t *arc; - arc = CreateNewArcOnLayer(Layer, Arc->X + ctx->copy.DeltaX, + arc = pcb_arc_new(Layer, Arc->X + ctx->copy.DeltaX, Arc->Y + ctx->copy.DeltaY, Arc->Width, Arc->Height, Arc->StartAngle, Arc->Delta, Arc->Thickness, Arc->Clearance, pcb_flag_mask(Arc->Flags, PCB_FLAG_FOUND)); if (!arc) @@ -511,7 +511,7 @@ return NULL; } -void *RemoveArc(pcb_layer_t *Layer, pcb_arc_t *Arc) +void *pcb_arc_destroy(pcb_layer_t *Layer, pcb_arc_t *Arc) { pcb_opctx_t ctx; Index: trunk/src/obj_arc.h =================================================================== --- trunk/src/obj_arc.h (revision 4933) +++ trunk/src/obj_arc.h (revision 4934) @@ -40,23 +40,23 @@ gdl_elem_t link; /* an arc is in a list: either on a layer or in an element */ }; - /*** Memory ***/ -pcb_arc_t *pcb_arc_new(pcb_layer_t *); -pcb_arc_t *pcb_element_arc_new(pcb_element_t *Element); +pcb_arc_t *pcb_arc_alloc(pcb_layer_t *); void pcb_arc_free(pcb_arc_t *data); +pcb_arc_t *pcb_element_arc_new(pcb_element_t *Element); +pcb_arc_t *pcb_arc_new(pcb_layer_t *Layer, pcb_coord_t X1, pcb_coord_t Y1, pcb_coord_t width, pcb_coord_t height, pcb_angle_t sa, pcb_angle_t dir, pcb_coord_t Thickness, pcb_coord_t Clearance, pcb_flag_t Flags); +void *pcb_arc_destroy(pcb_layer_t *Layer, pcb_arc_t *Arc); + +/* Add objects without creating them or making any "sanity modifications" to them */ +void pcb_add_arc_on_layer(pcb_layer_t *Layer, pcb_arc_t *Arc); + + /*** Utility ***/ void SetArcBoundingBox(pcb_arc_t *Arc); pcb_box_t *GetArcEnds(pcb_arc_t *Arc); void ChangeArcAngles(pcb_layer_t *Layer, pcb_arc_t *a, pcb_angle_t new_sa, pcb_angle_t new_da); void ChangeArcRadii(pcb_layer_t *Layer, pcb_arc_t *a, pcb_coord_t new_width, pcb_coord_t new_height); -void *RemoveArc(pcb_layer_t *Layer, pcb_arc_t *Arc); -pcb_arc_t *CreateNewArcOnLayer(pcb_layer_t *Layer, pcb_coord_t X1, pcb_coord_t Y1, pcb_coord_t width, pcb_coord_t height, pcb_angle_t sa, pcb_angle_t dir, pcb_coord_t Thickness, pcb_coord_t Clearance, pcb_flag_t Flags); - -/* Add objects without creating them or making any "sanity modifications" to them */ -void pcb_add_arc_on_layer(pcb_layer_t *Layer, pcb_arc_t *Arc); - void RotateArcLowLevel(pcb_arc_t *Arc, pcb_coord_t X, pcb_coord_t Y, unsigned Number); #define MOVE_ARC_LOWLEVEL(a,dx,dy) \ Index: trunk/src/obj_elem.c =================================================================== --- trunk/src/obj_elem.c (revision 4933) +++ trunk/src/obj_elem.c (revision 4934) @@ -190,7 +190,7 @@ END_LOOP; ARC_LOOP(element); { - CreateNewArcOnLayer(&Buffer->Data->SILKLAYER, + pcb_arc_new(&Buffer->Data->SILKLAYER, arc->X, arc->Y, arc->Width, arc->Height, arc->StartAngle, arc->Delta, arc->Thickness, 0, pcb_no_flags()); } END_LOOP; Index: trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/layout/create.c =================================================================== --- trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/layout/create.c (revision 4933) +++ trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/layout/create.c (revision 4934) @@ -104,7 +104,7 @@ static void *layout_create_arc_(int x, int y, int width, int height, int sa, int dir, int thickness, int clearance, multiple layout_flag_t flags) { void *arc; - arc = CreateNewArcOnLayer (CURRENT, x, y, width, height, sa, dir, thickness, clearance, get_flags(flags)); + arc = pcb_arc_new(CURRENT, x, y, width, height, sa, dir, thickness, clearance, get_flags(flags)); if (arc != NULL) { AddObjectToCreateUndoList (PCB_TYPE_ARC, CURRENT, arc, arc); return 0; Index: trunk/src_plugins/hid_gtk/ghid-propedit.c =================================================================== --- trunk/src_plugins/hid_gtk/ghid-propedit.c (revision 4933) +++ trunk/src_plugins/hid_gtk/ghid-propedit.c (revision 4934) @@ -340,7 +340,7 @@ PCB_MIL_TO_COORD(1000), PCB_MIL_TO_COORD(1300), PCB_MIL_TO_COORD(20), PCB_MIL_TO_COORD(20), pcb_flag_make(PCB_FLAG_CLEARLINE)); - CreateNewArcOnLayer(preview_pcb.Data->Layer+0, + pcb_arc_new(preview_pcb.Data->Layer+0, PCB_MIL_TO_COORD(1000), PCB_MIL_TO_COORD(1000), PCB_MIL_TO_COORD(100), PCB_MIL_TO_COORD(100), 0.0, 90.0, Index: trunk/src_plugins/io_kicad/read.c =================================================================== --- trunk/src_plugins/io_kicad/read.c (revision 4933) +++ trunk/src_plugins/io_kicad/read.c (revision 4934) @@ -612,7 +612,7 @@ startAngle = 180*atan2(endY - centreY, endX - centreX)/M_PI; /* avoid using atan2 with zero parameters */ } - CreateNewArcOnLayer( &st->PCB->Data->Layer[PCBLayer], centreX, centreY, width, height, startAngle, -delta, Thickness, Clearance, Flags); + pcb_arc_new( &st->PCB->Data->Layer[PCBLayer], centreX, centreY, width, height, startAngle, -delta, Thickness, Clearance, Flags); return 0; } return -1; Index: trunk/src_plugins/io_lihata/read.c =================================================================== --- trunk/src_plugins/io_lihata/read.c (revision 4933) +++ trunk/src_plugins/io_lihata/read.c (revision 4934) @@ -409,7 +409,7 @@ pcb_arc_t *arc; if (ly != NULL) - arc = pcb_arc_new(ly); + arc = pcb_arc_alloc(ly); else if (el != NULL) arc = pcb_element_arc_new(el); else Index: trunk/src_plugins/io_pcb/parse_y.c =================================================================== --- trunk/src_plugins/io_pcb/parse_y.c (revision 4933) +++ trunk/src_plugins/io_pcb/parse_y.c (revision 4934) @@ -2282,7 +2282,7 @@ case 95: #line 1013 "parse_y.y" /* yacc.c:1646 */ { - CreateNewArcOnLayer(Layer, NU ((yyvsp[-9].measure)), NU ((yyvsp[-8].measure)), NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), (yyvsp[-3].number), (yyvsp[-2].number), + pcb_arc_new(Layer, NU ((yyvsp[-9].measure)), NU ((yyvsp[-8].measure)), NU ((yyvsp[-7].measure)), NU ((yyvsp[-6].measure)), (yyvsp[-3].number), (yyvsp[-2].number), NU ((yyvsp[-5].measure)), NU ((yyvsp[-4].measure)), (yyvsp[-1].flagtype)); } #line 2289 "parse_y.c" /* yacc.c:1646 */ @@ -2291,7 +2291,7 @@ case 96: #line 1022 "parse_y.y" /* yacc.c:1646 */ { - CreateNewArcOnLayer(Layer, OU ((yyvsp[-9].measure)), OU ((yyvsp[-8].measure)), OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), (yyvsp[-3].number), (yyvsp[-2].number), + pcb_arc_new(Layer, OU ((yyvsp[-9].measure)), OU ((yyvsp[-8].measure)), OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), (yyvsp[-3].number), (yyvsp[-2].number), OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), pcb_flag_old((yyvsp[-1].integer))); } #line 2298 "parse_y.c" /* yacc.c:1646 */ @@ -2300,7 +2300,7 @@ case 97: #line 1031 "parse_y.y" /* yacc.c:1646 */ { - CreateNewArcOnLayer(Layer, OU ((yyvsp[-8].measure)), OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-6].measure)), IV ((yyvsp[-3].measure)), (yyvsp[-2].number), + pcb_arc_new(Layer, OU ((yyvsp[-8].measure)), OU ((yyvsp[-7].measure)), OU ((yyvsp[-6].measure)), OU ((yyvsp[-6].measure)), IV ((yyvsp[-3].measure)), (yyvsp[-2].number), OU ((yyvsp[-4].measure)), 200*GROUNDPLANEFRAME, pcb_flag_old((yyvsp[-1].integer))); } #line 2307 "parse_y.c" /* yacc.c:1646 */ Index: trunk/src_plugins/io_pcb/parse_y.y =================================================================== --- trunk/src_plugins/io_pcb/parse_y.y (revision 4933) +++ trunk/src_plugins/io_pcb/parse_y.y (revision 4934) @@ -1011,7 +1011,7 @@ /* x, y, width, height, thickness, clearance, startangle, delta, flags */ : T_ARC '[' measure measure measure measure measure measure number number flags ']' { - CreateNewArcOnLayer(Layer, NU ($3), NU ($4), NU ($5), NU ($6), $9, $10, + pcb_arc_new(Layer, NU ($3), NU ($4), NU ($5), NU ($6), $9, $10, NU ($7), NU ($8), $11); } ; @@ -1020,7 +1020,7 @@ /* x, y, width, height, thickness, clearance, startangle, delta, flags */ : T_ARC '(' measure measure measure measure measure measure number number INTEGER ')' { - CreateNewArcOnLayer(Layer, OU ($3), OU ($4), OU ($5), OU ($6), $9, $10, + pcb_arc_new(Layer, OU ($3), OU ($4), OU ($5), OU ($6), $9, $10, OU ($7), OU ($8), pcb_flag_old($11)); } ; @@ -1029,7 +1029,7 @@ /* x, y, width, height, thickness, startangle, delta, flags */ : T_ARC '(' measure measure measure measure measure measure number INTEGER ')' { - CreateNewArcOnLayer(Layer, OU ($3), OU ($4), OU ($5), OU ($5), IV ($8), $9, + pcb_arc_new(Layer, OU ($3), OU ($4), OU ($5), OU ($5), IV ($8), $9, OU ($7), 200*GROUNDPLANEFRAME, pcb_flag_old($10)); } ; Index: trunk/src_plugins/puller/puller.c =================================================================== --- trunk/src_plugins/puller/puller.c (revision 4933) +++ trunk/src_plugins/puller/puller.c (revision 4934) @@ -1651,9 +1651,9 @@ #if TRACE1 pcb_printf("create_arc at %#mD r %#mS sa %d delta %d\n", x, y, r, sa, da); #endif - arc = CreateNewArcOnLayer(CURRENT, x, y, r, r, sa, da, sample->Thickness, sample->Clearance, sample->Flags); + arc = pcb_arc_new(CURRENT, x, y, r, r, sa, da, sample->Thickness, sample->Clearance, sample->Flags); if (arc == 0) { - arc = CreateNewArcOnLayer(CURRENT, x, y, r, r, sa, da * 2, sample->Thickness, sample->Clearance, sample->Flags); + arc = pcb_arc_new(CURRENT, x, y, r, r, sa, da * 2, sample->Thickness, sample->Clearance, sample->Flags); } AddObjectToCreateUndoList(PCB_TYPE_ARC, CURRENT, arc, arc); @@ -2362,7 +2362,7 @@ ARC_LOOP(CURRENT); { if (ARC2EXTRA(arc)->deleted) - RemoveArc(CURRENT, arc); + pcb_arc_destroy(CURRENT, arc); } END_LOOP; Index: trunk/src_plugins/teardrops/teardrops.c =================================================================== --- trunk/src_plugins/teardrops/teardrops.c (revision 4933) +++ trunk/src_plugins/teardrops/teardrops.c (revision 4934) @@ -169,7 +169,7 @@ ax = lx - dy * adist; ay = ly + dx * adist; - arc = CreateNewArcOnLayer(lay, (int) ax, (int) ay, (int) radius, + arc = pcb_arc_new(lay, (int) ax, (int) ay, (int) radius, (int) radius, (int) theta + 90 + aoffset, delta - aoffset, l->Thickness, l->Clearance, l->Flags); if (arc) AddObjectToCreateUndoList(PCB_TYPE_ARC, lay, arc, arc); @@ -177,7 +177,7 @@ ax = lx + dy * (x + t); ay = ly - dx * (x + t); - arc = CreateNewArcOnLayer(lay, (int) ax, (int) ay, (int) radius, + arc = pcb_arc_new(lay, (int) ax, (int) ay, (int) radius, (int) radius, (int) theta - 90 - aoffset, -delta + aoffset, l->Thickness, l->Clearance, l->Flags); if (arc) AddObjectToCreateUndoList(PCB_TYPE_ARC, lay, arc, arc); Index: trunk/src_plugins/toporouter/toporouter.c =================================================================== --- trunk/src_plugins/toporouter/toporouter.c (revision 4933) +++ trunk/src_plugins/toporouter/toporouter.c (revision 4934) @@ -5579,7 +5579,7 @@ if (da > 359. || da < -359.) return 0.; - arc = CreateNewArcOnLayer(LAYER_PTR(layer), vx(a->centre), vy(a->centre), a->r, a->r, + arc = pcb_arc_new(LAYER_PTR(layer), vx(a->centre), vy(a->centre), a->r, a->r, sa, da, thickness, clearance, pcb_flag_make(PCB_FLAG_AUTO | (PCB_FLAG_TEST(CLEARNEWFLAG, PCB) ? PCB_FLAG_CLEARLINE : 0)));