Index: trunk/src/obj_arc_ui.c =================================================================== --- trunk/src/obj_arc_ui.c (revision 5280) +++ trunk/src/obj_arc_ui.c (revision 5281) @@ -27,6 +27,8 @@ #include "config.h" #include "obj_arc_ui.h" +#include "obj_arc.h" +#include "box.h" #include @@ -35,3 +37,17 @@ fprintf(stderr, "Moving arc endpoint: not yet implemented\n"); } +int pcb_obj_ui_arc_point_bbox(int Type, void *Ptr1, void *Ptr2, void *Ptr3, pcb_box_t *res) +{ + pcb_arc_t *arc = Ptr2; + int *end_pt = Ptr3; + pcb_box_t *ends = pcb_arc_get_ends(arc); + + if (end_pt == NULL) + *res = pcb_point_box(ends->X1, ends->Y1); + else + *res = pcb_point_box(ends->X2, ends->Y2); + + return 0; +} + Index: trunk/src/obj_arc_ui.h =================================================================== --- trunk/src/obj_arc_ui.h (revision 5280) +++ trunk/src/obj_arc_ui.h (revision 5281) @@ -27,4 +27,5 @@ #include "crosshair.h" void pcb_arc_ui_move_or_copy(pcb_crosshair_t *ch); +int pcb_obj_ui_arc_point_bbox(int Type, void *Ptr1, void *Ptr2, void *Ptr3, pcb_box_t *res); Index: trunk/src/obj_common.c =================================================================== --- trunk/src/obj_common.c (revision 5280) +++ trunk/src/obj_common.c (revision 5281) @@ -59,7 +59,7 @@ *res = *(pcb_box_t *)Ptr3; return 0; case PCB_TYPE_ARC_POINT: -/* abort();*/ + return pcb_obj_ui_arc_point_bbox(Type, Ptr1, Ptr2, Ptr3, res); default: pcb_message(PCB_MSG_DEFAULT, "Request for bounding box of unsupported type %d\n", Type); *res = *(pcb_box_t *)Ptr2;